[comp.mail.mh] slocal question

aoki@postgres.Berkeley.EDU (Paul M. Aoki) (01/07/91)

A variety of topics (don't you hate it when people do that?).. however,
only one item should cause any followup.  Miscellany first:

1. A month or two ago, someone was complaining because /usr/ucb/vacation
wouldn't work right with slocal.  You can always grab the source to 
vacation from uunet (in something like bsd-sources/usr-bin/vacation) and 
munge it until it works the way you want it to.  I found that the UUCP
maildrop format MH was producing (specifically, the ">" that preceded the 
"From " line) broke vacation .. a minor tweak to make vacation recognize 
">From " as being equivalent to "From " was all it took.  (Well, OK, making 
the Reno-ized source compile on our 4.2-ish systems took a couple of 
minutes, too..)  Presto!  vacation works fine with slocal.

2. I think the behavior of "scan -file" (you can't specify message lists)
is bad, but the only ways I can think of to get around it is to read the
msgbox twice (ick) or trust the .msgbox.map (feh).  If anyone has any other
ideas, please let me know; me, I chopped a piece out of msh, tossed it into 
scan and live with the double-read..

3. Here's the "mhook RTFM" question.  If my .maildelivery says:
	to foo-request | ? "rcvstore +foo"
	to foo | ? "rcvstore +bar"
	default > ? /my/mail/drop
and mail for "foo-request" comes in, slocal tries to place the message in 
+foo (only).  If the first rcvstore failed, you'd think that slocal
would then place the message in +bar (the message delivery failed, and
"?" means to attempt the action if the message remains undelivered).
Instead, in my newly built system:

version: MH 6.7.1 #4[UCI] (hermes.Berkeley.EDU) of Sun Jan 6 12:46:34 PST 1991
options: [BSD42] [BERK] [ATZ] [MHE] [BIND] [RPATHS] [MHRC] [NTOHLSWAP]
         [SBACKUP='".#"'] [FOLDPROT='"0700"'] [MSGPROT='"0600"']
         [SENDMTS] [SMTP]

the message for foo-request lands in my maildrop.  This is non-intuitive.
Is this really the proper behavior?
-- 
    Paul M. Aoki   |   aoki@postgres.Berkeley.EDU   |   ...!ucbvax!aoki

jromine@buckaroo.ics.uci.edu (John Romine) (01/08/91)

aoki@postgres.Berkeley.EDU (Paul M. Aoki) writes:
>someone was complaining because /usr/ucb/vacation wouldn't work right
>with slocal...  I found that the UUCP maildrop format MH was producing
>(specifically, the ">" that preceded the "From " line) broke vacation

Hmm.  I thought this was fixed in MH 6.7.  I'll look into this.

>...the behavior of "scan -file" (you can't specify message lists) is bad,

Well, I think "scan -file" is bad.  It's a hack, and ignores some of
scan's switches as well as not following the usual MH conventions for
message specification.  The real answer is to just use "msh" instead.
I'll add a note to the scan man page.

>3. Here's the "mhook RTFM" question.  If my .maildelivery says:
>	to foo-request | ? "rcvstore +foo"
>	to foo | ? "rcvstore +bar"

Does slocal consider "to foo" as true if the "to" address is
"foo-request"?   Would someone more familiar with "slocal" answer this?
--
John Romine

aoki@postgres.Berkeley.EDU (Paul M. Aoki) (01/08/91)

jromine@ics.uci.edu (John Romine) writes:
>aoki@postgres.Berkeley.EDU (Paul M. Aoki) writes:
>>someone was complaining because /usr/ucb/vacation wouldn't work right
>>with slocal...  I found that the UUCP maildrop format MH was producing
>>(specifically, the ">" that preceded the "From " line) broke vacation
>Hmm.  I thought this was fixed in MH 6.7.

And for good reason.  It was.  But upgrading vacation is easy, whereas
there are probably plenty of people who don't have the permissions/
scratch-space to upgrade MH.

>>3. Here's the "mhook RTFM" question.  If my .maildelivery says:
>>	to foo-request | ? "rcvstore +foo"
>>	to foo | ? "rcvstore +bar"
>Does slocal consider "to foo" as true if the "to" address is
>"foo-request"?

Yes, it is supposed to (and generally does).  The lines
	to foo-request | A "rcvstore +foo"
	to foo | A "rcvstore +bar"
will cause delivery to both +foo and +bar.  The problem is that when 
an action fails, slocal immediately stops processing the lines in 
.maildelivery and punts (attempts delivery to the maildrop).  My 
feeling is that there's a logic bug at the bottom of the while loop 
in usr_delivery() .. Does anyone depend on the current behavior?
-- 
    Paul M. Aoki   |   aoki@postgres.Berkeley.EDU   |   ...!ucbvax!aoki

mh@buckaroo.ics.uci.edu (PostMaster) (01/11/91)

aoki@postgres.Berkeley.EDU (Paul M. Aoki) writes:
>[speaking about the "?" result code of slocal] The problem is that when
>an action fails, slocal immediately stops processing the lines in
>.maildelivery and punts (attempts delivery to the maildrop).

>My feeling is that there's a logic bug at the bottom of the while loop
>in usr_delivery().

I looked at the code, and I agree with you.  In the manual, the
sentence describing the "?" result code says "perform the action only
if the message has not been delivered".  This implies that the
maildelivery file should continue to be read after the message is
considered to have been delivered.

Since nobody has spoken up that they're depending on this behavior, I'm
going to fix it in the next MH patch release.  The new code at the bottom
of the while loop in usr_delivery() will be:

	if (accept && (status == OK))
	    won++;
--
UCI MH