On Tue, Sep 18, 2001 at 10:23:14AM +0800, Mike Berry-Porter wrote:
> Hi,
>
> Yes, I too like many others out there in the qmail world am having problems
> sending mail to hotmail.com unless it's fresh in my server's BIND 8.2.4
> cache. I've been reading the archives for all the posts on this issue and I
> have installed the bigdns patch and tried various other suggestions offered
> by people. In short (with relevant detail), here's what happens:
>
SNIP lotsa perfectly valid diagnostics
>
> - I do a "nslookup hotmail.com" (yes I know it's obsolete)
>
> - I do a "dig mx hotmail.com +norec" again. This time I get hotmail.com zone
> MX info.
>
> ;; Total query time: 8 msec
>
>
>
> - I do a "qmailctl flush". Finally, it gets through
>
>
> OK, so far so good. So I guess where I'm at a loss is why the nslookup
> command works, but the dig command (and qmail) doesn't?
>
I'm guessing that it's because you specifically told BIND not to recurse
every time you used 'dig', but did not do so with nslookup. Here's
another guess -- when the records are already in the cache, an MX lookup
is not a problem -- a straight MX lookup to a BIND cache for MX
hotmail.com is only 508 bytes.
>
>
> Is this something I should bring up with the Bind people? I'd like to
> see this resolved and perhaps added to the FAQ once the proper answer
> is found. Is should be also noted that all other services (Squid
> cache, MSN messenger, etc.) seem to work fine with the hotmail.com
> zone, and all use the same machine's DNS.
I can't (much as I might like to) see this as a BIND bug, so much as a
difference in implementation. qmail is doing an ANY query for the zone,
and getting the ridiculously large 890 byte response. It seems not to
make that query when the cache has been primed (perhaps someone more
fluent in C or familiar with the qmail code might correct me here), and
thus does not have the problem.
Hate to ask this, but you _did_ reinstall qmail ('make setup check')
after applying the patch, right? Kinds acts like it's unpatched.
Other workarounds:
1. 'dig any hotmail.com' in cron every 3500 seconds. Ugly, but it will
work (TTL seems to be 3600 seconds).
2. Stop using BIND. :) Seriously, I use dnscache for all production
qmail machines, anywhere (even in a BIND only place I used to work --
the mailserver was my problem, and I insisted).
--
Greg White