Date: Sat, 9 Jan 2010 23:19:38 +0000 (UTC) From: Brooks Davis <brooks@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r201952 - projects/ngroups/sys/rpc/rpcsec_gss Message-ID: <201001092319.o09NJchS045836@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: brooks Date: Sat Jan 9 23:19:38 2010 New Revision: 201952 URL: http://svn.freebsd.org/changeset/base/201952 Log: Follow HEAD here and just limit the groups to 16 since this is RPC. Modified: projects/ngroups/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c Modified: projects/ngroups/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c ============================================================================== --- projects/ngroups/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c Sat Jan 9 23:19:01 2010 (r201951) +++ projects/ngroups/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c Sat Jan 9 23:19:38 2010 (r201952) @@ -121,6 +121,9 @@ enum svc_rpc_gss_client_state { }; #define SVC_RPC_GSS_SEQWINDOW 128 +#ifndef RPCAUTH_UNIXGIDS +#define RPCAUTH_UNIXGIDS 16 +#endif struct svc_rpc_gss_clientid { unsigned long ci_hostid; @@ -147,7 +150,7 @@ struct svc_rpc_gss_client { int cl_rpcflavor; /* RPC pseudo sec flavor */ bool_t cl_done_callback; /* TRUE after call */ void *cl_cookie; /* user cookie from callback */ - gid_t *cl_gid_storage; + gid_t cl_gid_storage[RPCAUTH_UNIXGIDS]; gss_OID cl_mech; /* mechanism */ gss_qop_t cl_qop; /* quality of protection */ uint32_t cl_seqlast; /* sequence window origin */ @@ -543,7 +546,6 @@ svc_rpc_gss_create_client(void) client = mem_alloc(sizeof(struct svc_rpc_gss_client)); memset(client, 0, sizeof(struct svc_rpc_gss_client)); - client->cl_gid_storage = mem_alloc((ngroups_max + 1) * sizeof(gid_t)); refcount_init(&client->cl_refs, 1); sx_init(&client->cl_lock, "GSS-client"); getcredhostid(curthread->td_ucred, &hostid); @@ -591,8 +593,6 @@ svc_rpc_gss_destroy_client(struct svc_rp crfree(client->cl_cred); sx_destroy(&client->cl_lock); - mem_free(client->cl_gid_storage, - (ngroups_max + 1) * sizeof(gid_t)); mem_free(client, sizeof(*client)); } @@ -738,7 +738,7 @@ svc_rpc_gss_build_ucred(struct svc_rpc_g uc->gid = 65534; uc->gidlist = client->cl_gid_storage; - numgroups = ngroups_max + 1; + numgroups = RPCAUTH_UNIXGIDS; maj_stat = gss_pname_to_unix_cred(&min_stat, name, client->cl_mech, &uc->uid, &uc->gid, &numgroups, &uc->gidlist[0]); if (GSS_ERROR(maj_stat))
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001092319.o09NJchS045836>