You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

13 lines
424 B

--- 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 */