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:
tobez 2001-11-28 10:55:02 +00:00
parent 6828ec1515
commit 390c9f0f6e
2 changed files with 8 additions and 10 deletions

View File

@ -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

View File

@ -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));
}