[dns-operations] Mozilla Firefox and ANY queries

Mark Andrews marka at isc.org
Sun Mar 1 20:16:47 UTC 2015


In message <87k2z0vksq.fsf at mid.deneb.enyo.de>, Florian Weimer writes:
> * Mark Andrews:
> 
> > getaddrinfo was designed to extended.  It wouldn't be hard to add ttl
> > information to getaddrinfo, just add a ai_ttl to the structure at the
> > end and define a flag to say whether it is valid.  
> 
> struct addrinfo cannot be extended in this way because its size is
> part of the ABI, and callers are even encouraged to allocate struct
> addrinfo objects to pass the hints.

And that is something that can be dealt with by setting a flag bit
when calling getaddrinfo.  As I stated getaddrinfo is designed to be
extended.
 
> I've already found one Debian package which embeds a struct addrinfo
> field in the middle of a struct defined in a header file (the shishi
> Kerberos implementation).  Unfortunately, changing struct addrinfo in
> the way you propose has an extremely high risk of breaking
> applications.
> 
> It is possible to extend getaddrinfo without change the size of struct
> addrinfo, but this will require accessor functions for the new fields.

Which itself would not be a bad thing.  Calling a function to get
the data is only slightly more expensive than directly reading a
structure element.

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: marka at isc.org



More information about the dns-operations mailing list