summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGünther Deschner <gdeschner@redhat.com>2012-09-14 12:06:37 +0200
committerSimo Sorce <simo@redhat.com>2012-10-25 15:53:31 -0400
commitbb17b8618078ba68ced8f1dc077e83f1ffdb3514 (patch)
tree19264e113700e5e5be3b0c21627e2a29fdf3ac14
parente047b7fd5c40ebe10fbf839ed1fa094e541cb4e4 (diff)
downloadgss-proxy-bb17b8618078ba68ced8f1dc077e83f1ffdb3514.tar.gz
gss-proxy-bb17b8618078ba68ced8f1dc077e83f1ffdb3514.tar.xz
gss-proxy-bb17b8618078ba68ced8f1dc077e83f1ffdb3514.zip
Add gpm_export_name_composite().
-rw-r--r--proxy/src/client/gpm_import_and_canon_name.c28
-rw-r--r--proxy/src/client/gssapi_gpm.h3
2 files changed, 31 insertions, 0 deletions
diff --git a/proxy/src/client/gpm_import_and_canon_name.c b/proxy/src/client/gpm_import_and_canon_name.c
index a4f9772..daeb660 100644
--- a/proxy/src/client/gpm_import_and_canon_name.c
+++ b/proxy/src/client/gpm_import_and_canon_name.c
@@ -170,6 +170,34 @@ OM_uint32 gpm_export_name(OM_uint32 *minor_status,
return GSS_S_COMPLETE;
}
+OM_uint32 gpm_export_name_composite(OM_uint32 *minor_status,
+ gssx_name *input_name,
+ gss_buffer_t exported_composite_name)
+{
+ int ret;
+
+ if (!minor_status) {
+ return GSS_S_CALL_INACCESSIBLE_WRITE;
+ }
+ *minor_status = 0;
+
+ if (!input_name) {
+ return GSS_S_CALL_INACCESSIBLE_READ;
+ }
+
+ if (input_name->exported_composite_name.octet_string_len == 0) {
+ return GSS_S_NAME_NOT_MN;
+ }
+
+ ret = gp_copy_gssx_to_buffer(&input_name->exported_composite_name,
+ exported_composite_name);
+ if (ret) {
+ *minor_status = ret;
+ return GSS_S_FAILURE;
+ }
+ return GSS_S_COMPLETE;
+}
+
OM_uint32 gpm_duplicate_name(OM_uint32 *minor_status,
gssx_name *input_name,
gssx_name **dest_name)
diff --git a/proxy/src/client/gssapi_gpm.h b/proxy/src/client/gssapi_gpm.h
index 706a6de..c2d29fc 100644
--- a/proxy/src/client/gssapi_gpm.h
+++ b/proxy/src/client/gssapi_gpm.h
@@ -146,6 +146,9 @@ OM_uint32 gpm_import_name(OM_uint32 *minor_status,
OM_uint32 gpm_export_name(OM_uint32 *minor_status,
gssx_name *input_name,
gss_buffer_t exported_name);
+OM_uint32 gpm_export_name_composite(OM_uint32 *minor_status,
+ gssx_name *input_name,
+ gss_buffer_t exported_composite_name);
OM_uint32 gpm_duplicate_name(OM_uint32 *minor_status,
gssx_name *input_name,
gssx_name **dest_name);