summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2012-02-01 18:54:52 -0500
committerSimo Sorce <simo@redhat.com>2012-02-03 22:32:24 -0500
commit9136e031772f472270a3d37732daf1c21e99e54c (patch)
treeca840d5e86473921e31cb4e06a3ce0fdbec52484
parentf6b7355c9219fa3e8fd231b964161afd4e27b940 (diff)
downloadgss-proxy-9136e031772f472270a3d37732daf1c21e99e54c.tar.gz
gss-proxy-9136e031772f472270a3d37732daf1c21e99e54c.tar.xz
gss-proxy-9136e031772f472270a3d37732daf1c21e99e54c.zip
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.
-rw-r--r--proxy/rpcgen/gss_proxy.h11
-rw-r--r--proxy/rpcgen/gss_proxy_xdr.c8
-rw-r--r--x-files/gss_proxy.x5
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<>;
};