efdf104bca
dereferencing, when checking for SO_REUSEPORT option (and SO_REUSEADDR for multicast), INP_REUSEPORT flag was introduced to cache the socket option. It was decided then that one flag would be enough to cache both SO_REUSEPORT and SO_REUSEADDR: when processing SO_REUSEADDR setsockopt(2), it was checked if it was called for a multicast address and INP_REUSEPORT was set accordingly. Unfortunately that approach does not work when setsockopt(2) is called before binding to a multicast address: the multicast check fails and INP_REUSEPORT is not set. Fix this by adding INP_REUSEADDR flag to unconditionally cache SO_REUSEADDR. PR: 179901 Submitted by: Michael Gmelin freebsd grem.de (initial version) Reviewed by: rwatson MFC after: 1 week |
||
---|---|---|
.. | ||
dest6.c | ||
frag6.c | ||
icmp6.c | ||
icmp6.h | ||
in6_cksum.c | ||
in6_gif.c | ||
in6_gif.h | ||
in6_ifattach.c | ||
in6_ifattach.h | ||
in6_mcast.c | ||
in6_pcb.c | ||
in6_pcb.h | ||
in6_pcbgroup.c | ||
in6_proto.c | ||
in6_rmx.c | ||
in6_src.c | ||
in6_var.h | ||
in6.c | ||
in6.h | ||
ip6_ecn.h | ||
ip6_forward.c | ||
ip6_id.c | ||
ip6_input.c | ||
ip6_ipsec.c | ||
ip6_ipsec.h | ||
ip6_mroute.c | ||
ip6_mroute.h | ||
ip6_output.c | ||
ip6_var.h | ||
ip6.h | ||
ip6protosw.h | ||
mld6_var.h | ||
mld6.c | ||
mld6.h | ||
nd6_nbr.c | ||
nd6_rtr.c | ||
nd6.c | ||
nd6.h | ||
pim6_var.h | ||
pim6.h | ||
raw_ip6.c | ||
raw_ip6.h | ||
route6.c | ||
scope6_var.h | ||
scope6.c | ||
sctp6_usrreq.c | ||
sctp6_var.h | ||
send.c | ||
send.h | ||
tcp6_var.h | ||
udp6_usrreq.c | ||
udp6_var.h |