From 0b46c72d62ec596492e7277cea1b9f4fa6ed7078 Mon Sep 17 00:00:00 2001 From: Duncan Roe Date: Sun, 17 Nov 2019 13:35:40 +1100 Subject: src: Fix IPv4 checksum calculation in AF_BRIDGE packet buffer Updated: src/extra/pktbuff.c: If pktb was created in family AF_BRIDGE, then pktb->len will include the bytes in the network header. So set the IPv4 length to "tail - network_header" rather than len Signed-off-by: Duncan Roe Signed-off-by: Pablo Neira Ayuso --- src/extra/ipv4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/extra/ipv4.c b/src/extra/ipv4.c index 0227b62..c03f23f 100644 --- a/src/extra/ipv4.c +++ b/src/extra/ipv4.c @@ -117,7 +117,7 @@ int nfq_ip_mangle(struct pkt_buff *pktb, unsigned int dataoff, return 0; /* fix IP hdr checksum information */ - iph->tot_len = htons(pktb->len); + iph->tot_len = htons(pktb->tail - pktb->network_header); nfq_ip_set_checksum(iph); return 1; -- cgit v1.2.3