In #978 , we discussed the changes necessary to begin DNS IPv6 support which are reflected #1002 . For the fallback "auto" policy, we decided to query ares_gethostbyname twice. Once with parameter AF_INET6 and then with parameter AF_INET if the original query failed.
An alternative option would be to use the AF_UNSPEC option provided in the c-ares library. This should ideally implement the "auto" policy desired. However, it is currently lacking in two parts:
1.Does not support returning multiple types of addresses
- Has unpredictable behavior. For example, returning the IPv4 localhost address even when IPv6 is supported.
If either or both of these issues are supported by c-ares AF_UNSPEC, we should revisit this issue.
In #978 , we discussed the changes necessary to begin DNS IPv6 support which are reflected #1002 . For the fallback "auto" policy, we decided to query ares_gethostbyname twice. Once with parameter AF_INET6 and then with parameter AF_INET if the original query failed.
An alternative option would be to use the AF_UNSPEC option provided in the c-ares library. This should ideally implement the "auto" policy desired. However, it is currently lacking in two parts:
1.Does not support returning multiple types of addresses
If either or both of these issues are supported by c-ares AF_UNSPEC, we should revisit this issue.