From d26c3330eef41f07d9782d523b715dbbe762e717 Mon Sep 17 00:00:00 2001 From: Eric Newberry Date: Fri, 22 Jul 2016 10:24:22 -0700 Subject: [PATCH] Recognize loopback IPv4-mapped IPv6 addresses as loopback --- include/boost/asio/ip/impl/address_v6.ipp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/boost/asio/ip/impl/address_v6.ipp b/include/boost/asio/ip/impl/address_v6.ipp index 1080c99d..c66b7e85 100644 --- a/include/boost/asio/ip/impl/address_v6.ipp +++ b/include/boost/asio/ip/impl/address_v6.ipp @@ -169,7 +169,8 @@ bool address_v6::is_loopback() const && (addr_.s6_addr[8] == 0) && (addr_.s6_addr[9] == 0) && (addr_.s6_addr[10] == 0) && (addr_.s6_addr[11] == 0) && (addr_.s6_addr[12] == 0) && (addr_.s6_addr[13] == 0) - && (addr_.s6_addr[14] == 0) && (addr_.s6_addr[15] == 1)); + && (addr_.s6_addr[14] == 0) && (addr_.s6_addr[15] == 1)) + || (is_v4_mapped() && (addr_.s6_addr[12] == 0x7f)); } bool address_v6::is_unspecified() const