[Mailman-Users] The Mailman CGI wrapper encountered a fatal error
Richard Barrett
r.barrett at openinfo.co.uk
Wed Nov 5 08:37:50 CET 2003
On Tuesday, November 4, 2003, at 02:19 pm, patkins wrote:
> Jim,
>
> Thanks for the help! I changed all the files in the cgi-bin to both
> root and mailman just to see if I could execute the files properly and
> neither worked. I compiled three different times using various flags
> to set guid, user, group etc. Nothing I do seems to fix this problem.
> Keep in mind the lists work perfectly! I just can't use the web > admins.
>
The error message you are getting is Mailman's CGI wrapper telling you
that it has tried to look up the group name of the GID it was executed
as and this has failed. It does this test using the getgid and getgrgid
system calls (see the man pages): the check_caller() function in
Mailman's $build/src/common.c is used. This check is a precursor to
checking the group name recovered is the one the wrapper was told to
expect via --with-cgi-gid on ./configure.
The text of the message you have got is rather unhelpful because it
does not tell us what GID the wrapper was being executed as, whose
lookup using getgrgid subsequently failed.
What GID is you Apache server running its child processes as? What does
the Group directive in your httpd.conf say? Are you assigning a numeric
GID rather than a group name with the Group directive and, if so, does
that GID have an entry in your system's group file? If the answer to
this last question is no, then that is your problem.
Let us know if you find a resolution to this.
You can see the effect of these system calls mentioned above, using
Python from the command line, although the Mailman wrapper is calling
the equivalent C functions. For instance:
mailman2:/home/mailman # su httpd
sh-2.05$ id
uid=598(httpd) gid=620(httpd) groups=620(httpd)
sh-2.05$ python
Python 2.2.2 (#3, Feb 11 2003, 16:57:53)
[GCC 2.95.3 20010315 (SuSE)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import grp, os, sys
>>> os.getgid()
620
>>> grp.getgrgid(os.getgid())
('httpd', '*', 620, [])
>>> sys.exit()
sh-2.05$
> -p
>
> On 03/Nov/2003 22:04:08, Jim Cole wrote:
>> On Monday, November 3, 2003, at 12:03 PM, patkins wrote:
>>
>>> The user and group exist:
>>>
>>> group > mailman:x:506:
>>> passwd > mailman:x:506:506::/usr/local/mailman:/dev/null
>> ....
>>> Mailman CGI error!!!
>>> The Mailman CGI wrapper encountered a fatal error. This entry is
>>> being
>>> stored in your syslog:
>>> Failure to find group name mailman. Try adding this group
>>> to your system, or re-run configure, providing an
>>> existing group name with the command line option --with-cgi-gid.
>>
>> Have you tried verifying the group outside of Mailman? For example
>> have
>> you tried executing chgrp on some file using the mailman group? If
>> that
>> works as expected, double check the group associated with the CGI
>> wrappers in Mailman's cgi-bin directory. A quick look at the code
>> seems
>> to imply that either your group file is somehow broken or the group
>> settings are incorrect for one or more of your wrapper files.
>>
>> Jim
>>
-----------------------------------------------------------------------
Richard Barrett http://www.openinfo.co.uk
More information about the Mailman-Users
mailing list