Date: Wed, 07 Mar 2018 15:10:39 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 226421] v6 address truncated and socket type shows "tcp46" when IPv4 mapping enabled Message-ID: <bug-226421-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D226421 Bug ID: 226421 Summary: v6 address truncated and socket type shows "tcp46" when IPv4 mapping enabled Product: Base System Version: 11.1-STABLE Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: kern Assignee: freebsd-bugs@FreeBSD.org Reporter: dan.mcgregor@usask.ca Created attachment 191279 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D191279&action= =3Dedit Proposed patch to correct IPv6 vs IPv4 check in receive path Since bug 221385's been closed, with net.inet6.ip6.v6only=3D0, a socket lis= tening on an IPv6 address accepts a connection from another IPv6 host, the accepted socket shows type "tcp46" and has its address truncated to the lower 32 bit= s: USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS dan sshd 711 3 tcp46 254.11.122.185:22 0.0.0.2:47615 root sshd 708 3 tcp46 254.11.122.185:22 0.0.0.2:47615 The addresses are the lower 32 bits of the IPv6 addresses in question, 2001:470:1f17:273:2a0:98ff:fe0b:7ab9 and 2001:470:1c:4df::2. The expected result would be: USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS dan sshd 40475 3 tcp6 2001:470:30f3:1:ca60:ff:fe5f:c1f3:22 2001:470:30f3:1:922b:34ff:fe5d:d4b3:33558 root sshd 35424 3 tcp6 2001:470:30f3:1:ca60:ff:fe5f:c1f3:22 2001:470:30f3:1:922b:34ff:fe5d:d4b3:33558 This appears to be due to the kernel assuming any socket whose inp_vflag includes IPv4 is an IPv4 socket. The accepted socket inherits that value fr= om the parent socket. It should only have tcp46 for listening sockets, and in accept check that only INP_IPV4 is set. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-226421-8>