From e7ca002c35ff5c505e75501cb18420ebe4c454f7 Mon Sep 17 00:00:00 2001 From: cy Date: Sun, 29 Sep 2019 03:41:15 +0000 Subject: [PATCH] MFC r352737: ipf mistakenly regards UDP packets with a checksum of 0xffff as bad. Obtained from: NetBSD fil.c r1.30, NetBSD PR/54443 git-svn-id: svn://svn.freebsd.org/base/stable/10@352866 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/contrib/ipfilter/netinet/fil.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/contrib/ipfilter/netinet/fil.c b/sys/contrib/ipfilter/netinet/fil.c index 007ce6c69..f8787b036 100644 --- a/sys/contrib/ipfilter/netinet/fil.c +++ b/sys/contrib/ipfilter/netinet/fil.c @@ -6695,8 +6695,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); -- 2.42.0