Date: Thu, 29 Aug 2002 13:40:11 -0400 From: "Dan Langille" <dan@langille.org> To: Gregory Neil Shapiro <gshapiro@FreeBSD.ORG> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: why does this sendmail connection take so long? Message-ID: <3D6E243B.1515.8EB744E7@localhost> In-Reply-To: <15726.23195.612802.320858@horsey.gshapiro.net> References: <3D6DDDDF.7293.8DA46F18@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
On 29 Aug 2002 at 10:32, Gregory Neil Shapiro wrote:
> dan> [dan@xeon:~] $ echo 'hi there' | mail -v dan@m20.example.org
> dan> dan@m20.example.org... Connecting to localhost.example.org. via
> dan> relay...
>
> dan> <insert 75s delay here>
>
> dan> 220 xeon.example.org ESMTP Sendmail 8.12.5/8.12.5; Thu, 29 Aug 2002
> dan> 08:32:14 -0400 (EDT)
>
> That's either IDENT or DNS.
>
> 1. Does the same delay happen if you do this:
>
> telnet localhost.example.org 25
No.
> 2. Does the delay happen on every message?
Yes (qualifed by: every test I've run it's been like that).
> If the answers to question 1 is no and question 2 is yes, try:
>
> echo 'hi there' | /usr/sbin/sendmail -v -d8.8 dan@m20.example.org
[The real domain is unixathome.org, not example.org; I've done a
search+replace on the log below]
See "***delay occurs here..." below.
[dan@xeon:~] $ echo 'hi there' | /usr/sbin/sendmail -v -d8.8
dan@m20.example.org
dns_getcanonname(m20.example.org, trymx=1)
dns_getcanonname: trying m20.example.org. (AAAA)
;; res_querydomain(m20.example.org, , 1, 28)
;; res_query(m20.example.org., 1, 28)
;; res_mkquery(0, m20.example.org., 1, 28)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26786
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; m20.example.org, type = AAAA, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26786
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL:
0
;; m20.example.org, type = AAAA, class = IN
example.org. 1D IN SOA ns1.example.org.
soa.example.com. (
2002082901 ; serial
3H ; refresh
30M ; retry
4w2d ; expiry
1D ) ; minimum
;; rcode = 0, ancount=0
NO: errno=19, h_errno=4
dns_getcanonname: trying m20.example.org. (A)
;; res_querydomain(m20.example.org, , 1, 1)
;; res_query(m20.example.org., 1, 1)
;; res_mkquery(0, m20.example.org., 1, 1)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26787
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; m20.example.org, type = A, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26787
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL:
1
;; m20.example.org, type = A, class = IN
m20.example.org. 1M IN A 216.187.106.227
example.org. 1M IN NS xeon.example.org.org.
xeon.example.org.org. 5S IN A 127.0.0.1
YES
dns_getcanonname: m20.example.org
getmxrr([localhost], droplocalhost=1)
dns_getcanonname(localhost, trymx=0)
dns_getcanonname: trying localhost.example.org (AAAA)
;; res_querydomain(localhost, example.org, 1, 28)
;; res_query(localhost.example.org, 1, 28)
;; res_mkquery(0, localhost.example.org, 1, 28)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26788
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; localhost.example.org, type = AAAA, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 26788
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL:
0
;; localhost.example.org, type = AAAA, class = IN
example.org. 1D IN SOA ns1.example.org.
soa.example.com. (
2002082901 ; serial
3H ; refresh
30M ; retry
4w2d ; expiry
1D ) ; minimum
;; rcode = 3, ancount=0
NO: errno=19, h_errno=1
dan@m20.example.org... Connecting to xeon.example.org. via relay...
;; res_querydomain(xeon.example.org., <Nil>, 1, 28)
;; res_query(xeon.example.org, 1, 28)
;; res_mkquery(0, xeon.example.org, 1, 28)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26789
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; xeon.example.org, type = AAAA, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26789
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL:
0
;; xeon.example.org, type = AAAA, class = IN
example.org. 1D IN SOA ns1.example.org.
soa.example.com. (
2002082901 ; serial
3H ; refresh
30M ; retry
4w2d ; expiry
1D ) ; minimum
;; rcode = 0, ancount=0
;; res_querydomain(xeon, example.org, 1, 28)
;; res_query(xeon.example.org, 1, 28)
;; res_mkquery(0, xeon.example.org, 1, 28)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26790
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; xeon.example.org, type = AAAA, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26790
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL:
0
;; xeon.example.org, type = AAAA, class = IN
example.org. 1D IN SOA ns1.example.org.
soa.example.com. (
2002082901 ; serial
3H ; refresh
30M ; retry
4w2d ; expiry
1D ) ; minimum
;; rcode = 0, ancount=0
;; res_querydomain(xeon, <Nil>, 1, 28)
;; res_query(xeon, 1, 28)
;; res_mkquery(0, xeon, 1, 28)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26791
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; xeon, type = AAAA, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 26791
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; xeon, type = AAAA, class = IN
. 2h26m42s IN SOA A.ROOT-SERVERS.NET.
NSTLD.VERISIGN-GRS.COM. (
2002082900 ; serial
30M ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
;; rcode = 3, ancount=0
***delay occurs here...
;; res_querydomain(xeon.example.org., <Nil>, 1, 1)
;; res_query(xeon.example.org, 1, 1)
;; res_mkquery(0, xeon.example.org, 1, 1)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26792
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; xeon.example.org, type = A, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26792
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL:
1
;; xeon.example.org, type = A, class = IN
xeon.example.org. 1M IN A 192.168.0.18
example.org. 1M IN NS xeon.example.org.org.
xeon.example.org.org. 14m47s IN A 127.0.0.1
220 xeon.example.org ESMTP Sendmail 8.12.5/8.12.5; Thu, 29 Aug 2002
13:36:28 -0400 (EDT)
>>> EHLO xeon.example.org
250-xeon.example.org Hello xeon [192.168.0.18], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-DELIVERBY
250 HELP
>>> MAIL From:<dan@xeon.example.org> SIZE=9
250 2.1.0 <dan@xeon.example.org>... Sender ok
>>> RCPT To:<dan@m20.example.org>
>>> DATA
250 2.1.5 <dan@m20.example.org>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 g7THaSRq079062 Message accepted for delivery
dan@m20.example.org... Sent (g7THaSRq079062 Message accepted for
delivery)
Closing connection to xeon.example.org.
>>> QUIT
221 2.0.0 xeon.example.org closing connection
[dan@xeon:~] $
Thank you.
--
Dan Langille
I'm looking for a computer job:
http://www.freebsddiary.org/dan_langille.php
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D6E243B.1515.8EB744E7>
