From owner-svn-src-projects@FreeBSD.ORG Sat Jan 9 23:19:39 2010 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BA5C1065702; Sat, 9 Jan 2010 23:19:39 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E5B138FC2A; Sat, 9 Jan 2010 23:19:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o09NJc5U045838; Sat, 9 Jan 2010 23:19:38 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o09NJchS045836; Sat, 9 Jan 2010 23:19:38 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <201001092319.o09NJchS045836@svn.freebsd.org> From: Brooks Davis Date: Sat, 9 Jan 2010 23:19:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201952 - projects/ngroups/sys/rpc/rpcsec_gss X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2010 23:19:39 -0000 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))