--- a/addrmap.c +++ b/addrmap.c @@ -44,7 +44,9 @@ int validate_ip4_addr(const struct in_ad int validate_ip6_addr(const struct in6_addr *a) { /* Well-known prefix for NAT64 */ - if (a->s6_addr32[0] == WKPF && !a->s6_addr32[1] && !a->s6_addr32[2]) + if (a->s6_addr32[0] == WKPF && + (!a->s6_addr32[1] || (a->s6_addr16[2] == htonl(0x0001))) + && !a->s6_addr32[2]) return 0; /* Reserved per RFC 2373 */