Fwd: fink rsync --daemon failure

lists lists at southernohio.net
Thu Feb 20 03:19:31 EST 2003



Begin forwarded message:

From: Bill Bumgarner <bbum at codefab.com>
Date: Wed Feb 19, 2003  9:31:24  AM US/Eastern
To: "George D.Plymale" <george at 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



More information about the rsync mailing list