Begin forwarded message:
From: Bill Bumgarner <bbum@codefab.com>
Date: Wed Feb 19, 2003 9:31:24 AM US/Eastern
To: "George D.Plymale" <george@SouthernOhioComputerServices.com>
Subject: Re: fink rsync --daemon failure
On Wednesday, Feb 19, 2003, at 08:14 US/Eastern, George D.Plymale
wrote:> It would seem that OS X does indeed have a problem zeroing
> the supplimental groups. Configure is only testing for the
> existance of setgroups(). What does the setgroups(2)
> manpage on OS X say? The call is setgroups(0, NULL).
>
> If you built rsync yourself you could work around the problem
> by editing config.h and changing
> #define HAVE_SETGROUPS 1
> to
> #define HAVE_SETGROUPS 0
> and rebuilding.
>
> This workaround could cause some problems if root has any
> suplimental group memberships. We still should identify why
> OS X is having this problem so it can be resolved.
int main (int argc, const char * argv[]) {
if (setgroups(0, NULL) == -1) printf("error %d: %s\n", errno,
strerror(errno));
else printf("success.");
return 0;
}
... the behavior for root vs. user execution is different:
% /tmp/bbum-products/setgr
error 1: Operation not permitted
[bumbox:/tmp] bbum% sudo /tmp/bbum-products/setgr
error 22: Invalid argument
Since it fails in both cases, that would be enough to cause
HAVE_SETGROUPS to be defined appropriately.
Someone should have a look at the Darwin sources (I don't have a lot of
time right now -- even if I did, I'm not sure if I could correctly
interpret the source anyway)...
If you can do so and can come up with an appropriate bug report or
implementation question, I can forward it along to the appropriate
parties within Apple.
thanks,
b.bum