CVSROOT: /cvs Module name: src Changes by: henn...@cvs.openbsd.org 2009/06/07 18:50:30
Modified files: sys/net : pfvar.h Log message: unfuck PF_AEQ PF_ANEQ PF_AZERO macos that got fucked when v6 support was added in 2001. yes i got bitten by inet6 shit again. in the ANEQ case, if af == AF_INET, (a)->addr32[0] != (b)->addr32[0] is false when the adresses ARE equal. now it goes right in the intended-for-v6 case and starts to compare the other addr32 fields - in the v4 case I have garbage in them, so it reports all v4 as different when they are in fact the same. fix by adding explicit af == INET6 test before going on to compare the rest. found the really hard way (many hours wasted, thought the bug was in my new code) by me. ok sthen markus claudio