aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2013-09-05 18:45:23 +0000
committerCy Schubert <cy@FreeBSD.org>2013-09-05 18:45:23 +0000
commit7540f28ef8ee72f87099d60bbbfcea5490715a93 (patch)
tree35a0226ee5883970d574540e6fc3a01046d4de7e
parent2472f6195d393ad615e38aa6b28f490489671d46 (diff)
downloadsrc-7540f28ef8ee72f87099d60bbbfcea5490715a93.tar.gz
src-7540f28ef8ee72f87099d60bbbfcea5490715a93.zip
Grab ip_fil_freebsd.c r1.42 from the ipfilter CVS tree to fix,vendor/ipfilter-sys
3529491 checksum validation could be better 3529486 tcp checksum wrong for ipv6 Approved by: glebius
Notes
Notes: svn path=/vendor-sys/ipfilter/dist/; revision=255260
-rw-r--r--netinet/ip_fil_freebsd.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/netinet/ip_fil_freebsd.c b/netinet/ip_fil_freebsd.c
index 740ab8f99669..efecf0a90869 100644
--- a/netinet/ip_fil_freebsd.c
+++ b/netinet/ip_fil_freebsd.c
@@ -1244,9 +1244,7 @@ ipf_checkv4sum(fin)
else
sum = in_pseudo(ip->ip_src.s_addr, ip->ip_dst.s_addr,
htonl(m->m_pkthdr.csum_data +
- fin->fin_ip->ip_len -
- (fin->fin_ip->ip_hl << 2) +
- fin->fin_p));
+ fin->fin_dlen + fin->fin_p));
sum ^= 0xffff;
if (sum != 0) {
fin->fin_cksum = FI_CK_BAD;