From bbd84e44a8b6a8d9e54fd8d1c53757fac189df93 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Mon, 30 Jan 2012 14:23:35 -0500 Subject: Add helper to convert an gssx name back to gss_name_t --- proxy/src/gp_conv.c | 13 +++++++++++++ proxy/src/gp_conv.h | 1 + 2 files changed, 14 insertions(+) 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); -- cgit