svn commit: r324686 - stable/11/sys/netinet
Konstantin Belousov
kostikbel at gmail.com
Sun Dec 3 13:39:53 UTC 2017
On Tue, Oct 17, 2017 at 12:42:17PM +0000, Michael Tuexen wrote:
> Author: tuexen
> Date: Tue Oct 17 12:42:17 2017
> New Revision: 324686
> URL: https://svnweb.freebsd.org/changeset/base/324686
>
> Log:
> MFC r322648:
>
> Ensure inp_vflag is consistently set for TCP endpoints.
>
> Make sure that the flags INP_IPV4 and INP_IPV6 are consistently set
> for inpcbs used for TCP sockets, no matter if the setting is derived
> from the net.inet6.ip6.v6only sysctl or the IPV6_V6ONLY socket option.
> For UDP this was already done right.
>
> PR: 221385
>
> Modified:
> stable/11/sys/netinet/tcp_usrreq.c
> Directory Properties:
> stable/11/ (props changed)
>
> Modified: stable/11/sys/netinet/tcp_usrreq.c
> ==============================================================================
> --- stable/11/sys/netinet/tcp_usrreq.c Tue Oct 17 11:20:32 2017 (r324685)
> +++ stable/11/sys/netinet/tcp_usrreq.c Tue Oct 17 12:42:17 2017 (r324686)
> @@ -1899,6 +1899,8 @@ tcp_attach(struct socket *so)
> #ifdef INET6
> if (inp->inp_vflag & INP_IPV6PROTO) {
> inp->inp_vflag |= INP_IPV6;
> + if ((inp->inp_flags & IN6P_IPV6_V6ONLY) == 0)
> + inp->inp_vflag |= INP_IPV4;
> inp->in6p_hops = -1; /* use kernel default */
> }
> else
I highly suspect that this commit causes the breakage. Example is taken
from the 'nestat -f inet6 -n' output, but in fact the problem is much
more serious, e.g. squid acls are broken as well:
tcp6 0 0 2001:470:1f14:13.23047 2a03:2880:f003:c.443 ESTABLISHED
tcp46 0 0 0.0.0.1.22 69.223.183.85.58766 ESTABLISHED
The tcp46 and 0.0.0.1 values in the second line are clearly nonsensical.
More information about the svn-src-stable
mailing list