summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <luiz@netgate.com>2017-01-09 19:50:25 -0600
committerLuiz Souza <luiz@netgate.com>2017-07-17 21:47:17 -0500
commitfa0114d27f9a69e3f13f58afa1a63850cd4dc169 (patch)
tree4959af2e2eec2a4c3636f9e5cc25d99e00200aa8
parent5220451c59ae584fe77f5060d634d44475db71ed (diff)
downloadFreeBSD-src-fa0114d27f9a69e3f13f58afa1a63850cd4dc169.zip
FreeBSD-src-fa0114d27f9a69e3f13f58afa1a63850cd4dc169.tar.gz
While we always store the interface in the every state, we do not do strict searches based on interface as this will cause issues with multi-wan setups.
Ticket #6986 (cherry picked from commit 114dc4a89011a560c32421ca842ca73f5b29d449)
-rw-r--r--sys/netpfil/pf/pf.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index ce055ac..084072c0 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -1388,7 +1388,8 @@ pf_find_state(struct pfi_kif *kif, struct pf_state_key_cmp *key, u_int dir)
/* List is sorted, if-bound states before floating ones. */
TAILQ_FOREACH(s, &sk->states[idx], key_list[idx])
- if (s->kif == V_pfi_all || s->kif == kif) {
+ /* if (s->kif == V_pfi_all || s->kif == kif) { */
+ {
PF_STATE_LOCK(s);
PF_HASHROW_UNLOCK(kh);
if (s->timeout >= PFTM_MAX) {
OpenPOWER on IntegriCloud