[ntp:questions] Pool returns IPv6 address to IPv4 query

Rob nomail at example.com
Wed Nov 20 09:44:53 UTC 2013


Brian Utterback <brian.utterback at oracle.com> wrote:
> On 11/19/2013 3:40 PM, Danny Mayer wrote:
>> You should not be using literal IP addresses of either flavor without
>> also setting the AI_NUMERICHOST flag otherwise it tries to do a DNS
>> lookup. That's poorly written code otherwise.
>>
>> Danny
>
> Not so. The getaddrinfo function will recognize literal addresses and 
> merely convert them. The point is that for something like ssh or any 
> other network utility, the user is supposed to give a hostname, but in 
> virtually all cases you can give a literal address and the application 
> does not have to treat it differently. If you read the ipng mailing 
> list, you will see that they were trying to make the whole process of 
> writing a network application simpler, with getaddrinfo doing the heavy 
> lifting for all of the major cases. At the same time they were trying to 
> allow applications to work on either IPv4 or IPv6 systems without 
> changing them, or dual stack or any combination. But no matter what they 
> did there were edge cases that needed to work differently.
>
> Brian Utterback

Well most of it was successfull, I converted an application from the
old functions to getaddrinfo/getnameinfo etc, and it really is more
convenient to program for.

However, what I don't understand is why an IPv6 address does not fit
into a struct sockaddr, and why this fact is so badly documented.
It took me a lot of time to find why my queried IPv6 addresses were
truncated.



More information about the questions mailing list