[comp.mail.sendmail] ELM's filter program cannot handle sendmail's queued messages

acbhour@accucx.cc.ruu.nl (Rudi van Houten) (10/19/90)

If a message is queued by sendmail, as is all incoming UUCP mail handled
by /bin/rmail, the recipient's address is evaluated from the user's .forward.
When sendmail then executes the filter-program in the queue run the program
is not run with the correct uid (since sendmail doesn't know that) and
filter is unable to find the ~/.elm/filter-rules. Result: the message is
noiseless placed in daemon's mailbox.
I see two solutions to fix the problem:
1.simply add a obligate parameter to filter, being the concerning username.
  This is very simple to implement, but it changes the user's doc.
2.teach sendmail not to evaluate the .forward-file if it expands to a
  prog-mailer (starts with the pipe-symbol).

Has someone a better idea?

andy@jhunix.HCF.JHU.EDU (Andy S Poling) (10/22/90)

In article <870@accucx.cc.ruu.nl> acbhour@accucx.cc.ruu.nl (Rudi van Houten) writes:
>If a message is queued by sendmail, as is all incoming UUCP mail handled
>by /bin/rmail, the recipient's address is evaluated from the user's .forward.
>When sendmail then executes the filter-program in the queue run the program
>is not run with the correct uid (since sendmail doesn't know that) and
>filter is unable to find the ~/.elm/filter-rules. Result: the message is
>noiseless placed in daemon's mailbox.
>I see two solutions to fix the problem:
>1.simply add a obligate parameter to filter, being the concerning username.
>  This is very simple to implement, but it changes the user's doc.
>2.teach sendmail not to evaluate the .forward-file if it expands to a
>  prog-mailer (starts with the pipe-symbol).
>
>Has someone a better idea?

I ran into this a long time ago with 5.61 and the problem remains unsolved
at least in 5.64 .  We queue almost all of our mail messages here and run the
queue very often - this way, sendmail always returns a zero exit-status to
whatever invoked it.  

I chose an even simpler solution thatn Rudi's second one and posted a simple
(about 8 lines of code) patch to alias.c which causes evaluation of the
.forward file to always be delayed if we will be queueing the message.  I can 
mail the patch to anyone who missed it.

-Amdy

--
Andy Poling                              Internet: andy@gollum.hcf.jhu.edu
UNIX Systems Programmer                  Bitnet: ANDY@JHUNIX
Homewood Academic Computing              Voice: (301)338-8096    
Johns Hopkins University                 UUCP: uunet!mimsy!aplcen!jhunix!andy