diff options
author | Günther Deschner <gdeschner@redhat.com> | 2012-09-14 12:06:37 +0200 |
---|---|---|
committer | Günther Deschner <gdeschner@redhat.com> | 2012-10-18 17:06:50 +0200 |
commit | eeb54f52b49dc6cef6560498425976e080e2571e (patch) | |
tree | 959a0bda8dff10da394901be8e9ad5075e2b09ed | |
parent | b1546fbe74c10b0b06a4ff0aaeef38c76120b4ad (diff) | |
download | gss-proxy-eeb54f52b49dc6cef6560498425976e080e2571e.tar.gz gss-proxy-eeb54f52b49dc6cef6560498425976e080e2571e.tar.xz gss-proxy-eeb54f52b49dc6cef6560498425976e080e2571e.zip |
Add gpm_export_name_composite().
-rw-r--r-- | proxy/src/client/gpm_import_and_canon_name.c | 28 | ||||
-rw-r--r-- | proxy/src/client/gssapi_gpm.h | 3 |
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); |