From 9136e031772f472270a3d37732daf1c21e99e54c Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Wed, 1 Feb 2012 18:54:52 -0500 Subject: Change gssx_mechinfo We do not need provider names and paths apssed to clients. Clients have no use for such info and can be argued it is something admins do not want to disclose anyway. Add saslname extensions that were missing from the first draft. --- proxy/rpcgen/gss_proxy.h | 11 +++-------- proxy/rpcgen/gss_proxy_xdr.c | 8 ++++---- x-files/gss_proxy.x | 5 +++-- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/proxy/rpcgen/gss_proxy.h b/proxy/rpcgen/gss_proxy.h index 9986240..5cb458c 100644 --- a/proxy/rpcgen/gss_proxy.h +++ b/proxy/rpcgen/gss_proxy.h @@ -76,14 +76,9 @@ struct gssx_mech_info { gssx_OID_set known_mech_attrs; gssx_OID_set cred_options; gssx_OID_set sec_ctx_options; - struct { - u_int provider_names_len; - utf8string *provider_names_val; - } provider_names; - struct { - u_int provider_paths_len; - utf8string *provider_paths_val; - } provider_paths; + gssx_buffer saslname_sasl_mech_name; + gssx_buffer saslname_mech_name; + gssx_buffer saslname_mech_desc; struct { u_int extensions_len; gssx_typed_hole *extensions_val; diff --git a/proxy/rpcgen/gss_proxy_xdr.c b/proxy/rpcgen/gss_proxy_xdr.c index 2853939..6897766 100644 --- a/proxy/rpcgen/gss_proxy_xdr.c +++ b/proxy/rpcgen/gss_proxy_xdr.c @@ -128,11 +128,11 @@ xdr_gssx_mech_info (XDR *xdrs, gssx_mech_info *objp) return FALSE; if (!xdr_gssx_OID_set (xdrs, &objp->sec_ctx_options)) return FALSE; - if (!xdr_array (xdrs, (char **)&objp->provider_names.provider_names_val, (u_int *) &objp->provider_names.provider_names_len, ~0, - sizeof (utf8string), (xdrproc_t) xdr_utf8string)) + if (!xdr_gssx_buffer (xdrs, &objp->saslname_sasl_mech_name)) return FALSE; - if (!xdr_array (xdrs, (char **)&objp->provider_paths.provider_paths_val, (u_int *) &objp->provider_paths.provider_paths_len, ~0, - sizeof (utf8string), (xdrproc_t) xdr_utf8string)) + if (!xdr_gssx_buffer (xdrs, &objp->saslname_mech_name)) + return FALSE; + if (!xdr_gssx_buffer (xdrs, &objp->saslname_mech_desc)) return FALSE; if (!xdr_array (xdrs, (char **)&objp->extensions.extensions_val, (u_int *) &objp->extensions.extensions_len, ~0, sizeof (gssx_typed_hole), (xdrproc_t) xdr_gssx_typed_hole)) diff --git a/x-files/gss_proxy.x b/x-files/gss_proxy.x index fb1c98c..3fb57dd 100644 --- a/x-files/gss_proxy.x +++ b/x-files/gss_proxy.x @@ -166,8 +166,9 @@ struct gssx_mech_info { gssx_OID_set known_mech_attrs; gssx_OID_set cred_options; gssx_OID_set sec_ctx_options; - utf8string provider_names<>; - utf8string provider_paths<>; + gssx_buffer saslname_sasl_mech_name; + gssx_buffer saslname_mech_name; + gssx_buffer saslname_mech_desc; gssx_typed_hole extensions<>; }; -- cgit