5 Jan
2008
5 Jan
'08
10:34 p.m.
Ok, guilty as charged! #2 was it. I got cross eyed, and was wondering why they were saying the same thing twice!
The getgroups() function will fail if:
EINVAL The value of gidsetsize is non-zero and less
than the number of supplementary group IDs
set for the calling process.
The setgroups() function will fail if:
EINVAL The value of ngroups is greater than
{NGROUPS_MAX}.
On Jan 5, 2008 12:27 PM, Bill Cole dovecot-20061108@billmail.scconsult.com wrote:
At 11:53 AM -0800 1/5/08, Anil wrote:
I don't think I am hitting the NGROUPS_MAX, my limits.h shows it to be 16.
# groups root other bin sys adm uucp mail tty lp nuucp daemon
Thats less than 16.
I think the setgroups() used in Dovecot is failing because of this error:
EINVAL The value of gidsetsize is non-zero and less than the number of supplementary group IDs set for the calling process.
What does that mean?
Either:
- You are using some OS where the Standard C Library is badly broken by design.
- You are using Solaris (or some related OS) and have mis-read the man page where that quoted text exists, but explicitly DOES NOT describe setgroups().
--
Bill Cole bill@scconsult.com