diff options
| author | Greg Hudson <ghudson@mit.edu> | 2011-04-05 22:10:00 +0000 |
|---|---|---|
| committer | Greg Hudson <ghudson@mit.edu> | 2011-04-05 22:10:00 +0000 |
| commit | 0b43147cd2bc57bb7753c337a83440add88c869f (patch) | |
| tree | fd74337b5f80a3c40c9183bc0bec15f67d42a3a4 /src/lib/gssapi/spnego | |
| parent | 79c34ed3d829ee9e3fa64aa5b3b90b4e37514cf7 (diff) | |
gss_duplicate_name SPI for SPNEGO
Preserve attributes when duplicating a name, using the mechanism's
implementation of gss_duplicate_name if present, or a loop over
the attributes if not.
ticket: 6895
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24843 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/gssapi/spnego')
| -rw-r--r-- | src/lib/gssapi/spnego/gssapiP_spnego.h | 8 | ||||
| -rw-r--r-- | src/lib/gssapi/spnego/spnego_mech.c | 18 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/lib/gssapi/spnego/gssapiP_spnego.h b/src/lib/gssapi/spnego/gssapiP_spnego.h index 3c2edbbdd..29eabbb3c 100644 --- a/src/lib/gssapi/spnego/gssapiP_spnego.h +++ b/src/lib/gssapi/spnego/gssapiP_spnego.h @@ -223,6 +223,14 @@ OM_uint32 spnego_gss_release_name gss_name_t * /* input_name */ ); +OM_uint32 spnego_gss_duplicate_name +( + OM_uint32 *, /* minor_status */ + /* CSTYLED */ + const gss_name_t, /* input_name */ + gss_name_t * /* output_name */ +); + OM_uint32 spnego_gss_inquire_cred ( OM_uint32 *, /* minor_status */ diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c index 01fa8e276..3467ee0d7 100644 --- a/src/lib/gssapi/spnego/spnego_mech.c +++ b/src/lib/gssapi/spnego/spnego_mech.c @@ -246,6 +246,7 @@ static struct gss_config spnego_mechanism = NULL, /* gssd_pname_to_uid */ NULL, /* gss_userok */ NULL, /* gss_export_name */ + spnego_gss_duplicate_name, /* gss_duplicate_name */ NULL, /* gss_store_cred */ spnego_gss_inquire_sec_context_by_oid, /* gss_inquire_sec_context_by_oid */ spnego_gss_inquire_cred_by_oid, /* gss_inquire_cred_by_oid */ @@ -1855,6 +1856,23 @@ spnego_gss_release_name( return (status); } +/*ARGSUSED*/ +OM_uint32 +spnego_gss_duplicate_name( + OM_uint32 *minor_status, + const gss_name_t input_name, + gss_name_t *output_name) +{ + OM_uint32 status; + + dsyslog("Entering duplicate_name\n"); + + status = gss_duplicate_name(minor_status, input_name, output_name); + + dsyslog("Leaving duplicate_name\n"); + return (status); +} + OM_uint32 spnego_gss_inquire_cred( OM_uint32 *minor_status, |
