ipf mistakenly regards UDP packets with a checksum of 0xffff as bad.

Obtained from:	NetBSD fil.c r1.30, NetBSD PR/54443
MFC after:	3 days
This commit is contained in:
cy 2019-09-26 03:09:42 +00:00
parent b932f6947a
commit e0d60d0aa2

View File

@ -6730,8 +6730,11 @@ ipf_checkl4sum(fin)
/*NOTREACHED*/
}
if (csump != NULL)
if (csump != NULL) {
hdrsum = *csump;
if (fin->fin_p == IPPROTO_UDP && hdrsum == 0xffff)
hdrsum = 0x0000;
}
if (dosum) {
sum = fr_cksum(fin, fin->fin_ip, fin->fin_p, fin->fin_dp);