HomeFreeBSD

Fix the problem with SP PCB cache.

Description

Fix the problem with SP PCB cache.

tcp_input() uses ipsec[46]_in_reject() to check mbuf agaist inbound
security policies. We use SP PCB cache to store result of policy lookup
in the given inpcb. If inpcb belongs to listening socket that is bound
to ANY address, the lookup result for another connection may differs.
Thus cached policy will prevent another connection establishing.

Store inbound policy in the cache only if local address in PCB isn't
equal to INADDR_ANY.

Details

Provenance
aeAuthored on
Parents
rS310038: Revert r309918 -- modern POSIX has deprecated -<#>/+<#> syntax
Branches
Unknown
Tags
Unknown