diff options
author | glebius <glebius@FreeBSD.org> | 2014-08-15 04:35:34 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2014-08-15 04:35:34 +0000 |
commit | 45bdeab3db9db2a300285e12c262d96de3772249 (patch) | |
tree | fdb17548b963bfd02aa2759d268d4910f44da122 /sys | |
parent | dd40fa7e626debcd82f3b28a34abe44e5ac3a103 (diff) | |
download | FreeBSD-src-45bdeab3db9db2a300285e12c262d96de3772249.zip FreeBSD-src-45bdeab3db9db2a300285e12c262d96de3772249.tar.gz |
Fix synproxy with IPv6. pf_test6() was missing a check for M_SKIP_FIREWALL.
PR: 127920
Submitted by: Kajetan Staszkiewicz <vegeta tuxpowered.net>
Sponsored by: InnoGames GmbH
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netpfil/pf/pf.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index ec7c786..d65bea9 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6066,6 +6066,9 @@ pf_test6(int dir, struct ifnet *ifp, struct mbuf **m0, struct inpcb *inp) if (kif->pfik_flags & PFI_IFLAG_SKIP) return (PF_PASS); + if (m->m_flags & M_SKIP_FIREWALL) + return (PF_PASS); + PF_RULES_RLOCK(); /* We do IP header normalization and packet reassembly here */ |