Do not write warning messages on stderr - a caller is expected to check
the return code and errno instead. Those warnings did not do any good for daemonized users of initgroups(3), and confused cvs clients that communicated with non-root cvs pserver. The committed fix differs from the one suggested in the PR, and was submitted by ru. PR: 15421 Approved by: markm Discussed on: -stable, -current at various times
This commit is contained in:
parent
6828ec1515
commit
390c9f0f6e
@ -61,10 +61,14 @@ is automatically included in the groups list.
|
||||
Typically this value is given as
|
||||
the group number from the password file.
|
||||
.Sh RETURN VALUES
|
||||
.Rv -std initgroups
|
||||
.Sh ERRORS
|
||||
The
|
||||
.Fn initgroups
|
||||
function
|
||||
returns \-1 if it was not invoked by the super-user.
|
||||
function may fail and set
|
||||
.Va errno
|
||||
for any of the errors specified for the library function
|
||||
.Xr setgroups 2 .
|
||||
.Sh SEE ALSO
|
||||
.Xr setgroups 2 ,
|
||||
.Xr getgrouplist 3
|
||||
|
@ -56,12 +56,6 @@ initgroups(uname, agroup)
|
||||
int groups[NGROUPS], ngroups;
|
||||
|
||||
ngroups = NGROUPS;
|
||||
if (getgrouplist(uname, agroup, groups, &ngroups) < 0)
|
||||
warnx("%s is in too many groups, using first %d",
|
||||
uname, ngroups);
|
||||
if (setgroups(ngroups, groups) < 0) {
|
||||
_warn("setgroups");
|
||||
return (-1);
|
||||
}
|
||||
return (0);
|
||||
getgrouplist(uname, agroup, groups, &ngroups);
|
||||
return (setgroups(ngroups, groups));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user