Hi,
draft-gieben-resolver-application-interface-00.txt sketches what kind
of information the application and the resolver could have through an
interface. This has been discussed in dnsext at least in Feb 2004.
What has been the outcome?
The reason why I got interested was because section 8.2 of
draft-ietf-dnsop-ipv6-dns-issues-08.txt (see below) shows that the
application should be able to be aware of the TTL of the records,
easily, so that it could discard expired records from the memory if
it's built around in such a way that it would be feasible to do so.
As it is, the applications typically query a name when they start and
use it forever, irregardless of the TTL. (And if the
application-resolver interface needs work in any case....)
IMHO, it seem to be worth adding the TTL information to getaddrinfo()
functions.
from draft-ietf-dnsop-ipv6-dns-issues-08.txt:
8.2 Renumbering Procedures and Applications' Use of DNS
One of the most difficult problems of systematic IP address
renumbering procedures [I-D.ietf-v6ops-renumbering-procedure] is that
an application which looks up a DNS name disregards information such
as TTL, and uses the result obtained from DNS as long as it happens
to be stored in the memory of the application. For applications
which run for a long time, this could be days, weeks or even months;
some applications may be clever enough to organize the data
structures and functions in such a manner that look-ups get refreshed
now and then.
While the issue appears to have a clear solution, "fix the
applications", practically this is not reasonable immediate advice;
the TTL information is not typically available in the APIs and
libraries (so, the advice becomes "fix the applications, APIs and
libraries"), and a lot more analysis is needed on how to practically
go about to achieve the ultimate goal of avoiding using the names
longer than expected.
--
Pekka Savola "You each name yourselves king, yet the
Netcore Oy kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings
.
dnsop resources:_____________________________________________________
web user interface: http://darkwing.uoregon.edu/~llynch/dnsop.html
mhonarc archive: http://darkwing.uoregon.edu/~llynch/dnsop/index.html