Subject: Re: [RFC] Support querying IPv6 servers

Re: [RFC] Support querying IPv6 servers

From: Phil Blundell <pb_at_reciva.com>
Date: Wed, 26 Nov 2008 21:26:03 +0000

On Wed, 2008-11-26 at 20:29 +0100, Yang Tse wrote:
> As you have already mentioned it breaks ABI compatibility due to the
> change it introduces in one of the ares_options structure member. Yes
> the affected member is the 'servers' member which changes its data
> type. And the change is unavoidable if we want to support ipv6
> servers.

It isn't completely unavoidable: one could create a new option, say
ARES_OPT_IPV6_SERVERS, with a corresponding new member at the end of
struct ares_options, to be used by new applications. (Obviously,
despite the name, you could in fact pass both v4 and v6 servers through
this interface.) Since the applications need to change anyway to pass
in v6 servers, this doesn't seem like it would be much of a problem.
Old sources and binaries would go on passing ARES_OPT_SERVERS and
filling in the old "servers" member, which would continue to work just
fine.

p.
Received on 2008-11-26