At 11:52 AM 6/21/2005 +0100, Tony Finch wrote:
On Mon, 20 Jun 2005, John Leslie wrote:
The complexity is substantial, though. One could have to do an arbitrary
number of A)ddress lookups to find whether any of them include the IP
address of the sending SMTP client;
No: as in the single SRV case the A records are expected to be supplied in
the ADDITIONAL section of the response.
You may get all the _SRV_ RRs in one query, but you're stuck not knowing
whether you've gotten all the A)ddress RRs. (As I understand Exim, you
have to run extra A)ddress queries anyway, so this isn't a cost to you.)
That's only because the DNS client cannot tell whether an A record is
missing from the ADDITIONAL record because it doesn't exist, or it
is missing because the DNS server doesn't support SRV properly. Exim gets
the A and AAAA records from the ADDITIONAL section if they are present,
without extra lookups.
Isn't there an inherent problem with using DNS to get a complete set of
records, because, for load distribution purposes, DNS is designed to treat
all records of a given type as equivalent and interchangeable? From "DNS
and BIND", 4th ed., p.273:
"BIND 4.9 and later ... will rotate any type of record as long as a given
domain name has more than one of them. ... The BIND documentation calls
this process 'round robin'.
Even if you do multiple queries, it seems like you can't be sure of getting
all the records, because a query from another domain might bump the
round-robin counter in the middle of your queries.
--
Dave
************************************************************ *
* David MacQuigg, PhD email: david_macquigg at yahoo.com * *
* IC Design Engineer phone: USA 520-721-4583 * * *
* Analog Design Methodologies * * *
* 9320 East Mikelyn Lane * * *
* VRS Consulting, P.C. Tucson, Arizona 85710 *
************************************************************ *