diff options
-rw-r--r-- | proxy/src/mechglue/gpp_import_and_canon_name.c | 24 | ||||
-rw-r--r-- | proxy/src/mechglue/gss_plugin.c | 1 | ||||
-rw-r--r-- | proxy/src/mechglue/gss_plugin.h | 4 |
3 files changed, 28 insertions, 1 deletions
diff --git a/proxy/src/mechglue/gpp_import_and_canon_name.c b/proxy/src/mechglue/gpp_import_and_canon_name.c index 3745d74..466803c 100644 --- a/proxy/src/mechglue/gpp_import_and_canon_name.c +++ b/proxy/src/mechglue/gpp_import_and_canon_name.c @@ -159,6 +159,30 @@ OM_uint32 gssi_export_name(OM_uint32 *minor_status, return maj; } +OM_uint32 gssi_export_composite_name(OM_uint32 *minor_status, + const gss_name_t input_name, + gss_buffer_t exported_composite_name) +{ + struct gpp_name_handle *name; + OM_uint32 maj, min = 0; + + name = (struct gpp_name_handle *)input_name; + if (!name->local && !name->remote) { + return GSS_S_BAD_NAME; + } + + if (name->local) { + maj = gss_export_name_composite(&min, name->local, + exported_composite_name); + } else { + maj = gpm_export_name_composite(&min, name->remote, + exported_composite_name); + } + + *minor_status = gpp_map_error(min); + return maj; +} + OM_uint32 gssi_duplicate_name(OM_uint32 *minor_status, const gss_name_t input_name, gss_name_t *dest_name) diff --git a/proxy/src/mechglue/gss_plugin.c b/proxy/src/mechglue/gss_plugin.c index 153d0b2..fd5d82d 100644 --- a/proxy/src/mechglue/gss_plugin.c +++ b/proxy/src/mechglue/gss_plugin.c @@ -497,6 +497,5 @@ uint32_t gpp_copy_oid(uint32_t *minor, gss_OID in, gss_OID *out) /* gssi_acquire_cred_impersonate_name gssi_add_cred_impersonate_name -gssi_export_name_composite */ diff --git a/proxy/src/mechglue/gss_plugin.h b/proxy/src/mechglue/gss_plugin.h index 15f8d76..b0388bf 100644 --- a/proxy/src/mechglue/gss_plugin.h +++ b/proxy/src/mechglue/gss_plugin.h @@ -257,6 +257,10 @@ OM_uint32 gssi_export_name(OM_uint32 *minor_status, const gss_name_t input_name, gss_buffer_t exported_name); +OM_uint32 gssi_export_name_composite(OM_uint32 *minor_status, + const gss_name_t input_name, + gss_buffer_t exported_composite_name); + OM_uint32 gssi_duplicate_name(OM_uint32 *minor_status, const gss_name_t input_name, gss_name_t *dest_name); |