DHCP filter should check MF flag is not set
See bionic/libc/include/netinet/ip.h, where we have:
IP_RF 0x8000 // reserved fragment flag
IP_DF 0x4000 // don't fragment flag
IP_MF 0x2000 // more fragments flag
IP_OFFMASK 0x1fff // mask for fragmenting bits
A non-fragmented IPv4 packet has:
(a) all 13 IP_OFFMASK bits set to 0 (since the offset is zero)
(b) IP_MF clear (since there are no more fragments)
(c) IP_DF either set or clear
(d) IP_RF is theoretically always cleared... but it is reserved.
The current code would actually match an initial fragment.
Test: TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I27b3d21c56daacf97685798c476532bc948035aa
1 file changed