]> xenbits.xensource.com Git - people/liuw/freebsd.git/commitdiff
pf: Fix broken rule skip calculation
authorkp <kp@FreeBSD.org>
Sat, 7 Nov 2015 23:51:42 +0000 (23:51 +0000)
committerkp <kp@FreeBSD.org>
Sat, 7 Nov 2015 23:51:42 +0000 (23:51 +0000)
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.

sys/netpfil/pf/pf.c

index 1dfc37dd04f31933ec77a8f02ea0ca459729f344..762b82edc8acdcadd2bc7a3c7ec10d593e73cbbd 100644 (file)
@@ -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: