[Mailman-developers] wrappers: legal_caller()

John Viega jtv2j@cs.virginia.edu
Thu, 9 Apr 1998 14:09:08 -0400 (EDT)


> On Thu, Apr 09, 1998 at 11:47:45AM -0400, Ken Manheimer wrote:
> | On Thu, 9 Apr 1998, Scott wrote:
> | 
> | > i have installed mailman as part of pilot project to test out new
> | > mailing list managers for work.
> | > 
> | > i had to change the ./mailman/mail/wrapper program to check for
> | > multiple uids and gids to get the cron jobs to work properly (uid and
> | > gid were that of mailman when sending out results).
> | > 
> | > has this been incoporated into mailmanv1.0b1.2 yet?  if not, here's a
> | > patch to ./src/mail-wrapper.c (the same change can be applied to the
> | > other legal_caller() functions in the wrappers):
> | 
> | This sounds fine.  Note that the next release will have a somewhat
> | simpler wrapper situation - john has consolidated all the cgi wrappers
> | into a single source file, so there now is a total of three wrappers -
> | the generic cgi wrapper (which is parameterized to create an executable
> | for each of the cgi scripts), the mail-wrapper, and the aliases wrapper.
> 
> One more thing that may make the installation easier would be to have
> a single header file that is #included in each c source file with
> something like
> 
> /* legal parent uid's of the wrapper ./mailman/mail/wrapper */
> const int LEGAL_MAIL_PUIDS[] = 
> {
>     0, /* root */
>     1, /* bin */
>     537, /*mailman */
>     -1, /* Sentinel, do not remove */
> }
> 
> or if there's a worry of defining unused variables:
> 
> #ifdef MAIL_WRAPPER
> 
> [declaration]
> 
> #endif
> 
> along with a '#define MAIL_WRAPPER 1' in mail-wrapper.c
> 
> this way, while whoever is installing the program, they would only
> have to edit one file to play with the calling uid and gid.
> 
> Scott Cotton
> IC Group, Inc.
> 
> 
> ------------------------------------------------------
> Mailman-developers maillist  -  Mailman-developers@python.org
> http://www.python.org/mailman/listinfo/mailman-developers

Actually, the ultimate goal is to have as much configuraiton as possible
picked out automatically, and the rest of it maintained by a single
file, or perhaps a web page.

For example, most of the uids we could do a good job of guessing based
on the passwd file, and then keep it open for people to change if they
have special considerations.

John