]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r289932, r289940:
authorkp <kp@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 17 Aug 2016 15:14:21 +0000 (15:14 +0000)
committerkp <kp@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 17 Aug 2016 15:14:21 +0000 (15:14 +0000)
commit22c36ff73820415a1ffd2403e9e48decfb85775b
tree36d369cb4cf49221c5dc8dd1dbaae258ec1a00d5
parent9545a485802f5436d52f2851ababe796a0883a50
MFC r289932, r289940:

PF_ANEQ() macro will in most situations returns TRUE comparing two identical
IPv4 packets (when it should return FALSE). It happens because PF_ANEQ() doesn't
stop if first 32 bits of IPv4 packets are equal and starts to check next 3*32
bits (like for IPv6 packet). Those bits containt some garbage and in result
PF_ANEQ() wrongly returns TRUE.

Fix: Check if packet is of AF_INET type and if it is then compare only first 32
bits of data.

PR:             204005
Submitted by:   MiƂosz Kaniewski

git-svn-id: svn://svn.freebsd.org/base/stable/10@304293 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/net/pfvar.h