On Sat, 11 Jan 2014, Steffen wrote:
I have: ... deliverable: mailer local, user uid+detail instead of "deliverable: mailer local, host detail, user gcr"
Hmm, see http://etutorials.org/Server+Administration/Sendmail/Part+I+Build+and+Instal...
My mc-file has this setting commented out (prefixed by dnl). Ah, I see where the processing differs. I had added this:
SLocal_localaddr R< $* > $1 Remove <> from address R$+ + $* $: $1 Remove detail from address R$+ $: <$(localuser $1 $: TEMPFAIL $)> $1 Query socket map server, if that's a local user R<OK> $* $# ok yes, this preserves detail R<REJECT> $* $# error $@ 5.7.1 $: 550 User unknown R<TEMPFAIL> $* $# error $@ TEMPFAIL $: $1 try again later Does it work????
See the R<OK> line. The map is to verify if the user is local or not. In my system sendmail cannot do so on its own. Maybe the FEATURE above works for the standard config.
"FEATURE(`preserve_local_plus_detail')" is actually one of the first things I tried when I started working on this problem, but it doesn't quite work with the standard configuration:
$ sendmail -bv -d21.12 gcr+XYZZY@badger.tharned.org ... rewrite: ruleset final returns: gcr + XYZZY rewrite: ruleset localaddr input: gcr + xyzzy -----trying rule: $+ -----rule matches: $: $1 $| $> "Local_localaddr" $1 -----skip subr Local_localaddr (197) rewritten as: gcr + xyzzy $| gcr + xyzzy -----trying rule: $+ $| $# ok ----- rule fails -----trying rule: $+ $| $# $* ----- rule fails -----trying rule: $+ $| $* -----rule matches: $: $1 rewritten as: gcr + xyzzy -----trying rule: $+ -----rule matches: $: < > $1 rewritten as: < > gcr + xyzzy -----trying rule: < > $+ -----rule matches: $@ $1 rewritten as: gcr + xyzzy rewrite: ruleset localaddr returns: gcr + xyzzy gcr+XYZZY@badger.tharned.org... User unknown
It does preserve the +detail, but according to the trace, it has a problem with Local_localaddr, and apparently fails because it's including the +detail when it does the local account look-up.
Here's what my Local_localaddr ruleset looks like with the preserve_local_plus_detail feature:
########################################################################### ### Ruleset 5 -- special rewriting after aliases have been expanded ### ########################################################################### SLocal_localaddr Slocaladdr=5 R$+ $: $1 $| $>"Local_localaddr" $1 R$+ $| $#ok $@ $1 no change R$+ $| $#$* $#$2 R$+ $| $* $: $1 # prepend an empty "forward host" on the front R$+ $: <> $1 R< > $+ $@ $1 R< local : $* > $* $: $>MailerToTriple < local : $1 > $2 no host extension R< error : $* > $* $: $>MailerToTriple < error : $1 > $2 no host extension R< $~[ : $+ > $+ $: $>MailerToTriple < $1 : $2 > $3 < @ $2 > R< $+ > $+ $@ $>MailerToTriple < $1 > $2 < @ $1 >
Perhaps I should file this as a bug at sendmail.org?
-- Greg