[Mailman-developers] wrappers: legal_caller()

Scott scott@chronis.icgroup.com
Thu, 9 Apr 1998 12:59:01 -0400


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.