diff options
author | Günther Deschner <gdeschner@redhat.com> | 2012-09-14 12:09:58 +0200 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2012-10-25 15:53:31 -0400 |
commit | 0b28988be6ae5d5aeb1d13131b94be9d253fc231 (patch) | |
tree | 689971e6c9bf7f9544eec8a5e675cb740daa022c /proxy | |
parent | 1d61edb4f36bccf9f258e8723d8bd652bcf478c4 (diff) | |
download | gss-proxy-0b28988be6ae5d5aeb1d13131b94be9d253fc231.tar.gz gss-proxy-0b28988be6ae5d5aeb1d13131b94be9d253fc231.tar.xz gss-proxy-0b28988be6ae5d5aeb1d13131b94be9d253fc231.zip |
Implement export_name_composite
Diffstat (limited to 'proxy')
-rw-r--r-- | proxy/src/mechglue/gpp_import_and_canon_name.c | 24 | ||||
-rw-r--r-- | proxy/src/mechglue/gss_plugin.h | 4 |
2 files changed, 28 insertions, 0 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..e121782 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_name_composite(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.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); |