[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Nmh-workers] annoying DNS lookups

From: Harald Geyer
Subject: [Nmh-workers] annoying DNS lookups
Date: Tue, 10 May 2011 22:37:34 +0200


I observe that on one of my machines (IPv6 only system) every time I
run scan/show/repl (and probably others) a DNS query for the A record
of the machines hostname is sent. If a NXDOMAIN comes back everything is
fine, but if the request is lost then the command hangs for a few seconds.

This might be a bug in nmh, the gnu libc, both or neither. I'd like your
opinion on this.

I think this is caused by the following lines in sbr/mts.c

        /* now fully qualify our name */

        memset(&hints, 0, sizeof(hints));
        hints.ai_flags = AI_CANONNAME;
        hints.ai_family = PF_UNSPEC;
        if (getaddrinfo(buffer, NULL, &hints, &res) == 0) {
            strncpy(buffer, res->ai_canonname, sizeof(buffer) - 1);

It seems that getaddrinfo tries to lookup the IPv4 address of the
hostname and then do a reverse lookup to get the FQDN but doesn't 
find it in /etc/hosts (because the system is v6 only) and thus
goes on asking the DNS.

I think this is a bug in the libc, because it should use the IPv6
entry in my /etc/hosts.

I think this might also be a bug in nmh, because I don't see why 
show would need to now the FQDN of the maschine it is running
on. I expect it to show a message the same no matter from which
computer I'm using it. Also this logic to determine the FQDN might
be a bad default nowadays as most computers have addresses from
private ip ranges via DHCP and garbage in their /etc/hosts.
But I have to admit: I never noticed any problems before.

For now the workaround is quite easy: Just define localname in
mts.conf ...


reply via email to

[Prev in Thread] Current Thread [Next in Thread]