summaryrefslogtreecommitdiffstats
path: root/proxy
diff options
context:
space:
mode:
authorGünther Deschner <gdeschner@redhat.com>2012-09-14 12:09:58 +0200
committerSimo Sorce <simo@redhat.com>2012-10-25 15:53:31 -0400
commit0b28988be6ae5d5aeb1d13131b94be9d253fc231 (patch)
tree689971e6c9bf7f9544eec8a5e675cb740daa022c /proxy
parent1d61edb4f36bccf9f258e8723d8bd652bcf478c4 (diff)
downloadgss-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.c24
-rw-r--r--proxy/src/mechglue/gss_plugin.h4
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);