diff options
author | Simo Sorce <simo@redhat.com> | 2012-01-30 14:23:35 -0500 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2012-02-01 17:56:34 -0500 |
commit | bbd84e44a8b6a8d9e54fd8d1c53757fac189df93 (patch) | |
tree | 7710146aa9e430545ad84d101d324f69e1cb7104 | |
parent | b4db78e617380e5816767dfc269224431cdaf0f5 (diff) | |
download | gss-proxy-bbd84e44a8b6a8d9e54fd8d1c53757fac189df93.tar.gz gss-proxy-bbd84e44a8b6a8d9e54fd8d1c53757fac189df93.tar.xz gss-proxy-bbd84e44a8b6a8d9e54fd8d1c53757fac189df93.zip |
Add helper to convert an gssx name back to gss_name_t
-rw-r--r-- | proxy/src/gp_conv.c | 13 | ||||
-rw-r--r-- | proxy/src/gp_conv.h | 1 |
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); |