diff options
author | Günther Deschner <gdeschner@redhat.com> | 2012-09-14 12:06:37 +0200 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2012-10-25 15:53:31 -0400 |
commit | bb17b8618078ba68ced8f1dc077e83f1ffdb3514 (patch) | |
tree | 19264e113700e5e5be3b0c21627e2a29fdf3ac14 | |
parent | e047b7fd5c40ebe10fbf839ed1fa094e541cb4e4 (diff) | |
download | gss-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.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); |