With bind 8.2.2-P5 & sendmail 8.10.1, map_rewrite drops subdomain
Dan Harkless
dan at wave.eng.uci.edu
Wed Apr 26 05:38:14 UTC 2000
Howdy. We recently upgraded our primary mail and DNS server, speed3, a
Solaris 2.5 box, to bind 8.2.2-P5 and sendmail 8.10.1. Now we can't send
mail from boxes in our subdomain to boxes in our primary domain. If I'm on
shell1.sa.speed.net and send a mail to someone at speed.net, sendmail 8.10.1 on
speed3 incorrectly rejects the mail with:
501 5.1.8 <me at shell1.sa.speed.net>... Domain of sender address\
me at shell1.speed.net does not exist
As you can see, the subdomain, "sa.", is incorrectly being discarded by
sendmail 8.10.1 when checking that the sender's domain name exists. I've
done a lot of looking, and I can't tell if this is due to a bind bug, a bind
misconfiguration, a sendmail bug, or a sendmail misconfiguration.
We were previously running Sun's provided bind v4 and sendmail 8.8.5 and we
didn't have this problem. speed3 does have sa.speed.net in a separate
(non-$INCLUDEd) db file, which isn't the way the "DNS and BIND" book seems
to recommend handling non-delegated subdomains, but putting the sa.speed.net
machines in the main db.speed.net file didn't seem to help.
The only sendmail configuration file that the sa.speed.net domain shows up
in is relay-domains. There is currently no masquerading as "speed.net" set
up on speed3.
Here's the output when sending mail to speed3 with sendmail 8.10.1 in debug
mode (not very illuminating -- doesn't show why map_rewrite drops the
"sa."):
shell1-me> sendmail -v nobody at speed.net
Test.
.
nobody at speed.net... Connecting to speed3.speed.net. via esmtp...
220 speed3.speed.net ESMTP Sendmail 8.10.1/8.10.1; Tue, 25 Apr 2000 21:50:04 -0700 (PDT)
>>> EHLO shell1.sa.speed.net
250-speed3.speed.net Hello me at shell1.sa.speed.net [204.212.42.11], pleased to meet you
250-ENHANCEDSTATUSCODES
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ONEX
250-ETRN
250-XUSR
250 HELP
>>> MAIL From:<me at shell1.sa.speed.net> SIZE=6
assign_queueid: assigned id e3Q4o4H18665, e=894a0
setsender(<me at shell1.sa.speed.net> SIZE=6)
--parseaddr(<me at shell1.sa.speed.net> SIZE=6)
rewrite: ruleset canonify input: < me @ shell1 . sa . speed . net >
rewrite: ruleset Canonify2 input: me < @ shell1 . sa . speed . net >
map_lookup(host, shell1.sa.speed.net) => host_map_lookup(shell1.sa.speed.net) => map_rewrite(shell1.speed.net), av =
shell1.sa.speed.net
map_rewrite => shell1.speed.net.
shell1.speed.net. (0)
rewrite: ruleset Canonify2 returns: me < @ shell1 . speed . net . >
rewrite: ruleset canonify returns: me < @ shell1 . speed . net . >
rewrite: ruleset parse input: me < @ shell1 . speed . net . >
rewrite: ruleset Parse0 input: me < @ shell1 . speed . net . >
rewrite: ruleset Parse0 returns: me < @ shell1 . speed . net . >
rewrite: ruleset ParseLocal input: me < @ shell1 . speed . net . >
rewrite: ruleset ParseLocal returns: me < @ shell1 . speed . net . >
rewrite: ruleset Parse1 input: me < @ shell1 . speed . net . >
rewrite: ruleset MailerToTriple input: < > me < @ shell1 . speed . net . >
rewrite: ruleset MailerToTriple returns: me < @ shell1 . speed . net . >
rewrite: ruleset Parse1 returns: $# esmtp $@ shell1 . speed . net . $: me < @ shell1 . speed . net . >
rewrite: ruleset parse returns: $# esmtp $@ shell1 . speed . net . $: me < @ shell1 . speed . net . >
rewrite: ruleset final input: me < @ shell1 . speed . net . >
rewrite: ruleset final returns: me @ shell1 . speed . net
parseaddr-->894b0=<me at shell1.sa.speed.net>:
mailer 5 (esmtp), host `shell1.speed.net.'
user `me at shell1.speed.net', ruser `<null>'
state=OK, next=0, alias 0, uid 0, gid 0
flags=180<QPINGONFAILURE,QPINGONDELAY>
owner=(none), home="(none)", fullname="(none)"
orcpt="(none)", statmta=(none), status=(none)
rstatus="(none)"
specificity=0, statdate=(none)
rewrite: ruleset canonify input: < me @ shell1 . sa . speed . net >
rewrite: ruleset Canonify2 input: me < @ shell1 . sa . speed . net >
map_lookup(host, shell1.sa.speed.net) => host_map_lookup(shell1.sa.speed.net) => CACHE shell1.speed.net
map_rewrite(shell1.speed.net), av =
shell1.sa.speed.net
map_rewrite => shell1.speed.net.
shell1.speed.net. (0)
rewrite: ruleset Canonify2 returns: me < @ shell1 . speed . net . >
rewrite: ruleset canonify returns: me < @ shell1 . speed . net . >
rewrite: ruleset 1 input: me < @ shell1 . speed . net . >
rewrite: ruleset 1 returns: me < @ shell1 . speed . net . >
rewrite: ruleset final input: me < @ shell1 . speed . net . >
rewrite: ruleset final returns: me @ shell1 . speed . net
MAIL: got arg SIZE="6"
rewrite: ruleset check_mail input: < me @ shell1 . sa . speed . net >
rewrite: ruleset Local_check_mail input: < me @ shell1 . sa . speed . net >
rewrite: ruleset Local_check_mail returns: < me @ shell1 . sa . speed . net >
rewrite: ruleset Basic_check_mail input: < me @ shell1 . sa . speed . net >
rewrite: ruleset CanonAddr input: < me @ shell1 . sa . speed . net >
rewrite: ruleset canonify input: < me @ shell1 . sa . speed . net >
rewrite: ruleset Canonify2 input: me < @ shell1 . sa . speed . net >
map_lookup(host, shell1.sa.speed.net) => host_map_lookup(shell1.sa.speed.net) => CACHE shell1.speed.net
map_rewrite(shell1.speed.net), av =
shell1.sa.speed.net
map_rewrite => shell1.speed.net.
shell1.speed.net. (0)
rewrite: ruleset Canonify2 returns: me < @ shell1 . speed . net . >
rewrite: ruleset canonify returns: me < @ shell1 . speed . net . >
rewrite: ruleset Parse0 input: me < @ shell1 . speed . net . >
rewrite: ruleset Parse0 returns: me < @ shell1 . speed . net . >
rewrite: ruleset CanonAddr returns: me < @ shell1 . speed . net . >
map_lookup(resolve, shell1.speed.net) => host_map_lookup(shell1.speed.net) => FAIL (1)
NOT FOUND (68)
rewrite: ruleset SearchList input: < + From > $| < F : me @ shell1 . speed . net > < U : me @ > < H : shell1 . speed . net > < >
map_lookup(access, From:me at shell1.speed.net) => NOT FOUND (0)
map_lookup(access, me at shell1.speed.net) => NOT FOUND (0)
rewrite: ruleset SearchList input: < + From > $| < U : me @ > < H : shell1 . speed . net > < >
map_lookup(access, From:me@) => NOT FOUND (0)
map_lookup(access, me@) => NOT FOUND (0)
rewrite: ruleset SearchList input: < + From > $| < H : shell1 . speed . net > < >
rewrite: ruleset LookUpDomain input: < shell1 . speed . net > < ? > < > < + From >
map_lookup(access, From:shell1.speed.net) => NOT FOUND (0)
map_lookup(access, shell1.speed.net) => NOT FOUND (0)
rewrite: ruleset LookUpDomain input: < speed . net > < ? > < > < + From >
map_lookup(access, From:speed.net) => NOT FOUND (0)
map_lookup(access, speed.net) => NOT FOUND (0)
rewrite: ruleset LookUpDomain input: < net > < ? > < > < + From >
map_lookup(access, From:net) => NOT FOUND (0)
map_lookup(access, net) => NOT FOUND (0)
rewrite: ruleset LookUpDomain returns: < ? > < >
rewrite: ruleset LookUpDomain returns: < ? > < >
rewrite: ruleset LookUpDomain returns: < ? > < >
rewrite: ruleset SearchList returns: < ? >
rewrite: ruleset SearchList returns: < ? >
rewrite: ruleset SearchList returns: < ? >
rewrite: ruleset Basic_check_mail returns: $# error $@ 5 . 1 . 8 $: "501 Domain of sender address " me @ shell1 . speed . net " does not exist"
rewrite: ruleset check_mail returns: $# error $@ 5 . 1 . 8 $: "501 Domain of sender address " me @ shell1 . speed . net " does not exist"
501 5.1.8 <me at shell1.sa.speed.net>... Domain of sender address me at shell1.speed.net does not exist
nobody at speed.net... Data format error
/home/me/dead.letter... Saved message in /home/me/dead.letter
Closing connection to speed3.speed.net.
>>> QUIT
====finis: stat 68 e_id=e3Q4o4H18665 e_flags=4009<OLDSTYLE,CLRQUEUE,METOO>
dropenvelope 894a0: id=e3Q4o4H18665, flags=4009<OLDSTYLE,CLRQUEUE,METOO>
===== Dropping [dq]fe3Q4o4H18665... queueit=0, e_flags=4009<OLDSTYLE,CLRQUEUE,METOO>
221 2.0.0 speed3.speed.net closing connection
Any help or advice that anyone could provide would be greatly appreciated!
---------------------------------------------------------------------------
Dan Harkless | NOTE: Due to SPAM I have implemented a caller-ID-
dan at wave.eng.uci.edu | like policy for this account. Put "re-send" in
Unitech Research, Inc. | your Subject to bypass or finger me for more info.
More information about the bind-users
mailing list