wrong logic in .../source3/lib/system.c when checking for HAVE_SETGROUPS. Patch: diff -u ./source3/lib/system.c.orig ./source3/lib/system.c --- ./source3/lib/system.c.orig 2010-05-17 06:51:23.000000000 -0500 +++ ./source3/lib/system.c 2010-05-27 07:13:48.000000000 -0500 @@ -1201,17 +1205,15 @@ int sys_setgroups(gid_t UNUSED(primary_gid), int setlen, gid_t *gidset) { -#if !defined(HAVE_SETGROUPS) - errno = ENOSYS; - return -1; -#endif /* HAVE_SETGROUPS */ - #if defined(USE_BSD_SETGROUPS) return sys_bsd_setgroups(primary_gid, setlen, gidset); #elif defined(HAVE_BROKEN_GETGROUPS) return sys_broken_setgroups(setlen, gidset); -#else +#elif defined(HAVE_SETGROUPS) return setgroups(setlen, gidset); +#else + errno = ENOSYS; + return -1; #endif } There's a releated but very old and closed report, #545. Bye, Jojo
Created attachment 5755 [details] Patch
Created attachment 5770 [details] patch for system.c removing an unrelated hunk from my patch
Hmm, not sure about this. Don't we also mess around with samba_setgroups and sys_setgroups? Might this have to do with setgroups bugs some people see on some platforms? Volker, can you have a look at this?
(In reply to comment #3) Same patch still seems to be needed in Samba 3.6.7