Sean Mac
Sean Mac

Reputation: 51

Is this a bug in inet_pton with IPv6?

When trying to resolve Facebook's numeric IP address as a test 2620:0:1cfe:face:b00c::3:, if I leave the terminating 0 off the address, inet_pton() barfs. If I put it back on everything works.

Running ubuntu 9.10:

rc = inet_pton(AF_INET6, "2620:0:1cfe:face:b00c::3:0", &ip); -> OK
rc = inet_pton(AF_INET6, "2620:0:1cfe:face:b00c::3:", &ip); -> returns -2

ping6 -n www.v6.facebook.com returns the IP address w/o the trailing 0.

Upvotes: 3

Views: 1163

Answers (1)

Sean Mac
Sean Mac

Reputation: 51

It seems that ping, in it's great wisdom, adds a colon after the IP address like so:

PING maclawran.ca (173.230.128.18) 56(84) bytes of data.
64 bytes from ns.maclawran.ca (173.230.128.18): icmp_seq=1 ttl=51 time=50.3 ms

Of course if you're pinging an IPv6 address, it's already got lots of colons in it:

PING 2620:0:1cfe:face:b00c::3(2620:0:1cfe:face:b00c::3) 56 data bytes
64 bytes from 2620:0:1cfe:face:b00c::3: icmp_seq=1 ttl=52 time=9.44 ms
======================================^ << THANKS PING

Upvotes: 2

Related Questions