Sorry for noise.

Someone in this list send me a mail but I cannot reply to the mail because of dns failure in smtp.
This is a private message to him.

ar% pwd
/sys/log
ar% tail smtp.fail
ar Aug 24 08:30:13 dns: dns failure (net!sounine.nanosouffle.net)
ar Aug 24 09:40:13 dns: dns failure (net!sounine.nanosouffle.net)
ar Aug 24 10:50:13 dns: dns failure (net!sounine.nanosouffle.net)
ar Aug 24 12:00:13 dns: dns failure (net!sounine.nanosouffle.net)
ar Aug 24 13:10:14 dns: dns failure (net!sounine.nanosouffle.net)
ar Aug 24 14:20:13 dns: dns failure (net!sounine.nanosouffle.net)
ar Aug 24 15:30:13 dns: dns failure (net!sounine.nanosouffle.net)
ar Aug 24 16:40:13 dns: dns failure (net!sounine.nanosouffle.net)
ar Aug 24 17:50:13 dns: dns failure (net!sounine.nanosouffle.net)
ar Aug 24 19:16:08 dns: dns failure (net!sounine.nanosouffle.net)
ar% ndb/dnsquery
> sounine.nanosouffle.net mx
!dns: resource does not exist
> sounine.nanosouffle.net
sounine.nanosouffle.net ip      75.58.233.41
>


I think mx record is required in official dns server, although I feel the condition is too strict.

/sys/src/cmd/upas/smtp/mxdial.c

        nmx = 0;
        snprint(buf, sizeof buf, "%s mx", ds->host);
        if(debug)
                fprint(2, "sending %s '%s'\n", dnsname, buf);
        /*
         * don't hang indefinitely in the write to /net/dns.
         */
        n = timedwrite(fd, buf, strlen(buf), 60*1000);
        if(n < 0){
                rerrstr(buf, sizeof buf);
                if(debug)
                        fprint(2, "dns: %s\n", buf);
                if(strstr(buf, "dns failure")){
                        /* if dns fails for the mx lookup, we have to stop */
                        close(fd);
                        return -1;
                }
        } else {


Kenji Arisawa
Email: [EMAIL PROTECTED]



Reply via email to