summaryrefslogtreecommitdiff
path: root/sys/rpc
diff options
context:
space:
mode:
authorBrooks Davis <brooks@FreeBSD.org>2009-06-19 17:10:35 +0000
committerBrooks Davis <brooks@FreeBSD.org>2009-06-19 17:10:35 +0000
commit838d9858251e9729d0b9c40b9aca89be3e171c1a (patch)
tree851f3659dd95c07bf7aaf4a54cd53e83c804702d /sys/rpc
parentf345b422d1238f2bf7fa261da253223e74d21179 (diff)
Notes
Diffstat (limited to 'sys/rpc')
-rw-r--r--sys/rpc/rpcsec_gss/svc_rpcsec_gss.c6
-rw-r--r--sys/rpc/svc_auth.c6
-rw-r--r--sys/rpc/svc_auth_unix.c6
3 files changed, 6 insertions, 12 deletions
diff --git a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
index 9653c9140466..13fcce969d82 100644
--- a/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
+++ b/sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
@@ -449,11 +449,7 @@ rpc_gss_svc_getcred(struct svc_req *req, struct ucred **crp, int *flavorp)
cr = client->cl_cred = crget();
cr->cr_uid = cr->cr_ruid = cr->cr_svuid = uc->uid;
cr->cr_rgid = cr->cr_svgid = uc->gid;
- cr->cr_ngroups = uc->gidlen;
- if (cr->cr_ngroups > NGROUPS)
- cr->cr_ngroups = NGROUPS;
- for (i = 0; i < cr->cr_ngroups; i++)
- cr->cr_groups[i] = uc->gidlist[i];
+ crsetgroups(cr, uc->gidlen, uc->gidlist);
*crp = crhold(cr);
return (TRUE);
diff --git a/sys/rpc/svc_auth.c b/sys/rpc/svc_auth.c
index 2d2b73de1704..5d83c8d2c90d 100644
--- a/sys/rpc/svc_auth.c
+++ b/sys/rpc/svc_auth.c
@@ -166,7 +166,7 @@ int
svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp)
{
struct ucred *cr = NULL;
- int flavor, i;
+ int flavor;
struct xucred *xcr;
flavor = rqst->rq_cred.oa_flavor;
@@ -178,9 +178,7 @@ svc_getcred(struct svc_req *rqst, struct ucred **crp, int *flavorp)
xcr = (struct xucred *) rqst->rq_clntcred;
cr = crget();
cr->cr_uid = cr->cr_ruid = cr->cr_svuid = xcr->cr_uid;
- cr->cr_ngroups = xcr->cr_ngroups;
- for (i = 0; i < xcr->cr_ngroups; i++)
- cr->cr_groups[i] = xcr->cr_groups[i];
+ crsetgroups(cr, xcr->cr_ngroups, xcr->cr_groups);
cr->cr_rgid = cr->cr_svgid = cr->cr_groups[0];
cr->cr_prison = &prison0;
prison_hold(cr->cr_prison);
diff --git a/sys/rpc/svc_auth_unix.c b/sys/rpc/svc_auth_unix.c
index 0c11a4aac76e..19ff40a3e0b3 100644
--- a/sys/rpc/svc_auth_unix.c
+++ b/sys/rpc/svc_auth_unix.c
@@ -95,13 +95,13 @@ _svcauth_unix(struct svc_req *rqst, struct rpc_msg *msg)
goto done;
}
for (i = 0; i < gid_len; i++) {
- if (i + 1 < NGROUPS)
+ if (i + 1 < XU_NGROUPS)
xcr->cr_groups[i + 1] = IXDR_GET_INT32(buf);
else
buf++;
}
- if (gid_len + 1 > NGROUPS)
- xcr->cr_ngroups = NGROUPS;
+ if (gid_len + 1 > XU_NGROUPS)
+ xcr->cr_ngroups = XU_NGROUPS;
else
xcr->cr_ngroups = gid_len + 1;