]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #4083: bad checksum fix
authorVISHAL RATNAKAR KHARVI -X (vkharvi - XORIANT CORPORATION at Cisco) <vkharvi@cisco.com>
Mon, 6 Nov 2023 20:22:08 +0000 (20:22 +0000)
committerSteve Chew (stechew) <stechew@cisco.com>
Mon, 6 Nov 2023 20:22:08 +0000 (20:22 +0000)
Merge in SNORT/snort3 from ~VKHARVI/snort3:proto_51_fix to master

Squashed commit of the following:

commit bff3344649af8f6eb2e8e48679aa802df7d92e5c
Author: VISHAL RATNAKAR KHARVI -X (vkharvi - XORIANT CORPORATION at Cisco) <vkharvi@cisco.com>
Date:   Wed Nov 1 18:43:15 2023 +0530

    codecs: Fix bad checksum when auth(51) protocol header is present between IP and TCP layer.

src/codecs/ip/cd_tcp.cc
src/codecs/ip/cd_udp.cc

index 5df64e66eeac1fd9689c5e983ae877d5249246f7..178871f337a2fbcb1d986f9b9a047b3737718920 100644 (file)
@@ -178,7 +178,7 @@ bool TcpCodec::valid_checksum4(const RawData& raw, DecodeData& snort)
     ph.hdr.sip = ip4h->get_src();
     ph.hdr.dip = ip4h->get_dst();
     ph.hdr.zero = 0;
-    ph.hdr.protocol = ip4h->proto();
+    ph.hdr.protocol = IpProtocol::TCP;
     ph.hdr.len = htons((uint16_t) raw.len);
 
     return (checksum::tcp_cksum((const uint16_t*) raw.data, raw.len, ph) == 0);
index 9dd9327e3211cf5a6137cc29cdf9f6914bd9e7f4..22ebbce4bb97e39a8ee83b3d2dfbca4c022069e5 100644 (file)
@@ -283,7 +283,7 @@ bool UdpCodec::valid_checksum4(const RawData& raw, const DecodeData& snort)
     ph.hdr.sip = ip4h->get_src();
     ph.hdr.dip = ip4h->get_dst();
     ph.hdr.zero = 0;
-    ph.hdr.protocol = ip4h->proto();
+    ph.hdr.protocol = IpProtocol::UDP;
     ph.hdr.len = htons((uint16_t) raw.len);
 
     return (checksum::udp_cksum((const uint16_t*) raw.data, raw.len, ph) == 0);