From: kp Date: Sat, 7 Nov 2015 23:51:42 +0000 (+0000) Subject: pf: Fix broken rule skip calculation X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=56bf96006a33d46114e9cee6977f9dad3a78f9c4;p=people%2Fliuw%2Ffreebsd.git pf: Fix broken rule skip calculation r289932 accidentally broke the rule skip calculation. The address family argument to PF_ANEQ() is now important, and because it was set to 0 the macro always evaluated to false. This resulted in incorrect skip values, which in turn broke the rule evaluations. --- diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 1dfc37dd04f..762b82edc8a 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -1973,9 +1973,9 @@ pf_addr_wrap_neq(struct pf_addr_wrap *aw1, struct pf_addr_wrap *aw2) switch (aw1->type) { case PF_ADDR_ADDRMASK: case PF_ADDR_RANGE: - if (PF_ANEQ(&aw1->v.a.addr, &aw2->v.a.addr, 0)) + if (PF_ANEQ(&aw1->v.a.addr, &aw2->v.a.addr, AF_INET6)) return (1); - if (PF_ANEQ(&aw1->v.a.mask, &aw2->v.a.mask, 0)) + if (PF_ANEQ(&aw1->v.a.mask, &aw2->v.a.mask, AF_INET6)) return (1); return (0); case PF_ADDR_DYNIFTL: