Great Circle Associates Majordomo-Users
(June 1994)
 

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: Re: resend problems continue
From: "Michael J. Corrigan" <corrigan @ ucsd . edu>
Date: Thu, 09 Jun 1994 20:27:41 -0700
To: colin sebastian roald <colin @ callisto . pas . rochester . edu>
Cc: majordomo-users @ GreatCircle . COM
In-reply-to: Your message of "Thu, 09 Jun 1994 21:28:47 -0400." <199406100128.VAA01237@callisto.pas.rochester.edu>
Reply-to: majordomo-users @ GreatCircle . COM

> > Is the Mprog mailer /bin/sh ? Do other program aliases work ?
> 
> hm.  i'm guessing you're referring to an entry in sendmail.cf, and 
> checking, I find this:
> 
> Mprog,          P=/bin/false, F=lsDFMeu, S=10, R=20/40, D=$z:/,
>                 A=sh -c $u
> 
> /bin/false looks bad. :-/  can you tell me what i want to have here?
> what does all this mean?  thanks much.
> 
> 
> 
> --
> colin | precisely why all of the above should be so is not clear, but goes so
me
> roald | way to explaining why, on the Disc, the Gods are not so much worshipp
ed
>         as blamed.  (pratchett)
> 

Good sleuthing.
It is bad. It disables/breaks aliases with '|' in them.
(try: /bin/false ; echo $status  ----> 1  that's the mailer error 1)
You want P=/bin/sh, and the rest the same.
Obviously sendmail.cf was changed by the installer from the distributed /bin/sh
due to insecurity about sendmail security holes in the program mailer.
sendmail v8 is known to not have this security hole.

You want an explanation of the whole thing ?
It all means approximately:
If an alias has a pipe:
alias:"|stuff" ( or |"stuff" )
then chdir to the recipient's home directory($z) if it exists,
else chdir to / if it exists (else stay in /usr(or/var)/spool/mqueue
and then execute $P $A(u=stuff)  i.e.
execve(/bin/sh, sh, -c,"stuff",env) with std input the input message
(just what you got your shell to do when you did cat mesg | /bin/sh -c "stuff")
The S=10, R=20/40 are the sendmail.cf rewriting rules sets to run the
Sender header and Recipient headers (and envelope) addresses through.
The F= flags specify:
F=l, delivery is final (so do Return-receipts)
F=s, strip quotes
F=D, add a Date: header if there isn't one
F=F, add a From: header  "
F=M, add a Message-Id:  "
F=e, delivery is expensive (queue mail if Oc is True in sendmail.cf)
F=u, preserve case of $u ( stuff )

This is all standard.
BTW, here is the sendmail v8 supplied default prog mailer:
Mprog,		P=/bin/sh, F=lsDFMeu, S=10, R=20/40, D=$z:/,
		A=sh -c $u
which differs from yours only in P=.
-mike



Follow-Ups:
References:
Indexed By Date Previous: Re: resend problems continue
From: colin sebastian roald <colin@callisto.pas.rochester.edu>
Next: Re: multiple list managers
From: "Martin Husemann" <martin@euterpe.owl.de>
Indexed By Thread Previous: Re: resend problems continue
From: colin sebastian roald <colin@callisto.pas.rochester.edu>
Next: resend problem solved!
From: colin sebastian roald <colin@callisto.pas.rochester.edu>

Google
 
Search Internet Search www.greatcircle.com