Skip site navigation (1)Skip section navigation (2)
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>