ipv6: Handle IPv4-mapped src to in6addr_any dst.
authorJonathan T. Leighton <jtleight@udel.edu>
Sun, 12 Feb 2017 22:26:07 +0000 (17:26 -0500)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Feb 2017 17:13:51 +0000 (12:13 -0500)
commit052d2369d1b479cdbbe020fdd6d057d3c342db74
tree16f83a2393edec2827eac68eac1d1e739dcb862f
parentec5e3b0a1d41fbda0cc33a45bc9e54e91d9d12c7
ipv6: Handle IPv4-mapped src to in6addr_any dst.

This patch adds a check on the type of the source address for the case
where the destination address is in6addr_any. If the source is an
IPv4-mapped IPv6 source address, the destination is changed to
::ffff:127.0.0.1, and otherwise the destination is changed to ::1. This
is done in three locations to handle UDP calls to either connect() or
sendmsg() and TCP calls to connect(). Note that udpv6_sendmsg() delays
handling an in6addr_any destination until very late, so the patch only
needs to handle the case where the source is an IPv4-mapped IPv6
address.

Signed-off-by: Jonathan T. Leighton <jtleight@udel.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/datagram.c
net/ipv6/tcp_ipv6.c
net/ipv6/udp.c