[Mailman-Developers] Re: [Mailman-Users] Wrapper gid problem (Includes Patch against 2.0.6)

Ben Burnett benwa@ocentrix.com
Wed, 05 Sep 2001 15:49:47 -0700


(my advanced apologies for hitting both the -users and -developers 
lists.  I thought it would be applicable to both)

I agree that this error message is pretty ambiguous.  I participated in a 
thread about this started by Harold Paulson whom I thought had a pretty 
good idea of how to fix this.

http://mail.python.org/pipermail/mailman-users/2001-April/010955.html

Since then I've seen this question asked, answered, and ignored many times 
on the list.  I realize that the error message says "Please read the 
INSTALL instructions again, paying close attention to the  --with-cgi-gid 
configure option", however I don't really see any reason that this 
shouldn't be more explicit.  I'm all for terseness, and I would rather see 
this list become more terse and the error message grow.

As I mentioned in the April thread, I think that the message should read:

"Mailman CGI error! Mailman was compiled to use GID 48, but
the web server is running as GID 99.  You must run
./configure again --with-cgi-gid=99, or reconfigure your web
server."

Instead of just whining about it like I did last time I figured I'd put 
together the following patch against 2.0.6 to common.c to make it do just 
that.  I've tested this on my machine and it works just fine.

----------begin patch------------
*** ./src/common.c.bak  Wed Sep  5 14:51:51 2001
--- ./src/common.c      Wed Sep  5 14:57:43 2001
***************
*** 124,129 ****
         if (parentgid != mygid) {
                 fatal(ident, GID_MISMATCH,
!                     "Failure to exec script. WANTED gid %ld, GOT gid %ld.  "
!                     "(Reconfigure to take %ld?)",
                       parentgid, mygid, mygid);
         }
--- 124,131 ----
         if (parentgid != mygid) {
                 fatal(ident, GID_MISMATCH,
!                     "Mailman CGI error! Mailman was compiled to use\n  "
!                       "GID %ld, but the web server is running as GID %ld.\n "
!                       "You must run ./configure again with the option\n "
!                       "--with-cgi-gid=%ld, or reconfigure your web server.",
                       parentgid, mygid, mygid);
         }
----------end patch------------

I hope this is useful,

- Ben

P.S.  Notice that the line separator I'm using is just the UNIX 
separator.  I imagine if someone wants to port this to Windows this will 
need to be fixed, but I don't know enough about python to find a platform 
portable line separator.  Is there such a thing? ( in Perl it's $/ )