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