summaryrefslogtreecommitdiffstats
path: root/proxy
diff options
context:
space:
mode:
Diffstat (limited to 'proxy')
-rw-r--r--proxy/src/gp_conv.c13
-rw-r--r--proxy/src/gp_conv.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/proxy/src/gp_conv.c b/proxy/src/gp_conv.c
index c0c7c70..06e0042 100644
--- a/proxy/src/gp_conv.c
+++ b/proxy/src/gp_conv.c
@@ -337,6 +337,19 @@ done:
return ret;
}
+int gp_conv_gssx_to_name(gssx_name *in, gss_name_t *out)
+{
+ uint32_t ret_min;
+ gss_buffer_desc name_buffer;
+ gss_OID_desc name_type;
+
+ gp_conv_gssx_to_oid(&in->name_type, &name_type);
+
+ gp_conv_gssx_to_buffer(&in->exported_name, &name_buffer);
+
+ return gss_import_name(&ret_min, &name_buffer, &name_type, out);
+}
+
int gp_conv_ctx_id_to_gssx(gss_ctx_id_t *in, gssx_ctx *out)
{
uint32_t ret_maj;
diff --git a/proxy/src/gp_conv.h b/proxy/src/gp_conv.h
index 343710d..20c18d5 100644
--- a/proxy/src/gp_conv.h
+++ b/proxy/src/gp_conv.h
@@ -54,6 +54,7 @@ int gp_conv_err_to_gssx_string(uint32_t status, int type, gss_OID oid,
utf8string *ret_str);
int gp_conv_name_to_gssx(gss_name_t in, gssx_name *out);
+int gp_conv_gssx_to_name(gssx_name *in, gss_name_t *out);
int gp_conv_ctx_id_to_gssx(gss_ctx_id_t *in, gssx_ctx *out);