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
commit2382aae4071753c0354480452893bd0f53bd848d (patch)
tree128efe74e1052046595f1c81d7d63e91ffc72526
parent68a824ce1ae1e97d56f7582db2ff815af1d616f7 (diff)
downloadsrc-2382aae4071753c0354480452893bd0f53bd848d.tar.gz
src-2382aae4071753c0354480452893bd0f53bd848d.zip
Grab ip_fil_freebsd.c r1.42 from the ipfilter CVS tree to fix,vendor/ipfilter
3529491 checksum validation could be better 3529486 tcp checksum wrong for ipv6 Approved by: glebius
Notes
Notes: svn path=/vendor/ipfilter/dist/; revision=255260
-rw-r--r--ip_fil_freebsd.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/ip_fil_freebsd.c b/ip_fil_freebsd.c
index 740ab8f99669..efecf0a90869 100644
--- a/ip_fil_freebsd.c
+++ b/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;