/src/suricata7/src/decode-tcp.h
Line | Count | Source |
1 | | /* Copyright (C) 2007-2022 Open Information Security Foundation |
2 | | * |
3 | | * You can copy, redistribute or modify this Program under the terms of |
4 | | * the GNU General Public License version 2 as published by the Free |
5 | | * Software Foundation. |
6 | | * |
7 | | * This program is distributed in the hope that it will be useful, |
8 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
9 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
10 | | * GNU General Public License for more details. |
11 | | * |
12 | | * You should have received a copy of the GNU General Public License |
13 | | * version 2 along with this program; if not, write to the Free Software |
14 | | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
15 | | * 02110-1301, USA. |
16 | | */ |
17 | | |
18 | | /** |
19 | | * \file |
20 | | * |
21 | | * \author Victor Julien <victor@inliniac.net> |
22 | | * \todo RAW* macro's should be returning the raw value, not the host order |
23 | | */ |
24 | | |
25 | | #ifndef __DECODE_TCP_H__ |
26 | | #define __DECODE_TCP_H__ |
27 | | |
28 | 8.42M | #define TCP_HEADER_LEN 20 |
29 | | #define TCP_OPTLENMAX 40 |
30 | | #define TCP_OPTMAX 20 /* every opt is at least 2 bytes |
31 | | * (type + len), except EOL and NOP */ |
32 | | |
33 | | /* TCP flags */ |
34 | | |
35 | 57.9M | #define TH_FIN 0x01 |
36 | 123M | #define TH_SYN 0x02 |
37 | 74.6M | #define TH_RST 0x04 |
38 | 574k | #define TH_PUSH 0x08 |
39 | 130M | #define TH_ACK 0x10 |
40 | 20.0M | #define TH_URG 0x20 |
41 | | /** Establish a new connection reducing window */ |
42 | 2.91M | #define TH_ECN 0x40 |
43 | | /** Echo Congestion flag */ |
44 | 2.91M | #define TH_CWR 0x80 |
45 | | |
46 | | /* tcp option codes */ |
47 | 4.61M | #define TCP_OPT_EOL 0x00 |
48 | 4.53M | #define TCP_OPT_NOP 0x01 |
49 | 268k | #define TCP_OPT_MSS 0x02 |
50 | 321k | #define TCP_OPT_WS 0x03 |
51 | 292k | #define TCP_OPT_SACKOK 0x04 |
52 | 9.84M | #define TCP_OPT_SACK 0x05 |
53 | 1.13M | #define TCP_OPT_TS 0x08 |
54 | 3.90M | #define TCP_OPT_TFO 0x22 /* TCP Fast Open */ |
55 | 1.01k | #define TCP_OPT_EXP1 0xfd /* Experimental, could be TFO */ |
56 | 5.27k | #define TCP_OPT_EXP2 0xfe /* Experimental, could be TFO */ |
57 | 1.79k | #define TCP_OPT_MD5 0x13 /* 19: RFC 2385 TCP MD5 option */ |
58 | 874 | #define TCP_OPT_AO 0x1d /* 29: RFC 5925 TCP AO option */ |
59 | | |
60 | 152k | #define TCP_OPT_SACKOK_LEN 2 |
61 | 131k | #define TCP_OPT_WS_LEN 3 |
62 | 1.13M | #define TCP_OPT_TS_LEN 10 |
63 | 262k | #define TCP_OPT_MSS_LEN 4 |
64 | 16.8k | #define TCP_OPT_SACK_MIN_LEN 10 /* hdr 2, 1 pair 8 = 10 */ |
65 | 15.5k | #define TCP_OPT_SACK_MAX_LEN 34 /* hdr 2, 4 pair 32= 34 */ |
66 | 11.1k | #define TCP_OPT_TFO_MIN_LEN 4 /* kind, len, 2 bytes cookie: 4 */ |
67 | 9.66k | #define TCP_OPT_TFO_MAX_LEN 18 /* kind, len, 18 */ |
68 | | |
69 | | /** Max valid wscale value. */ |
70 | 240k | #define TCP_WSCALE_MAX 14 |
71 | | |
72 | 6.77M | #define TCP_GET_RAW_OFFSET(tcph) (((tcph)->th_offx2 & 0xf0) >> 4) |
73 | 0 | #define TCP_GET_RAW_X2(tcph) (unsigned char)((tcph)->th_offx2 & 0x0f) |
74 | | #define TCP_GET_RAW_SRC_PORT(tcph) SCNtohs((tcph)->th_sport) |
75 | | #define TCP_GET_RAW_DST_PORT(tcph) SCNtohs((tcph)->th_dport) |
76 | | |
77 | | #define TCP_SET_RAW_TCP_OFFSET(tcph, value) ((tcph)->th_offx2 = (unsigned char)(((tcph)->th_offx2 & 0x0f) | (value << 4))) |
78 | | #define TCP_SET_RAW_TCP_X2(tcph, value) ((tcph)->th_offx2 = (unsigned char)(((tcph)->th_offx2 & 0xf0) | (value & 0x0f))) |
79 | | |
80 | 34.8M | #define TCP_GET_RAW_SEQ(tcph) SCNtohl((tcph)->th_seq) |
81 | 38.9M | #define TCP_GET_RAW_ACK(tcph) SCNtohl((tcph)->th_ack) |
82 | | |
83 | 28.7M | #define TCP_GET_RAW_WINDOW(tcph) SCNtohs((tcph)->th_win) |
84 | 0 | #define TCP_GET_RAW_URG_POINTER(tcph) SCNtohs((tcph)->th_urp) |
85 | | #define TCP_GET_RAW_SUM(tcph) SCNtohs((tcph)->th_sum) |
86 | | |
87 | | /** macro for getting the first timestamp from the packet in host order */ |
88 | 3.07M | #define TCP_GET_TSVAL(p) ((p)->tcpvars.ts_val) |
89 | | |
90 | | /** macro for getting the second timestamp from the packet in host order. */ |
91 | 79.8k | #define TCP_GET_TSECR(p) ((p)->tcpvars.ts_ecr) |
92 | | |
93 | 189k | #define TCP_HAS_WSCALE(p) ((p)->tcpvars.ws.type == TCP_OPT_WS) |
94 | 9.83M | #define TCP_HAS_SACK(p) ((p)->tcpvars.sack.type == TCP_OPT_SACK) |
95 | 140k | #define TCP_HAS_SACKOK(p) ((p)->tcpvars.sackok.type == TCP_OPT_SACKOK) |
96 | 3.56M | #define TCP_HAS_TS(p) ((p)->tcpvars.ts_set) |
97 | 5.69k | #define TCP_HAS_MSS(p) ((p)->tcpvars.mss.type == TCP_OPT_MSS) |
98 | 7.74M | #define TCP_HAS_TFO(p) ((p)->tcpvars.tfo.type == TCP_OPT_TFO) |
99 | | |
100 | | /** macro for getting the wscale from the packet. */ |
101 | 48.7k | #define TCP_GET_WSCALE(p) (TCP_HAS_WSCALE((p)) ? \ |
102 | 48.7k | (((*(uint8_t *)(p)->tcpvars.ws.data) <= TCP_WSCALE_MAX) ? \ |
103 | 48.7k | (*(uint8_t *)((p)->tcpvars.ws.data)) : 0) : 0) |
104 | | |
105 | 140k | #define TCP_GET_SACKOK(p) (TCP_HAS_SACKOK((p)) ? 1 : 0) |
106 | 4.89M | #define TCP_GET_SACK_PTR(p) TCP_HAS_SACK((p)) ? (p)->tcpvars.sack.data : NULL |
107 | 4.89M | #define TCP_GET_SACK_CNT(p) (TCP_HAS_SACK((p)) ? (((p)->tcpvars.sack.len - 2) / 8) : 0) |
108 | 467 | #define TCP_GET_MSS(p) SCNtohs(*(uint16_t *)((p)->tcpvars.mss.data)) |
109 | | |
110 | 6.77M | #define TCP_GET_OFFSET(p) TCP_GET_RAW_OFFSET((p)->tcph) |
111 | | #define TCP_GET_X2(p) TCP_GET_RAW_X2((p)->tcph) |
112 | 6.77M | #define TCP_GET_HLEN(p) ((uint8_t)(TCP_GET_OFFSET((p)) << 2)) |
113 | | #define TCP_GET_SRC_PORT(p) TCP_GET_RAW_SRC_PORT((p)->tcph) |
114 | | #define TCP_GET_DST_PORT(p) TCP_GET_RAW_DST_PORT((p)->tcph) |
115 | 31.0M | #define TCP_GET_SEQ(p) TCP_GET_RAW_SEQ((p)->tcph) |
116 | 39.0M | #define TCP_GET_ACK(p) TCP_GET_RAW_ACK((p)->tcph) |
117 | 28.7M | #define TCP_GET_WINDOW(p) TCP_GET_RAW_WINDOW((p)->tcph) |
118 | 0 | #define TCP_GET_URG_POINTER(p) TCP_GET_RAW_URG_POINTER((p)->tcph) |
119 | | #define TCP_GET_SUM(p) TCP_GET_RAW_SUM((p)->tcph) |
120 | | #define TCP_GET_FLAGS(p) (p)->tcph->th_flags |
121 | | |
122 | 0 | #define TCP_ISSET_FLAG_FIN(p) ((p)->tcph->th_flags & TH_FIN) |
123 | 0 | #define TCP_ISSET_FLAG_SYN(p) ((p)->tcph->th_flags & TH_SYN) |
124 | 0 | #define TCP_ISSET_FLAG_RST(p) ((p)->tcph->th_flags & TH_RST) |
125 | 0 | #define TCP_ISSET_FLAG_PUSH(p) ((p)->tcph->th_flags & TH_PUSH) |
126 | 0 | #define TCP_ISSET_FLAG_ACK(p) ((p)->tcph->th_flags & TH_ACK) |
127 | 0 | #define TCP_ISSET_FLAG_URG(p) ((p)->tcph->th_flags & TH_URG) |
128 | | #define TCP_ISSET_FLAG_RES2(p) ((p)->tcph->th_flags & TH_RES2) |
129 | | #define TCP_ISSET_FLAG_RES1(p) ((p)->tcph->th_flags & TH_RES1) |
130 | | |
131 | | typedef struct TCPOpt_ { |
132 | | uint8_t type; |
133 | | uint8_t len; |
134 | | const uint8_t *data; |
135 | | } TCPOpt; |
136 | | |
137 | | typedef struct TCPOptSackRecord_ { |
138 | | uint32_t le; /**< left edge, network order */ |
139 | | uint32_t re; /**< right edge, network order */ |
140 | | } TCPOptSackRecord; |
141 | | |
142 | | typedef struct TCPHdr_ |
143 | | { |
144 | | uint16_t th_sport; /**< source port */ |
145 | | uint16_t th_dport; /**< destination port */ |
146 | | uint32_t th_seq; /**< sequence number */ |
147 | | uint32_t th_ack; /**< acknowledgement number */ |
148 | | uint8_t th_offx2; /**< offset and reserved */ |
149 | | uint8_t th_flags; /**< pkt flags */ |
150 | | uint16_t th_win; /**< pkt window */ |
151 | | uint16_t th_sum; /**< checksum */ |
152 | | uint16_t th_urp; /**< urgent pointer */ |
153 | | } __attribute__((__packed__)) TCPHdr; |
154 | | |
155 | | typedef struct TCPVars_ |
156 | | { |
157 | | /* commonly used and needed opts */ |
158 | | bool md5_option_present; |
159 | | bool ao_option_present; |
160 | | bool ts_set; |
161 | | uint32_t ts_val; /* host-order */ |
162 | | uint32_t ts_ecr; /* host-order */ |
163 | | uint16_t stream_pkt_flags; |
164 | | TCPOpt sack; |
165 | | TCPOpt sackok; |
166 | | TCPOpt ws; |
167 | | TCPOpt mss; |
168 | | TCPOpt tfo; /* tcp fast open */ |
169 | | } TCPVars; |
170 | | |
171 | 6.89M | #define CLEAR_TCP_PACKET(p) { \ |
172 | 6.89M | (p)->level4_comp_csum = -1; \ |
173 | 6.89M | PACKET_CLEAR_L4VARS((p)); \ |
174 | 6.89M | (p)->tcph = NULL; \ |
175 | 6.89M | } |
176 | | |
177 | | void DecodeTCPRegisterTests(void); |
178 | | |
179 | | /** -------- Inline functions ------- */ |
180 | | |
181 | | /** |
182 | | * \brief Calculate or validate the checksum for the TCP packet |
183 | | * |
184 | | * \param shdr Pointer to source address field from the IP packet. Used as a |
185 | | * part of the pseudoheader for computing the checksum |
186 | | * \param pkt Pointer to the start of the TCP packet |
187 | | * \param tlen Total length of the TCP packet(header + payload) |
188 | | * \param init The current checksum if validating, 0 if generating. |
189 | | * |
190 | | * \retval csum For validation 0 will be returned for success, for calculation |
191 | | * this will be the checksum. |
192 | | */ |
193 | | static inline uint16_t TCPChecksum( |
194 | | const uint16_t *shdr, const uint16_t *pkt, uint16_t tlen, uint16_t init) |
195 | 278k | { |
196 | 278k | uint16_t pad = 0; |
197 | 278k | uint32_t csum = init; |
198 | | |
199 | 278k | csum += shdr[0] + shdr[1] + shdr[2] + shdr[3] + htons(6) + htons(tlen); |
200 | | |
201 | 278k | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + |
202 | 278k | pkt[7] + pkt[9]; |
203 | | |
204 | 278k | tlen -= 20; |
205 | 278k | pkt += 10; |
206 | | |
207 | 304k | while (tlen >= 32) { |
208 | 25.5k | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + |
209 | 25.5k | pkt[7] + |
210 | 25.5k | pkt[8] + |
211 | 25.5k | pkt[9] + pkt[10] + pkt[11] + pkt[12] + pkt[13] + |
212 | 25.5k | pkt[14] + pkt[15]; |
213 | 25.5k | tlen -= 32; |
214 | 25.5k | pkt += 16; |
215 | 25.5k | } |
216 | | |
217 | 293k | while(tlen >= 8) { |
218 | 14.6k | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3]; |
219 | 14.6k | tlen -= 8; |
220 | 14.6k | pkt += 4; |
221 | 14.6k | } |
222 | | |
223 | 287k | while(tlen >= 4) { |
224 | 9.06k | csum += pkt[0] + pkt[1]; |
225 | 9.06k | tlen -= 4; |
226 | 9.06k | pkt += 2; |
227 | 9.06k | } |
228 | | |
229 | 281k | while (tlen > 1) { |
230 | 2.70k | csum += pkt[0]; |
231 | 2.70k | pkt += 1; |
232 | 2.70k | tlen -= 2; |
233 | 2.70k | } |
234 | | |
235 | 278k | if (tlen == 1) { |
236 | 4.87k | *(uint8_t *)(&pad) = (*(uint8_t *)pkt); |
237 | 4.87k | csum += pad; |
238 | 4.87k | } |
239 | | |
240 | 278k | csum = (csum >> 16) + (csum & 0x0000FFFF); |
241 | 278k | csum += (csum >> 16); |
242 | | |
243 | 278k | return (uint16_t)~csum; |
244 | 278k | } Unexecuted instantiation: fuzz_applayerparserparse.c:TCPChecksum Unexecuted instantiation: app-layer-parser.c:TCPChecksum Unexecuted instantiation: app-layer-rdp.c:TCPChecksum Unexecuted instantiation: app-layer-rfb.c:TCPChecksum Unexecuted instantiation: app-layer-sip.c:TCPChecksum Unexecuted instantiation: app-layer-smb.c:TCPChecksum Unexecuted instantiation: app-layer-smtp.c:TCPChecksum Unexecuted instantiation: app-layer-snmp.c:TCPChecksum Unexecuted instantiation: app-layer-ssh.c:TCPChecksum Unexecuted instantiation: app-layer-ssl.c:TCPChecksum Unexecuted instantiation: app-layer-tftp.c:TCPChecksum Unexecuted instantiation: detect-engine-state.c:TCPChecksum Unexecuted instantiation: flow.c:TCPChecksum Unexecuted instantiation: flow-hash.c:TCPChecksum Unexecuted instantiation: flow-manager.c:TCPChecksum Unexecuted instantiation: flow-queue.c:TCPChecksum Unexecuted instantiation: flow-spare-pool.c:TCPChecksum Unexecuted instantiation: flow-storage.c:TCPChecksum flow-timeout.c:TCPChecksum Line | Count | Source | 195 | 264k | { | 196 | 264k | uint16_t pad = 0; | 197 | 264k | uint32_t csum = init; | 198 | | | 199 | 264k | csum += shdr[0] + shdr[1] + shdr[2] + shdr[3] + htons(6) + htons(tlen); | 200 | | | 201 | 264k | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + | 202 | 264k | pkt[7] + pkt[9]; | 203 | | | 204 | 264k | tlen -= 20; | 205 | 264k | pkt += 10; | 206 | | | 207 | 264k | while (tlen >= 32) { | 208 | 0 | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + | 209 | 0 | pkt[7] + | 210 | 0 | pkt[8] + | 211 | 0 | pkt[9] + pkt[10] + pkt[11] + pkt[12] + pkt[13] + | 212 | 0 | pkt[14] + pkt[15]; | 213 | 0 | tlen -= 32; | 214 | 0 | pkt += 16; | 215 | 0 | } | 216 | | | 217 | 264k | while(tlen >= 8) { | 218 | 0 | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3]; | 219 | 0 | tlen -= 8; | 220 | 0 | pkt += 4; | 221 | 0 | } | 222 | | | 223 | 264k | while(tlen >= 4) { | 224 | 0 | csum += pkt[0] + pkt[1]; | 225 | 0 | tlen -= 4; | 226 | 0 | pkt += 2; | 227 | 0 | } | 228 | | | 229 | 264k | while (tlen > 1) { | 230 | 0 | csum += pkt[0]; | 231 | 0 | pkt += 1; | 232 | 0 | tlen -= 2; | 233 | 0 | } | 234 | | | 235 | 264k | if (tlen == 1) { | 236 | 0 | *(uint8_t *)(&pad) = (*(uint8_t *)pkt); | 237 | 0 | csum += pad; | 238 | 0 | } | 239 | | | 240 | 264k | csum = (csum >> 16) + (csum & 0x0000FFFF); | 241 | 264k | csum += (csum >> 16); | 242 | | | 243 | 264k | return (uint16_t)~csum; | 244 | 264k | } |
Unexecuted instantiation: flow-util.c:TCPChecksum Unexecuted instantiation: host-timeout.c:TCPChecksum Unexecuted instantiation: ippair-timeout.c:TCPChecksum Unexecuted instantiation: output-file.c:TCPChecksum Unexecuted instantiation: output-filedata.c:TCPChecksum Unexecuted instantiation: output-flow.c:TCPChecksum Unexecuted instantiation: packet.c:TCPChecksum Unexecuted instantiation: pkt-var.c:TCPChecksum Unexecuted instantiation: reputation.c:TCPChecksum Unexecuted instantiation: runmodes.c:TCPChecksum Unexecuted instantiation: runmode-unix-socket.c:TCPChecksum Unexecuted instantiation: runmode-windivert.c:TCPChecksum Unexecuted instantiation: stream-tcp.c:TCPChecksum Unexecuted instantiation: stream-tcp-list.c:TCPChecksum Unexecuted instantiation: stream-tcp-reassemble.c:TCPChecksum Unexecuted instantiation: stream-tcp-sack.c:TCPChecksum Unexecuted instantiation: suricata.c:TCPChecksum Unexecuted instantiation: tm-modules.c:TCPChecksum Unexecuted instantiation: tmqh-flow.c:TCPChecksum Unexecuted instantiation: tmqh-packetpool.c:TCPChecksum Unexecuted instantiation: tm-queuehandlers.c:TCPChecksum Unexecuted instantiation: tm-threads.c:TCPChecksum Unexecuted instantiation: unix-manager.c:TCPChecksum Unexecuted instantiation: util-checksum.c:TCPChecksum Unexecuted instantiation: util-datalink.c:TCPChecksum Unexecuted instantiation: util-debug.c:TCPChecksum Unexecuted instantiation: util-decode-mime.c:TCPChecksum Unexecuted instantiation: util-exception-policy.c:TCPChecksum Unexecuted instantiation: util-file.c:TCPChecksum Unexecuted instantiation: util-host-os-info.c:TCPChecksum Unexecuted instantiation: util-ioctl.c:TCPChecksum Unexecuted instantiation: util-ja3.c:TCPChecksum Unexecuted instantiation: util-landlock.c:TCPChecksum Unexecuted instantiation: util-macset.c:TCPChecksum Unexecuted instantiation: util-mpm.c:TCPChecksum Unexecuted instantiation: util-print.c:TCPChecksum Unexecuted instantiation: util-running-modes.c:TCPChecksum Unexecuted instantiation: util-streaming-buffer.c:TCPChecksum Unexecuted instantiation: util-threshold-config.c:TCPChecksum Unexecuted instantiation: util-time.c:TCPChecksum Unexecuted instantiation: util-var.c:TCPChecksum Unexecuted instantiation: util-var-name.c:TCPChecksum Unexecuted instantiation: app-layer.c:TCPChecksum Unexecuted instantiation: app-layer-detect-proto.c:TCPChecksum Unexecuted instantiation: app-layer-dnp3.c:TCPChecksum Unexecuted instantiation: app-layer-dnp3-objects.c:TCPChecksum Unexecuted instantiation: app-layer-enip.c:TCPChecksum Unexecuted instantiation: app-layer-enip-common.c:TCPChecksum Unexecuted instantiation: app-layer-events.c:TCPChecksum Unexecuted instantiation: app-layer-expectation.c:TCPChecksum Unexecuted instantiation: app-layer-ftp.c:TCPChecksum Unexecuted instantiation: app-layer-frames.c:TCPChecksum Unexecuted instantiation: app-layer-htp.c:TCPChecksum Unexecuted instantiation: app-layer-htp-file.c:TCPChecksum Unexecuted instantiation: app-layer-htp-range.c:TCPChecksum Unexecuted instantiation: app-layer-http2.c:TCPChecksum Unexecuted instantiation: app-layer-ike.c:TCPChecksum Unexecuted instantiation: app-layer-krb5.c:TCPChecksum Unexecuted instantiation: app-layer-modbus.c:TCPChecksum Unexecuted instantiation: app-layer-quic.c:TCPChecksum Unexecuted instantiation: app-layer-mqtt.c:TCPChecksum Unexecuted instantiation: app-layer-nfs-tcp.c:TCPChecksum Unexecuted instantiation: app-layer-nfs-udp.c:TCPChecksum Unexecuted instantiation: app-layer-ntp.c:TCPChecksum Unexecuted instantiation: counters.c:TCPChecksum Unexecuted instantiation: datasets-string.c:TCPChecksum Unexecuted instantiation: decode.c:TCPChecksum Unexecuted instantiation: decode-erspan.c:TCPChecksum Unexecuted instantiation: decode-ethernet.c:TCPChecksum Unexecuted instantiation: decode-geneve.c:TCPChecksum Unexecuted instantiation: decode-icmpv4.c:TCPChecksum Unexecuted instantiation: decode-icmpv6.c:TCPChecksum Unexecuted instantiation: decode-ipv4.c:TCPChecksum Unexecuted instantiation: decode-ipv6.c:TCPChecksum Unexecuted instantiation: decode-mpls.c:TCPChecksum Unexecuted instantiation: decode-nsh.c:TCPChecksum Unexecuted instantiation: decode-ppp.c:TCPChecksum Unexecuted instantiation: decode-pppoe.c:TCPChecksum Unexecuted instantiation: decode-sctp.c:TCPChecksum Unexecuted instantiation: decode-tcp.c:TCPChecksum Unexecuted instantiation: decode-teredo.c:TCPChecksum Unexecuted instantiation: decode-udp.c:TCPChecksum Unexecuted instantiation: decode-vlan.c:TCPChecksum Unexecuted instantiation: decode-vntag.c:TCPChecksum Unexecuted instantiation: decode-vxlan.c:TCPChecksum Unexecuted instantiation: defrag.c:TCPChecksum Unexecuted instantiation: defrag-config.c:TCPChecksum Unexecuted instantiation: defrag-hash.c:TCPChecksum Unexecuted instantiation: defrag-queue.c:TCPChecksum Unexecuted instantiation: defrag-timeout.c:TCPChecksum Unexecuted instantiation: detect-content.c:TCPChecksum Unexecuted instantiation: detect-dsize.c:TCPChecksum Unexecuted instantiation: detect-engine-address.c:TCPChecksum Unexecuted instantiation: detect-engine-address-ipv4.c:TCPChecksum Unexecuted instantiation: detect-engine-address-ipv6.c:TCPChecksum Unexecuted instantiation: detect-engine-alert.c:TCPChecksum Unexecuted instantiation: detect-engine-build.c:TCPChecksum Unexecuted instantiation: detect-engine.c:TCPChecksum Unexecuted instantiation: detect-engine-content-inspection.c:TCPChecksum Unexecuted instantiation: detect-engine-frame.c:TCPChecksum Unexecuted instantiation: detect-engine-iponly.c:TCPChecksum Unexecuted instantiation: detect-engine-loader.c:TCPChecksum Unexecuted instantiation: detect-engine-mpm.c:TCPChecksum Unexecuted instantiation: detect-engine-payload.c:TCPChecksum Unexecuted instantiation: detect-engine-port.c:TCPChecksum Unexecuted instantiation: detect-engine-prefilter.c:TCPChecksum Unexecuted instantiation: detect-engine-prefilter-common.c:TCPChecksum Unexecuted instantiation: detect-engine-proto.c:TCPChecksum Unexecuted instantiation: detect-engine-register.c:TCPChecksum Unexecuted instantiation: detect-engine-siggroup.c:TCPChecksum Unexecuted instantiation: detect-engine-sigorder.c:TCPChecksum Unexecuted instantiation: detect-engine-tag.c:TCPChecksum Unexecuted instantiation: detect-engine-threshold.c:TCPChecksum Unexecuted instantiation: detect-engine-uint.c:TCPChecksum Unexecuted instantiation: detect-fast-pattern.c:TCPChecksum Unexecuted instantiation: detect-file-data.c:TCPChecksum Unexecuted instantiation: detect-filemagic.c:TCPChecksum Unexecuted instantiation: detect-filemd5.c:TCPChecksum Unexecuted instantiation: detect-filename.c:TCPChecksum Unexecuted instantiation: detect-filesha1.c:TCPChecksum Unexecuted instantiation: detect-filesha256.c:TCPChecksum Unexecuted instantiation: detect-filesize.c:TCPChecksum Unexecuted instantiation: detect-filestore.c:TCPChecksum Unexecuted instantiation: detect-flowbits.c:TCPChecksum Unexecuted instantiation: detect-flow.c:TCPChecksum Unexecuted instantiation: detect-flow-age.c:TCPChecksum Unexecuted instantiation: detect-flowint.c:TCPChecksum Unexecuted instantiation: detect-flowvar.c:TCPChecksum Unexecuted instantiation: detect-fragbits.c:TCPChecksum Unexecuted instantiation: detect-fragoffset.c:TCPChecksum Unexecuted instantiation: detect-frame.c:TCPChecksum Unexecuted instantiation: detect-ftpbounce.c:TCPChecksum Unexecuted instantiation: detect-ftpdata.c:TCPChecksum Unexecuted instantiation: detect-geoip.c:TCPChecksum Unexecuted instantiation: detect-gid.c:TCPChecksum Unexecuted instantiation: detect-hostbits.c:TCPChecksum Unexecuted instantiation: detect-http2.c:TCPChecksum Unexecuted instantiation: detect-http-client-body.c:TCPChecksum Unexecuted instantiation: detect-http-cookie.c:TCPChecksum Unexecuted instantiation: detect-http-header.c:TCPChecksum Unexecuted instantiation: detect-http-header-common.c:TCPChecksum Unexecuted instantiation: detect-http-header-names.c:TCPChecksum Unexecuted instantiation: detect-http-host.c:TCPChecksum Unexecuted instantiation: detect-http-location.c:TCPChecksum Unexecuted instantiation: detect-http-method.c:TCPChecksum Unexecuted instantiation: detect-http-protocol.c:TCPChecksum Unexecuted instantiation: detect-http-raw-header.c:TCPChecksum Unexecuted instantiation: detect-http-referer.c:TCPChecksum Unexecuted instantiation: detect-http-request-line.c:TCPChecksum Unexecuted instantiation: detect-http-response-line.c:TCPChecksum Unexecuted instantiation: detect-http-server-body.c:TCPChecksum Unexecuted instantiation: detect-http-server.c:TCPChecksum Unexecuted instantiation: detect-http-start.c:TCPChecksum Unexecuted instantiation: detect-http-stat-code.c:TCPChecksum Unexecuted instantiation: detect-http-stat-msg.c:TCPChecksum Unexecuted instantiation: detect-http-ua.c:TCPChecksum Unexecuted instantiation: detect-http-uri.c:TCPChecksum Unexecuted instantiation: detect-icmp-id.c:TCPChecksum Unexecuted instantiation: detect-icmp-seq.c:TCPChecksum Unexecuted instantiation: detect-icmpv4hdr.c:TCPChecksum Unexecuted instantiation: detect-icmpv6hdr.c:TCPChecksum Unexecuted instantiation: detect-icmpv6-mtu.c:TCPChecksum Unexecuted instantiation: detect-icode.c:TCPChecksum Unexecuted instantiation: detect-id.c:TCPChecksum Unexecuted instantiation: detect-ike-exch-type.c:TCPChecksum Unexecuted instantiation: detect-ike-spi.c:TCPChecksum Unexecuted instantiation: detect-ike-vendor.c:TCPChecksum Unexecuted instantiation: detect-ike-chosen-sa.c:TCPChecksum Unexecuted instantiation: detect-ike-key-exchange-payload-length.c:TCPChecksum Unexecuted instantiation: detect-ike-nonce-payload-length.c:TCPChecksum Unexecuted instantiation: detect-ike-nonce-payload.c:TCPChecksum Unexecuted instantiation: detect-ike-key-exchange-payload.c:TCPChecksum Unexecuted instantiation: detect-ipaddr.c:TCPChecksum Unexecuted instantiation: detect-ipopts.c:TCPChecksum Unexecuted instantiation: detect-ipproto.c:TCPChecksum Unexecuted instantiation: detect-iprep.c:TCPChecksum Unexecuted instantiation: detect-ipv4hdr.c:TCPChecksum Unexecuted instantiation: detect-ipv6hdr.c:TCPChecksum Unexecuted instantiation: detect-isdataat.c:TCPChecksum Unexecuted instantiation: detect-itype.c:TCPChecksum Unexecuted instantiation: detect-ja4-hash.c:TCPChecksum Unexecuted instantiation: detect-krb5-cname.c:TCPChecksum Unexecuted instantiation: detect-krb5-errcode.c:TCPChecksum Unexecuted instantiation: detect-krb5-msgtype.c:TCPChecksum Unexecuted instantiation: detect-krb5-sname.c:TCPChecksum Unexecuted instantiation: detect-krb5-ticket-encryption.c:TCPChecksum Unexecuted instantiation: detect-l3proto.c:TCPChecksum Unexecuted instantiation: detect-lua.c:TCPChecksum Unexecuted instantiation: detect-mark.c:TCPChecksum Unexecuted instantiation: detect-metadata.c:TCPChecksum Unexecuted instantiation: detect-modbus.c:TCPChecksum Unexecuted instantiation: detect-quic-sni.c:TCPChecksum Unexecuted instantiation: detect-quic-ua.c:TCPChecksum Unexecuted instantiation: detect-quic-version.c:TCPChecksum Unexecuted instantiation: detect-quic-cyu-hash.c:TCPChecksum Unexecuted instantiation: detect-quic-cyu-string.c:TCPChecksum Unexecuted instantiation: detect-mqtt-connack-sessionpresent.c:TCPChecksum Unexecuted instantiation: detect-mqtt-connect-clientid.c:TCPChecksum Unexecuted instantiation: detect-mqtt-connect-flags.c:TCPChecksum Unexecuted instantiation: detect-mqtt-connect-password.c:TCPChecksum Unexecuted instantiation: detect-mqtt-connect-username.c:TCPChecksum Unexecuted instantiation: detect-mqtt-connect-willmessage.c:TCPChecksum Unexecuted instantiation: detect-mqtt-connect-willtopic.c:TCPChecksum Unexecuted instantiation: detect-mqtt-flags.c:TCPChecksum Unexecuted instantiation: detect-mqtt-protocol-version.c:TCPChecksum Unexecuted instantiation: detect-mqtt-publish-message.c:TCPChecksum Unexecuted instantiation: detect-mqtt-publish-topic.c:TCPChecksum Unexecuted instantiation: detect-mqtt-qos.c:TCPChecksum Unexecuted instantiation: detect-mqtt-reason-code.c:TCPChecksum Unexecuted instantiation: detect-mqtt-subscribe-topic.c:TCPChecksum Unexecuted instantiation: detect-mqtt-type.c:TCPChecksum Unexecuted instantiation: detect-mqtt-unsubscribe-topic.c:TCPChecksum Unexecuted instantiation: detect-msg.c:TCPChecksum Unexecuted instantiation: detect-nfs-procedure.c:TCPChecksum Unexecuted instantiation: detect-nfs-version.c:TCPChecksum Unexecuted instantiation: detect-noalert.c:TCPChecksum Unexecuted instantiation: detect-nocase.c:TCPChecksum Unexecuted instantiation: detect-offset.c:TCPChecksum Unexecuted instantiation: detect-parse.c:TCPChecksum Unexecuted instantiation: detect-pcre.c:TCPChecksum Unexecuted instantiation: detect-pkt-data.c:TCPChecksum Unexecuted instantiation: detect-pktvar.c:TCPChecksum Unexecuted instantiation: detect-prefilter.c:TCPChecksum Unexecuted instantiation: detect-priority.c:TCPChecksum Unexecuted instantiation: detect-rawbytes.c:TCPChecksum Unexecuted instantiation: detect-reference.c:TCPChecksum Unexecuted instantiation: detect-replace.c:TCPChecksum Unexecuted instantiation: detect-requires.c:TCPChecksum Unexecuted instantiation: detect-rev.c:TCPChecksum Unexecuted instantiation: detect-rfb-name.c:TCPChecksum Unexecuted instantiation: detect-rfb-secresult.c:TCPChecksum Unexecuted instantiation: detect-rfb-sectype.c:TCPChecksum Unexecuted instantiation: detect-rpc.c:TCPChecksum Unexecuted instantiation: detect-sameip.c:TCPChecksum Unexecuted instantiation: detect-sid.c:TCPChecksum Unexecuted instantiation: detect-sip-method.c:TCPChecksum Unexecuted instantiation: detect-sip-protocol.c:TCPChecksum Unexecuted instantiation: detect-sip-request-line.c:TCPChecksum Unexecuted instantiation: detect-sip-response-line.c:TCPChecksum Unexecuted instantiation: detect-sip-stat-code.c:TCPChecksum Unexecuted instantiation: detect-sip-stat-msg.c:TCPChecksum Unexecuted instantiation: detect-sip-uri.c:TCPChecksum Unexecuted instantiation: detect-smb-ntlmssp.c:TCPChecksum Unexecuted instantiation: detect-smb-share.c:TCPChecksum Unexecuted instantiation: detect-snmp-community.c:TCPChecksum Unexecuted instantiation: detect-snmp-pdu_type.c:TCPChecksum Unexecuted instantiation: detect-snmp-usm.c:TCPChecksum Unexecuted instantiation: detect-snmp-version.c:TCPChecksum Unexecuted instantiation: detect-dhcp-leasetime.c:TCPChecksum Unexecuted instantiation: detect-dhcp-rebinding-time.c:TCPChecksum Unexecuted instantiation: detect-dhcp-renewal-time.c:TCPChecksum Unexecuted instantiation: detect-ssh-hassh.c:TCPChecksum Unexecuted instantiation: detect-ssh-hassh-server.c:TCPChecksum Unexecuted instantiation: detect-ssh-hassh-server-string.c:TCPChecksum Unexecuted instantiation: detect-ssh-hassh-string.c:TCPChecksum Unexecuted instantiation: detect-ssh-proto.c:TCPChecksum Unexecuted instantiation: detect-ssh-proto-version.c:TCPChecksum Unexecuted instantiation: detect-ssh-software.c:TCPChecksum Unexecuted instantiation: detect-ssh-software-version.c:TCPChecksum Unexecuted instantiation: detect-ssl-state.c:TCPChecksum Unexecuted instantiation: detect-ssl-version.c:TCPChecksum Unexecuted instantiation: detect-stream_size.c:TCPChecksum Unexecuted instantiation: detect-tag.c:TCPChecksum Unexecuted instantiation: detect-target.c:TCPChecksum Unexecuted instantiation: detect-tcp-ack.c:TCPChecksum Unexecuted instantiation: detect-tcp-flags.c:TCPChecksum Unexecuted instantiation: detect-tcphdr.c:TCPChecksum Unexecuted instantiation: detect-tcpmss.c:TCPChecksum Unexecuted instantiation: detect-tcp-seq.c:TCPChecksum Unexecuted instantiation: detect-tcp-window.c:TCPChecksum Unexecuted instantiation: detect-template2.c:TCPChecksum Unexecuted instantiation: detect-template.c:TCPChecksum Unexecuted instantiation: detect-template-rust-buffer.c:TCPChecksum Unexecuted instantiation: detect-threshold.c:TCPChecksum Unexecuted instantiation: detect-tls.c:TCPChecksum Unexecuted instantiation: detect-tls-cert-fingerprint.c:TCPChecksum Unexecuted instantiation: detect-tls-cert-issuer.c:TCPChecksum Unexecuted instantiation: detect-tls-certs.c:TCPChecksum Unexecuted instantiation: detect-tls-cert-serial.c:TCPChecksum Unexecuted instantiation: detect-tls-cert-subject.c:TCPChecksum Unexecuted instantiation: detect-tls-cert-validity.c:TCPChecksum Unexecuted instantiation: detect-tls-ja3-hash.c:TCPChecksum Unexecuted instantiation: detect-tls-ja3s-hash.c:TCPChecksum Unexecuted instantiation: detect-tls-ja3s-string.c:TCPChecksum Unexecuted instantiation: detect-tls-ja3-string.c:TCPChecksum Unexecuted instantiation: detect-tls-sni.c:TCPChecksum Unexecuted instantiation: detect-tls-version.c:TCPChecksum Unexecuted instantiation: detect-tls-random.c:TCPChecksum Unexecuted instantiation: detect-tos.c:TCPChecksum Unexecuted instantiation: detect-transform-casechange.c:TCPChecksum Unexecuted instantiation: detect-transform-compress-whitespace.c:TCPChecksum Unexecuted instantiation: detect-transform-dotprefix.c:TCPChecksum Unexecuted instantiation: detect-transform-header-lowercase.c:TCPChecksum Unexecuted instantiation: detect-transform-md5.c:TCPChecksum Unexecuted instantiation: detect-transform-pcrexform.c:TCPChecksum Unexecuted instantiation: detect-transform-sha1.c:TCPChecksum Unexecuted instantiation: detect-transform-sha256.c:TCPChecksum Unexecuted instantiation: detect-transform-strip-pseudo-headers.c:TCPChecksum Unexecuted instantiation: detect-transform-strip-whitespace.c:TCPChecksum Unexecuted instantiation: detect-transform-urldecode.c:TCPChecksum Unexecuted instantiation: detect-transform-xor.c:TCPChecksum Unexecuted instantiation: detect-ttl.c:TCPChecksum Unexecuted instantiation: detect-udphdr.c:TCPChecksum Unexecuted instantiation: detect-uricontent.c:TCPChecksum Unexecuted instantiation: detect-urilen.c:TCPChecksum Unexecuted instantiation: detect-within.c:TCPChecksum Unexecuted instantiation: detect-xbits.c:TCPChecksum Unexecuted instantiation: flow-bit.c:TCPChecksum Unexecuted instantiation: flow-bypass.c:TCPChecksum Unexecuted instantiation: flow-var.c:TCPChecksum Unexecuted instantiation: flow-worker.c:TCPChecksum Unexecuted instantiation: host-bit.c:TCPChecksum Unexecuted instantiation: host.c:TCPChecksum Unexecuted instantiation: host-queue.c:TCPChecksum Unexecuted instantiation: host-storage.c:TCPChecksum Unexecuted instantiation: ippair-bit.c:TCPChecksum Unexecuted instantiation: ippair.c:TCPChecksum Unexecuted instantiation: ippair-queue.c:TCPChecksum Unexecuted instantiation: ippair-storage.c:TCPChecksum Unexecuted instantiation: output.c:TCPChecksum Unexecuted instantiation: output-eve-stream.c:TCPChecksum Unexecuted instantiation: output-filestore.c:TCPChecksum Unexecuted instantiation: output-json-alert.c:TCPChecksum Unexecuted instantiation: output-json-anomaly.c:TCPChecksum Unexecuted instantiation: output-json-bittorrent-dht.c:TCPChecksum Unexecuted instantiation: output-json.c:TCPChecksum Unexecuted instantiation: output-json-common.c:TCPChecksum Unexecuted instantiation: output-json-dcerpc.c:TCPChecksum Unexecuted instantiation: output-json-dhcp.c:TCPChecksum Unexecuted instantiation: output-json-dnp3.c:TCPChecksum Unexecuted instantiation: output-json-dnp3-objects.c:TCPChecksum Unexecuted instantiation: output-json-dns.c:TCPChecksum Unexecuted instantiation: output-json-drop.c:TCPChecksum Unexecuted instantiation: output-json-email-common.c:TCPChecksum Unexecuted instantiation: output-json-file.c:TCPChecksum Unexecuted instantiation: output-json-flow.c:TCPChecksum Unexecuted instantiation: output-json-frame.c:TCPChecksum Unexecuted instantiation: output-json-ftp.c:TCPChecksum Unexecuted instantiation: output-json-http2.c:TCPChecksum Unexecuted instantiation: output-json-http.c:TCPChecksum Unexecuted instantiation: output-json-ike.c:TCPChecksum Unexecuted instantiation: output-json-krb5.c:TCPChecksum Unexecuted instantiation: output-json-metadata.c:TCPChecksum Unexecuted instantiation: output-json-modbus.c:TCPChecksum Unexecuted instantiation: output-json-quic.c:TCPChecksum Unexecuted instantiation: output-json-mqtt.c:TCPChecksum Unexecuted instantiation: output-json-netflow.c:TCPChecksum Unexecuted instantiation: output-json-nfs.c:TCPChecksum Unexecuted instantiation: output-json-pgsql.c:TCPChecksum Unexecuted instantiation: output-json-rdp.c:TCPChecksum Unexecuted instantiation: output-json-rfb.c:TCPChecksum Unexecuted instantiation: output-json-sip.c:TCPChecksum Unexecuted instantiation: output-json-smb.c:TCPChecksum Unexecuted instantiation: output-json-smtp.c:TCPChecksum Unexecuted instantiation: output-json-snmp.c:TCPChecksum Unexecuted instantiation: output-json-ssh.c:TCPChecksum Unexecuted instantiation: output-json-stats.c:TCPChecksum Unexecuted instantiation: output-json-template.c:TCPChecksum Unexecuted instantiation: output-json-tftp.c:TCPChecksum Unexecuted instantiation: output-json-tls.c:TCPChecksum Unexecuted instantiation: output-eve-syslog.c:TCPChecksum Unexecuted instantiation: output-eve-null.c:TCPChecksum Unexecuted instantiation: output-packet.c:TCPChecksum Unexecuted instantiation: output-stats.c:TCPChecksum Unexecuted instantiation: output-streaming.c:TCPChecksum Unexecuted instantiation: output-tx.c:TCPChecksum Unexecuted instantiation: packet-queue.c:TCPChecksum Unexecuted instantiation: respond-reject.c:TCPChecksum Unexecuted instantiation: respond-reject-libnet11.c:TCPChecksum Unexecuted instantiation: runmode-af-packet.c:TCPChecksum Unexecuted instantiation: runmode-af-xdp.c:TCPChecksum Unexecuted instantiation: runmode-dpdk.c:TCPChecksum Unexecuted instantiation: runmode-erf-dag.c:TCPChecksum Unexecuted instantiation: runmode-erf-file.c:TCPChecksum Unexecuted instantiation: runmode-ipfw.c:TCPChecksum Unexecuted instantiation: runmode-napatech.c:TCPChecksum Unexecuted instantiation: runmode-netmap.c:TCPChecksum Unexecuted instantiation: runmode-nflog.c:TCPChecksum Unexecuted instantiation: runmode-nfq.c:TCPChecksum Unexecuted instantiation: runmode-pcap.c:TCPChecksum Unexecuted instantiation: runmode-pcap-file.c:TCPChecksum Unexecuted instantiation: runmode-pfring.c:TCPChecksum Unexecuted instantiation: rust-context.c:TCPChecksum Unexecuted instantiation: source-af-packet.c:TCPChecksum Unexecuted instantiation: source-af-xdp.c:TCPChecksum Unexecuted instantiation: source-dpdk.c:TCPChecksum Unexecuted instantiation: source-erf-dag.c:TCPChecksum Unexecuted instantiation: source-erf-file.c:TCPChecksum Unexecuted instantiation: source-ipfw.c:TCPChecksum Unexecuted instantiation: source-napatech.c:TCPChecksum Unexecuted instantiation: source-netmap.c:TCPChecksum Unexecuted instantiation: source-nflog.c:TCPChecksum Unexecuted instantiation: source-nfq.c:TCPChecksum Unexecuted instantiation: source-pcap.c:TCPChecksum Unexecuted instantiation: source-pcap-file.c:TCPChecksum Unexecuted instantiation: source-pcap-file-directory-helper.c:TCPChecksum Unexecuted instantiation: source-pcap-file-helper.c:TCPChecksum Unexecuted instantiation: source-pfring.c:TCPChecksum Unexecuted instantiation: source-windivert.c:TCPChecksum Unexecuted instantiation: stream-tcp-inline.c:TCPChecksum Unexecuted instantiation: tmqh-simple.c:TCPChecksum Unexecuted instantiation: util-action.c:TCPChecksum Unexecuted instantiation: util-classification-config.c:TCPChecksum Unexecuted instantiation: util-detect.c:TCPChecksum Unexecuted instantiation: util-file-decompression.c:TCPChecksum Unexecuted instantiation: util-file-swf-decompression.c:TCPChecksum Unexecuted instantiation: util-logopenfile.c:TCPChecksum Unexecuted instantiation: util-mpm-ac-bs.c:TCPChecksum Unexecuted instantiation: util-mpm-ac.c:TCPChecksum Unexecuted instantiation: util-mpm-ac-ks.c:TCPChecksum Unexecuted instantiation: util-reference-config.c:TCPChecksum Unexecuted instantiation: util-rule-vars.c:TCPChecksum Unexecuted instantiation: util-runmodes.c:TCPChecksum Unexecuted instantiation: util-port-interval-tree.c:TCPChecksum Unexecuted instantiation: alert-debuglog.c:TCPChecksum Unexecuted instantiation: alert-fastlog.c:TCPChecksum Unexecuted instantiation: alert-syslog.c:TCPChecksum Unexecuted instantiation: app-layer-htp-body.c:TCPChecksum Unexecuted instantiation: app-layer-htp-xff.c:TCPChecksum Unexecuted instantiation: app-layer-register.c:TCPChecksum Unexecuted instantiation: decode-chdlc.c:TCPChecksum Unexecuted instantiation: decode-esp.c:TCPChecksum Unexecuted instantiation: decode-gre.c:TCPChecksum Unexecuted instantiation: decode-null.c:TCPChecksum Unexecuted instantiation: decode-raw.c:TCPChecksum Unexecuted instantiation: decode-sll.c:TCPChecksum Unexecuted instantiation: detect-app-layer-event.c:TCPChecksum Unexecuted instantiation: detect-app-layer-protocol.c:TCPChecksum Unexecuted instantiation: detect-asn1.c:TCPChecksum Unexecuted instantiation: detect-base64-data.c:TCPChecksum Unexecuted instantiation: detect-base64-decode.c:TCPChecksum Unexecuted instantiation: detect-bsize.c:TCPChecksum Unexecuted instantiation: detect-bypass.c:TCPChecksum Unexecuted instantiation: detect-byte.c:TCPChecksum Unexecuted instantiation: detect-byte-extract.c:TCPChecksum Unexecuted instantiation: detect-bytejump.c:TCPChecksum Unexecuted instantiation: detect-bytemath.c:TCPChecksum Unexecuted instantiation: detect-bytetest.c:TCPChecksum Unexecuted instantiation: detect.c:TCPChecksum Unexecuted instantiation: detect-cipservice.c:TCPChecksum Unexecuted instantiation: detect-classtype.c:TCPChecksum Unexecuted instantiation: detect-config.c:TCPChecksum detect-csum.c:TCPChecksum Line | Count | Source | 195 | 13.7k | { | 196 | 13.7k | uint16_t pad = 0; | 197 | 13.7k | uint32_t csum = init; | 198 | | | 199 | 13.7k | csum += shdr[0] + shdr[1] + shdr[2] + shdr[3] + htons(6) + htons(tlen); | 200 | | | 201 | 13.7k | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + | 202 | 13.7k | pkt[7] + pkt[9]; | 203 | | | 204 | 13.7k | tlen -= 20; | 205 | 13.7k | pkt += 10; | 206 | | | 207 | 39.3k | while (tlen >= 32) { | 208 | 25.5k | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + | 209 | 25.5k | pkt[7] + | 210 | 25.5k | pkt[8] + | 211 | 25.5k | pkt[9] + pkt[10] + pkt[11] + pkt[12] + pkt[13] + | 212 | 25.5k | pkt[14] + pkt[15]; | 213 | 25.5k | tlen -= 32; | 214 | 25.5k | pkt += 16; | 215 | 25.5k | } | 216 | | | 217 | 28.3k | while(tlen >= 8) { | 218 | 14.6k | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3]; | 219 | 14.6k | tlen -= 8; | 220 | 14.6k | pkt += 4; | 221 | 14.6k | } | 222 | | | 223 | 22.8k | while(tlen >= 4) { | 224 | 9.06k | csum += pkt[0] + pkt[1]; | 225 | 9.06k | tlen -= 4; | 226 | 9.06k | pkt += 2; | 227 | 9.06k | } | 228 | | | 229 | 16.4k | while (tlen > 1) { | 230 | 2.70k | csum += pkt[0]; | 231 | 2.70k | pkt += 1; | 232 | 2.70k | tlen -= 2; | 233 | 2.70k | } | 234 | | | 235 | 13.7k | if (tlen == 1) { | 236 | 4.87k | *(uint8_t *)(&pad) = (*(uint8_t *)pkt); | 237 | 4.87k | csum += pad; | 238 | 4.87k | } | 239 | | | 240 | 13.7k | csum = (csum >> 16) + (csum & 0x0000FFFF); | 241 | 13.7k | csum += (csum >> 16); | 242 | | | 243 | 13.7k | return (uint16_t)~csum; | 244 | 13.7k | } |
Unexecuted instantiation: detect-datarep.c:TCPChecksum Unexecuted instantiation: detect-dataset.c:TCPChecksum Unexecuted instantiation: detect-dce-iface.c:TCPChecksum Unexecuted instantiation: detect-dce-opnum.c:TCPChecksum Unexecuted instantiation: detect-dce-stub-data.c:TCPChecksum Unexecuted instantiation: detect-depth.c:TCPChecksum Unexecuted instantiation: detect-detection-filter.c:TCPChecksum Unexecuted instantiation: detect-distance.c:TCPChecksum Unexecuted instantiation: detect-dnp3.c:TCPChecksum Unexecuted instantiation: detect-dns-opcode.c:TCPChecksum Unexecuted instantiation: detect-dns-query.c:TCPChecksum Unexecuted instantiation: detect-engine-analyzer.c:TCPChecksum Unexecuted instantiation: detect-engine-enip.c:TCPChecksum Unexecuted instantiation: detect-engine-event.c:TCPChecksum Unexecuted instantiation: detect-engine-file.c:TCPChecksum Unexecuted instantiation: detect-file-hash-common.c:TCPChecksum Unexecuted instantiation: detect-http-accept.c:TCPChecksum Unexecuted instantiation: detect-http-accept-enc.c:TCPChecksum Unexecuted instantiation: detect-http-accept-lang.c:TCPChecksum Unexecuted instantiation: detect-http-connection.c:TCPChecksum Unexecuted instantiation: detect-http-content-len.c:TCPChecksum Unexecuted instantiation: detect-http-content-type.c:TCPChecksum Unexecuted instantiation: log-httplog.c:TCPChecksum Unexecuted instantiation: log-pcap.c:TCPChecksum Unexecuted instantiation: log-stats.c:TCPChecksum Unexecuted instantiation: log-tcp-data.c:TCPChecksum Unexecuted instantiation: log-tlslog.c:TCPChecksum Unexecuted instantiation: log-tlsstore.c:TCPChecksum Unexecuted instantiation: stream.c:TCPChecksum Unexecuted instantiation: fuzz_sigpcap_aware.c:TCPChecksum Unexecuted instantiation: util-unittest-helper.c:TCPChecksum Unexecuted instantiation: fuzz_decodepcapfile.c:TCPChecksum Unexecuted instantiation: fuzz_mimedecparseline.c:TCPChecksum Unexecuted instantiation: fuzz_siginit.c:TCPChecksum Unexecuted instantiation: fuzz_sigpcap.c:TCPChecksum Unexecuted instantiation: fuzz_applayerprotodetectgetproto.c:TCPChecksum Unexecuted instantiation: fuzz_predefpcap_aware.c:TCPChecksum |
245 | | |
246 | | /** |
247 | | * \brief Calculate or validate the checksum for the TCP packet |
248 | | * |
249 | | * \param shdr Pointer to source address field from the IPV6 packet. Used as a |
250 | | * part of the psuedoheader for computing the checksum |
251 | | * \param pkt Pointer to the start of the TCP packet |
252 | | * \param tlen Total length of the TCP packet(header + payload) |
253 | | * \param init The current checksum if validating, 0 if generating. |
254 | | * |
255 | | * \retval csum For validation 0 will be returned for success, for calculation |
256 | | * this will be the checksum. |
257 | | */ |
258 | | static inline uint16_t TCPV6Checksum( |
259 | | const uint16_t *shdr, const uint16_t *pkt, uint16_t tlen, uint16_t init) |
260 | 111 | { |
261 | 111 | uint16_t pad = 0; |
262 | 111 | uint32_t csum = init; |
263 | | |
264 | 111 | csum += shdr[0] + shdr[1] + shdr[2] + shdr[3] + shdr[4] + shdr[5] + |
265 | 111 | shdr[6] + shdr[7] + shdr[8] + shdr[9] + shdr[10] + shdr[11] + |
266 | 111 | shdr[12] + shdr[13] + shdr[14] + shdr[15] + htons(6) + htons(tlen); |
267 | | |
268 | 111 | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + |
269 | 111 | pkt[7] + pkt[9]; |
270 | | |
271 | 111 | tlen -= 20; |
272 | 111 | pkt += 10; |
273 | | |
274 | 1.37k | while (tlen >= 32) { |
275 | 1.26k | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + |
276 | 1.26k | pkt[7] + pkt[8] + pkt[9] + pkt[10] + pkt[11] + pkt[12] + pkt[13] + |
277 | 1.26k | pkt[14] + pkt[15]; |
278 | 1.26k | tlen -= 32; |
279 | 1.26k | pkt += 16; |
280 | 1.26k | } |
281 | | |
282 | 276 | while(tlen >= 8) { |
283 | 165 | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3]; |
284 | 165 | tlen -= 8; |
285 | 165 | pkt += 4; |
286 | 165 | } |
287 | | |
288 | 185 | while(tlen >= 4) { |
289 | 74 | csum += pkt[0] + pkt[1]; |
290 | 74 | tlen -= 4; |
291 | 74 | pkt += 2; |
292 | 74 | } |
293 | | |
294 | 130 | while (tlen > 1) { |
295 | 19 | csum += pkt[0]; |
296 | 19 | pkt += 1; |
297 | 19 | tlen -= 2; |
298 | 19 | } |
299 | | |
300 | 111 | if (tlen == 1) { |
301 | 20 | *(uint8_t *)(&pad) = (*(uint8_t *)pkt); |
302 | 20 | csum += pad; |
303 | 20 | } |
304 | | |
305 | 111 | csum = (csum >> 16) + (csum & 0x0000FFFF); |
306 | 111 | csum += (csum >> 16); |
307 | | |
308 | 111 | return (uint16_t)~csum; |
309 | 111 | } Unexecuted instantiation: fuzz_applayerparserparse.c:TCPV6Checksum Unexecuted instantiation: app-layer-parser.c:TCPV6Checksum Unexecuted instantiation: app-layer-rdp.c:TCPV6Checksum Unexecuted instantiation: app-layer-rfb.c:TCPV6Checksum Unexecuted instantiation: app-layer-sip.c:TCPV6Checksum Unexecuted instantiation: app-layer-smb.c:TCPV6Checksum Unexecuted instantiation: app-layer-smtp.c:TCPV6Checksum Unexecuted instantiation: app-layer-snmp.c:TCPV6Checksum Unexecuted instantiation: app-layer-ssh.c:TCPV6Checksum Unexecuted instantiation: app-layer-ssl.c:TCPV6Checksum Unexecuted instantiation: app-layer-tftp.c:TCPV6Checksum Unexecuted instantiation: detect-engine-state.c:TCPV6Checksum Unexecuted instantiation: flow.c:TCPV6Checksum Unexecuted instantiation: flow-hash.c:TCPV6Checksum Unexecuted instantiation: flow-manager.c:TCPV6Checksum Unexecuted instantiation: flow-queue.c:TCPV6Checksum Unexecuted instantiation: flow-spare-pool.c:TCPV6Checksum Unexecuted instantiation: flow-storage.c:TCPV6Checksum Unexecuted instantiation: flow-timeout.c:TCPV6Checksum Unexecuted instantiation: flow-util.c:TCPV6Checksum Unexecuted instantiation: host-timeout.c:TCPV6Checksum Unexecuted instantiation: ippair-timeout.c:TCPV6Checksum Unexecuted instantiation: output-file.c:TCPV6Checksum Unexecuted instantiation: output-filedata.c:TCPV6Checksum Unexecuted instantiation: output-flow.c:TCPV6Checksum Unexecuted instantiation: packet.c:TCPV6Checksum Unexecuted instantiation: pkt-var.c:TCPV6Checksum Unexecuted instantiation: reputation.c:TCPV6Checksum Unexecuted instantiation: runmodes.c:TCPV6Checksum Unexecuted instantiation: runmode-unix-socket.c:TCPV6Checksum Unexecuted instantiation: runmode-windivert.c:TCPV6Checksum Unexecuted instantiation: stream-tcp.c:TCPV6Checksum Unexecuted instantiation: stream-tcp-list.c:TCPV6Checksum Unexecuted instantiation: stream-tcp-reassemble.c:TCPV6Checksum Unexecuted instantiation: stream-tcp-sack.c:TCPV6Checksum Unexecuted instantiation: suricata.c:TCPV6Checksum Unexecuted instantiation: tm-modules.c:TCPV6Checksum Unexecuted instantiation: tmqh-flow.c:TCPV6Checksum Unexecuted instantiation: tmqh-packetpool.c:TCPV6Checksum Unexecuted instantiation: tm-queuehandlers.c:TCPV6Checksum Unexecuted instantiation: tm-threads.c:TCPV6Checksum Unexecuted instantiation: unix-manager.c:TCPV6Checksum Unexecuted instantiation: util-checksum.c:TCPV6Checksum Unexecuted instantiation: util-datalink.c:TCPV6Checksum Unexecuted instantiation: util-debug.c:TCPV6Checksum Unexecuted instantiation: util-decode-mime.c:TCPV6Checksum Unexecuted instantiation: util-exception-policy.c:TCPV6Checksum Unexecuted instantiation: util-file.c:TCPV6Checksum Unexecuted instantiation: util-host-os-info.c:TCPV6Checksum Unexecuted instantiation: util-ioctl.c:TCPV6Checksum Unexecuted instantiation: util-ja3.c:TCPV6Checksum Unexecuted instantiation: util-landlock.c:TCPV6Checksum Unexecuted instantiation: util-macset.c:TCPV6Checksum Unexecuted instantiation: util-mpm.c:TCPV6Checksum Unexecuted instantiation: util-print.c:TCPV6Checksum Unexecuted instantiation: util-running-modes.c:TCPV6Checksum Unexecuted instantiation: util-streaming-buffer.c:TCPV6Checksum Unexecuted instantiation: util-threshold-config.c:TCPV6Checksum Unexecuted instantiation: util-time.c:TCPV6Checksum Unexecuted instantiation: util-var.c:TCPV6Checksum Unexecuted instantiation: util-var-name.c:TCPV6Checksum Unexecuted instantiation: app-layer.c:TCPV6Checksum Unexecuted instantiation: app-layer-detect-proto.c:TCPV6Checksum Unexecuted instantiation: app-layer-dnp3.c:TCPV6Checksum Unexecuted instantiation: app-layer-dnp3-objects.c:TCPV6Checksum Unexecuted instantiation: app-layer-enip.c:TCPV6Checksum Unexecuted instantiation: app-layer-enip-common.c:TCPV6Checksum Unexecuted instantiation: app-layer-events.c:TCPV6Checksum Unexecuted instantiation: app-layer-expectation.c:TCPV6Checksum Unexecuted instantiation: app-layer-ftp.c:TCPV6Checksum Unexecuted instantiation: app-layer-frames.c:TCPV6Checksum Unexecuted instantiation: app-layer-htp.c:TCPV6Checksum Unexecuted instantiation: app-layer-htp-file.c:TCPV6Checksum Unexecuted instantiation: app-layer-htp-range.c:TCPV6Checksum Unexecuted instantiation: app-layer-http2.c:TCPV6Checksum Unexecuted instantiation: app-layer-ike.c:TCPV6Checksum Unexecuted instantiation: app-layer-krb5.c:TCPV6Checksum Unexecuted instantiation: app-layer-modbus.c:TCPV6Checksum Unexecuted instantiation: app-layer-quic.c:TCPV6Checksum Unexecuted instantiation: app-layer-mqtt.c:TCPV6Checksum Unexecuted instantiation: app-layer-nfs-tcp.c:TCPV6Checksum Unexecuted instantiation: app-layer-nfs-udp.c:TCPV6Checksum Unexecuted instantiation: app-layer-ntp.c:TCPV6Checksum Unexecuted instantiation: counters.c:TCPV6Checksum Unexecuted instantiation: datasets-string.c:TCPV6Checksum Unexecuted instantiation: decode.c:TCPV6Checksum Unexecuted instantiation: decode-erspan.c:TCPV6Checksum Unexecuted instantiation: decode-ethernet.c:TCPV6Checksum Unexecuted instantiation: decode-geneve.c:TCPV6Checksum Unexecuted instantiation: decode-icmpv4.c:TCPV6Checksum Unexecuted instantiation: decode-icmpv6.c:TCPV6Checksum Unexecuted instantiation: decode-ipv4.c:TCPV6Checksum Unexecuted instantiation: decode-ipv6.c:TCPV6Checksum Unexecuted instantiation: decode-mpls.c:TCPV6Checksum Unexecuted instantiation: decode-nsh.c:TCPV6Checksum Unexecuted instantiation: decode-ppp.c:TCPV6Checksum Unexecuted instantiation: decode-pppoe.c:TCPV6Checksum Unexecuted instantiation: decode-sctp.c:TCPV6Checksum Unexecuted instantiation: decode-tcp.c:TCPV6Checksum Unexecuted instantiation: decode-teredo.c:TCPV6Checksum Unexecuted instantiation: decode-udp.c:TCPV6Checksum Unexecuted instantiation: decode-vlan.c:TCPV6Checksum Unexecuted instantiation: decode-vntag.c:TCPV6Checksum Unexecuted instantiation: decode-vxlan.c:TCPV6Checksum Unexecuted instantiation: defrag.c:TCPV6Checksum Unexecuted instantiation: defrag-config.c:TCPV6Checksum Unexecuted instantiation: defrag-hash.c:TCPV6Checksum Unexecuted instantiation: defrag-queue.c:TCPV6Checksum Unexecuted instantiation: defrag-timeout.c:TCPV6Checksum Unexecuted instantiation: detect-content.c:TCPV6Checksum Unexecuted instantiation: detect-dsize.c:TCPV6Checksum Unexecuted instantiation: detect-engine-address.c:TCPV6Checksum Unexecuted instantiation: detect-engine-address-ipv4.c:TCPV6Checksum Unexecuted instantiation: detect-engine-address-ipv6.c:TCPV6Checksum Unexecuted instantiation: detect-engine-alert.c:TCPV6Checksum Unexecuted instantiation: detect-engine-build.c:TCPV6Checksum Unexecuted instantiation: detect-engine.c:TCPV6Checksum Unexecuted instantiation: detect-engine-content-inspection.c:TCPV6Checksum Unexecuted instantiation: detect-engine-frame.c:TCPV6Checksum Unexecuted instantiation: detect-engine-iponly.c:TCPV6Checksum Unexecuted instantiation: detect-engine-loader.c:TCPV6Checksum Unexecuted instantiation: detect-engine-mpm.c:TCPV6Checksum Unexecuted instantiation: detect-engine-payload.c:TCPV6Checksum Unexecuted instantiation: detect-engine-port.c:TCPV6Checksum Unexecuted instantiation: detect-engine-prefilter.c:TCPV6Checksum Unexecuted instantiation: detect-engine-prefilter-common.c:TCPV6Checksum Unexecuted instantiation: detect-engine-proto.c:TCPV6Checksum Unexecuted instantiation: detect-engine-register.c:TCPV6Checksum Unexecuted instantiation: detect-engine-siggroup.c:TCPV6Checksum Unexecuted instantiation: detect-engine-sigorder.c:TCPV6Checksum Unexecuted instantiation: detect-engine-tag.c:TCPV6Checksum Unexecuted instantiation: detect-engine-threshold.c:TCPV6Checksum Unexecuted instantiation: detect-engine-uint.c:TCPV6Checksum Unexecuted instantiation: detect-fast-pattern.c:TCPV6Checksum Unexecuted instantiation: detect-file-data.c:TCPV6Checksum Unexecuted instantiation: detect-filemagic.c:TCPV6Checksum Unexecuted instantiation: detect-filemd5.c:TCPV6Checksum Unexecuted instantiation: detect-filename.c:TCPV6Checksum Unexecuted instantiation: detect-filesha1.c:TCPV6Checksum Unexecuted instantiation: detect-filesha256.c:TCPV6Checksum Unexecuted instantiation: detect-filesize.c:TCPV6Checksum Unexecuted instantiation: detect-filestore.c:TCPV6Checksum Unexecuted instantiation: detect-flowbits.c:TCPV6Checksum Unexecuted instantiation: detect-flow.c:TCPV6Checksum Unexecuted instantiation: detect-flow-age.c:TCPV6Checksum Unexecuted instantiation: detect-flowint.c:TCPV6Checksum Unexecuted instantiation: detect-flowvar.c:TCPV6Checksum Unexecuted instantiation: detect-fragbits.c:TCPV6Checksum Unexecuted instantiation: detect-fragoffset.c:TCPV6Checksum Unexecuted instantiation: detect-frame.c:TCPV6Checksum Unexecuted instantiation: detect-ftpbounce.c:TCPV6Checksum Unexecuted instantiation: detect-ftpdata.c:TCPV6Checksum Unexecuted instantiation: detect-geoip.c:TCPV6Checksum Unexecuted instantiation: detect-gid.c:TCPV6Checksum Unexecuted instantiation: detect-hostbits.c:TCPV6Checksum Unexecuted instantiation: detect-http2.c:TCPV6Checksum Unexecuted instantiation: detect-http-client-body.c:TCPV6Checksum Unexecuted instantiation: detect-http-cookie.c:TCPV6Checksum Unexecuted instantiation: detect-http-header.c:TCPV6Checksum Unexecuted instantiation: detect-http-header-common.c:TCPV6Checksum Unexecuted instantiation: detect-http-header-names.c:TCPV6Checksum Unexecuted instantiation: detect-http-host.c:TCPV6Checksum Unexecuted instantiation: detect-http-location.c:TCPV6Checksum Unexecuted instantiation: detect-http-method.c:TCPV6Checksum Unexecuted instantiation: detect-http-protocol.c:TCPV6Checksum Unexecuted instantiation: detect-http-raw-header.c:TCPV6Checksum Unexecuted instantiation: detect-http-referer.c:TCPV6Checksum Unexecuted instantiation: detect-http-request-line.c:TCPV6Checksum Unexecuted instantiation: detect-http-response-line.c:TCPV6Checksum Unexecuted instantiation: detect-http-server-body.c:TCPV6Checksum Unexecuted instantiation: detect-http-server.c:TCPV6Checksum Unexecuted instantiation: detect-http-start.c:TCPV6Checksum Unexecuted instantiation: detect-http-stat-code.c:TCPV6Checksum Unexecuted instantiation: detect-http-stat-msg.c:TCPV6Checksum Unexecuted instantiation: detect-http-ua.c:TCPV6Checksum Unexecuted instantiation: detect-http-uri.c:TCPV6Checksum Unexecuted instantiation: detect-icmp-id.c:TCPV6Checksum Unexecuted instantiation: detect-icmp-seq.c:TCPV6Checksum Unexecuted instantiation: detect-icmpv4hdr.c:TCPV6Checksum Unexecuted instantiation: detect-icmpv6hdr.c:TCPV6Checksum Unexecuted instantiation: detect-icmpv6-mtu.c:TCPV6Checksum Unexecuted instantiation: detect-icode.c:TCPV6Checksum Unexecuted instantiation: detect-id.c:TCPV6Checksum Unexecuted instantiation: detect-ike-exch-type.c:TCPV6Checksum Unexecuted instantiation: detect-ike-spi.c:TCPV6Checksum Unexecuted instantiation: detect-ike-vendor.c:TCPV6Checksum Unexecuted instantiation: detect-ike-chosen-sa.c:TCPV6Checksum Unexecuted instantiation: detect-ike-key-exchange-payload-length.c:TCPV6Checksum Unexecuted instantiation: detect-ike-nonce-payload-length.c:TCPV6Checksum Unexecuted instantiation: detect-ike-nonce-payload.c:TCPV6Checksum Unexecuted instantiation: detect-ike-key-exchange-payload.c:TCPV6Checksum Unexecuted instantiation: detect-ipaddr.c:TCPV6Checksum Unexecuted instantiation: detect-ipopts.c:TCPV6Checksum Unexecuted instantiation: detect-ipproto.c:TCPV6Checksum Unexecuted instantiation: detect-iprep.c:TCPV6Checksum Unexecuted instantiation: detect-ipv4hdr.c:TCPV6Checksum Unexecuted instantiation: detect-ipv6hdr.c:TCPV6Checksum Unexecuted instantiation: detect-isdataat.c:TCPV6Checksum Unexecuted instantiation: detect-itype.c:TCPV6Checksum Unexecuted instantiation: detect-ja4-hash.c:TCPV6Checksum Unexecuted instantiation: detect-krb5-cname.c:TCPV6Checksum Unexecuted instantiation: detect-krb5-errcode.c:TCPV6Checksum Unexecuted instantiation: detect-krb5-msgtype.c:TCPV6Checksum Unexecuted instantiation: detect-krb5-sname.c:TCPV6Checksum Unexecuted instantiation: detect-krb5-ticket-encryption.c:TCPV6Checksum Unexecuted instantiation: detect-l3proto.c:TCPV6Checksum Unexecuted instantiation: detect-lua.c:TCPV6Checksum Unexecuted instantiation: detect-mark.c:TCPV6Checksum Unexecuted instantiation: detect-metadata.c:TCPV6Checksum Unexecuted instantiation: detect-modbus.c:TCPV6Checksum Unexecuted instantiation: detect-quic-sni.c:TCPV6Checksum Unexecuted instantiation: detect-quic-ua.c:TCPV6Checksum Unexecuted instantiation: detect-quic-version.c:TCPV6Checksum Unexecuted instantiation: detect-quic-cyu-hash.c:TCPV6Checksum Unexecuted instantiation: detect-quic-cyu-string.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-connack-sessionpresent.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-connect-clientid.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-connect-flags.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-connect-password.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-connect-username.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-connect-willmessage.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-connect-willtopic.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-flags.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-protocol-version.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-publish-message.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-publish-topic.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-qos.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-reason-code.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-subscribe-topic.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-type.c:TCPV6Checksum Unexecuted instantiation: detect-mqtt-unsubscribe-topic.c:TCPV6Checksum Unexecuted instantiation: detect-msg.c:TCPV6Checksum Unexecuted instantiation: detect-nfs-procedure.c:TCPV6Checksum Unexecuted instantiation: detect-nfs-version.c:TCPV6Checksum Unexecuted instantiation: detect-noalert.c:TCPV6Checksum Unexecuted instantiation: detect-nocase.c:TCPV6Checksum Unexecuted instantiation: detect-offset.c:TCPV6Checksum Unexecuted instantiation: detect-parse.c:TCPV6Checksum Unexecuted instantiation: detect-pcre.c:TCPV6Checksum Unexecuted instantiation: detect-pkt-data.c:TCPV6Checksum Unexecuted instantiation: detect-pktvar.c:TCPV6Checksum Unexecuted instantiation: detect-prefilter.c:TCPV6Checksum Unexecuted instantiation: detect-priority.c:TCPV6Checksum Unexecuted instantiation: detect-rawbytes.c:TCPV6Checksum Unexecuted instantiation: detect-reference.c:TCPV6Checksum Unexecuted instantiation: detect-replace.c:TCPV6Checksum Unexecuted instantiation: detect-requires.c:TCPV6Checksum Unexecuted instantiation: detect-rev.c:TCPV6Checksum Unexecuted instantiation: detect-rfb-name.c:TCPV6Checksum Unexecuted instantiation: detect-rfb-secresult.c:TCPV6Checksum Unexecuted instantiation: detect-rfb-sectype.c:TCPV6Checksum Unexecuted instantiation: detect-rpc.c:TCPV6Checksum Unexecuted instantiation: detect-sameip.c:TCPV6Checksum Unexecuted instantiation: detect-sid.c:TCPV6Checksum Unexecuted instantiation: detect-sip-method.c:TCPV6Checksum Unexecuted instantiation: detect-sip-protocol.c:TCPV6Checksum Unexecuted instantiation: detect-sip-request-line.c:TCPV6Checksum Unexecuted instantiation: detect-sip-response-line.c:TCPV6Checksum Unexecuted instantiation: detect-sip-stat-code.c:TCPV6Checksum Unexecuted instantiation: detect-sip-stat-msg.c:TCPV6Checksum Unexecuted instantiation: detect-sip-uri.c:TCPV6Checksum Unexecuted instantiation: detect-smb-ntlmssp.c:TCPV6Checksum Unexecuted instantiation: detect-smb-share.c:TCPV6Checksum Unexecuted instantiation: detect-snmp-community.c:TCPV6Checksum Unexecuted instantiation: detect-snmp-pdu_type.c:TCPV6Checksum Unexecuted instantiation: detect-snmp-usm.c:TCPV6Checksum Unexecuted instantiation: detect-snmp-version.c:TCPV6Checksum Unexecuted instantiation: detect-dhcp-leasetime.c:TCPV6Checksum Unexecuted instantiation: detect-dhcp-rebinding-time.c:TCPV6Checksum Unexecuted instantiation: detect-dhcp-renewal-time.c:TCPV6Checksum Unexecuted instantiation: detect-ssh-hassh.c:TCPV6Checksum Unexecuted instantiation: detect-ssh-hassh-server.c:TCPV6Checksum Unexecuted instantiation: detect-ssh-hassh-server-string.c:TCPV6Checksum Unexecuted instantiation: detect-ssh-hassh-string.c:TCPV6Checksum Unexecuted instantiation: detect-ssh-proto.c:TCPV6Checksum Unexecuted instantiation: detect-ssh-proto-version.c:TCPV6Checksum Unexecuted instantiation: detect-ssh-software.c:TCPV6Checksum Unexecuted instantiation: detect-ssh-software-version.c:TCPV6Checksum Unexecuted instantiation: detect-ssl-state.c:TCPV6Checksum Unexecuted instantiation: detect-ssl-version.c:TCPV6Checksum Unexecuted instantiation: detect-stream_size.c:TCPV6Checksum Unexecuted instantiation: detect-tag.c:TCPV6Checksum Unexecuted instantiation: detect-target.c:TCPV6Checksum Unexecuted instantiation: detect-tcp-ack.c:TCPV6Checksum Unexecuted instantiation: detect-tcp-flags.c:TCPV6Checksum Unexecuted instantiation: detect-tcphdr.c:TCPV6Checksum Unexecuted instantiation: detect-tcpmss.c:TCPV6Checksum Unexecuted instantiation: detect-tcp-seq.c:TCPV6Checksum Unexecuted instantiation: detect-tcp-window.c:TCPV6Checksum Unexecuted instantiation: detect-template2.c:TCPV6Checksum Unexecuted instantiation: detect-template.c:TCPV6Checksum Unexecuted instantiation: detect-template-rust-buffer.c:TCPV6Checksum Unexecuted instantiation: detect-threshold.c:TCPV6Checksum Unexecuted instantiation: detect-tls.c:TCPV6Checksum Unexecuted instantiation: detect-tls-cert-fingerprint.c:TCPV6Checksum Unexecuted instantiation: detect-tls-cert-issuer.c:TCPV6Checksum Unexecuted instantiation: detect-tls-certs.c:TCPV6Checksum Unexecuted instantiation: detect-tls-cert-serial.c:TCPV6Checksum Unexecuted instantiation: detect-tls-cert-subject.c:TCPV6Checksum Unexecuted instantiation: detect-tls-cert-validity.c:TCPV6Checksum Unexecuted instantiation: detect-tls-ja3-hash.c:TCPV6Checksum Unexecuted instantiation: detect-tls-ja3s-hash.c:TCPV6Checksum Unexecuted instantiation: detect-tls-ja3s-string.c:TCPV6Checksum Unexecuted instantiation: detect-tls-ja3-string.c:TCPV6Checksum Unexecuted instantiation: detect-tls-sni.c:TCPV6Checksum Unexecuted instantiation: detect-tls-version.c:TCPV6Checksum Unexecuted instantiation: detect-tls-random.c:TCPV6Checksum Unexecuted instantiation: detect-tos.c:TCPV6Checksum Unexecuted instantiation: detect-transform-casechange.c:TCPV6Checksum Unexecuted instantiation: detect-transform-compress-whitespace.c:TCPV6Checksum Unexecuted instantiation: detect-transform-dotprefix.c:TCPV6Checksum Unexecuted instantiation: detect-transform-header-lowercase.c:TCPV6Checksum Unexecuted instantiation: detect-transform-md5.c:TCPV6Checksum Unexecuted instantiation: detect-transform-pcrexform.c:TCPV6Checksum Unexecuted instantiation: detect-transform-sha1.c:TCPV6Checksum Unexecuted instantiation: detect-transform-sha256.c:TCPV6Checksum Unexecuted instantiation: detect-transform-strip-pseudo-headers.c:TCPV6Checksum Unexecuted instantiation: detect-transform-strip-whitespace.c:TCPV6Checksum Unexecuted instantiation: detect-transform-urldecode.c:TCPV6Checksum Unexecuted instantiation: detect-transform-xor.c:TCPV6Checksum Unexecuted instantiation: detect-ttl.c:TCPV6Checksum Unexecuted instantiation: detect-udphdr.c:TCPV6Checksum Unexecuted instantiation: detect-uricontent.c:TCPV6Checksum Unexecuted instantiation: detect-urilen.c:TCPV6Checksum Unexecuted instantiation: detect-within.c:TCPV6Checksum Unexecuted instantiation: detect-xbits.c:TCPV6Checksum Unexecuted instantiation: flow-bit.c:TCPV6Checksum Unexecuted instantiation: flow-bypass.c:TCPV6Checksum Unexecuted instantiation: flow-var.c:TCPV6Checksum Unexecuted instantiation: flow-worker.c:TCPV6Checksum Unexecuted instantiation: host-bit.c:TCPV6Checksum Unexecuted instantiation: host.c:TCPV6Checksum Unexecuted instantiation: host-queue.c:TCPV6Checksum Unexecuted instantiation: host-storage.c:TCPV6Checksum Unexecuted instantiation: ippair-bit.c:TCPV6Checksum Unexecuted instantiation: ippair.c:TCPV6Checksum Unexecuted instantiation: ippair-queue.c:TCPV6Checksum Unexecuted instantiation: ippair-storage.c:TCPV6Checksum Unexecuted instantiation: output.c:TCPV6Checksum Unexecuted instantiation: output-eve-stream.c:TCPV6Checksum Unexecuted instantiation: output-filestore.c:TCPV6Checksum Unexecuted instantiation: output-json-alert.c:TCPV6Checksum Unexecuted instantiation: output-json-anomaly.c:TCPV6Checksum Unexecuted instantiation: output-json-bittorrent-dht.c:TCPV6Checksum Unexecuted instantiation: output-json.c:TCPV6Checksum Unexecuted instantiation: output-json-common.c:TCPV6Checksum Unexecuted instantiation: output-json-dcerpc.c:TCPV6Checksum Unexecuted instantiation: output-json-dhcp.c:TCPV6Checksum Unexecuted instantiation: output-json-dnp3.c:TCPV6Checksum Unexecuted instantiation: output-json-dnp3-objects.c:TCPV6Checksum Unexecuted instantiation: output-json-dns.c:TCPV6Checksum Unexecuted instantiation: output-json-drop.c:TCPV6Checksum Unexecuted instantiation: output-json-email-common.c:TCPV6Checksum Unexecuted instantiation: output-json-file.c:TCPV6Checksum Unexecuted instantiation: output-json-flow.c:TCPV6Checksum Unexecuted instantiation: output-json-frame.c:TCPV6Checksum Unexecuted instantiation: output-json-ftp.c:TCPV6Checksum Unexecuted instantiation: output-json-http2.c:TCPV6Checksum Unexecuted instantiation: output-json-http.c:TCPV6Checksum Unexecuted instantiation: output-json-ike.c:TCPV6Checksum Unexecuted instantiation: output-json-krb5.c:TCPV6Checksum Unexecuted instantiation: output-json-metadata.c:TCPV6Checksum Unexecuted instantiation: output-json-modbus.c:TCPV6Checksum Unexecuted instantiation: output-json-quic.c:TCPV6Checksum Unexecuted instantiation: output-json-mqtt.c:TCPV6Checksum Unexecuted instantiation: output-json-netflow.c:TCPV6Checksum Unexecuted instantiation: output-json-nfs.c:TCPV6Checksum Unexecuted instantiation: output-json-pgsql.c:TCPV6Checksum Unexecuted instantiation: output-json-rdp.c:TCPV6Checksum Unexecuted instantiation: output-json-rfb.c:TCPV6Checksum Unexecuted instantiation: output-json-sip.c:TCPV6Checksum Unexecuted instantiation: output-json-smb.c:TCPV6Checksum Unexecuted instantiation: output-json-smtp.c:TCPV6Checksum Unexecuted instantiation: output-json-snmp.c:TCPV6Checksum Unexecuted instantiation: output-json-ssh.c:TCPV6Checksum Unexecuted instantiation: output-json-stats.c:TCPV6Checksum Unexecuted instantiation: output-json-template.c:TCPV6Checksum Unexecuted instantiation: output-json-tftp.c:TCPV6Checksum Unexecuted instantiation: output-json-tls.c:TCPV6Checksum Unexecuted instantiation: output-eve-syslog.c:TCPV6Checksum Unexecuted instantiation: output-eve-null.c:TCPV6Checksum Unexecuted instantiation: output-packet.c:TCPV6Checksum Unexecuted instantiation: output-stats.c:TCPV6Checksum Unexecuted instantiation: output-streaming.c:TCPV6Checksum Unexecuted instantiation: output-tx.c:TCPV6Checksum Unexecuted instantiation: packet-queue.c:TCPV6Checksum Unexecuted instantiation: respond-reject.c:TCPV6Checksum Unexecuted instantiation: respond-reject-libnet11.c:TCPV6Checksum Unexecuted instantiation: runmode-af-packet.c:TCPV6Checksum Unexecuted instantiation: runmode-af-xdp.c:TCPV6Checksum Unexecuted instantiation: runmode-dpdk.c:TCPV6Checksum Unexecuted instantiation: runmode-erf-dag.c:TCPV6Checksum Unexecuted instantiation: runmode-erf-file.c:TCPV6Checksum Unexecuted instantiation: runmode-ipfw.c:TCPV6Checksum Unexecuted instantiation: runmode-napatech.c:TCPV6Checksum Unexecuted instantiation: runmode-netmap.c:TCPV6Checksum Unexecuted instantiation: runmode-nflog.c:TCPV6Checksum Unexecuted instantiation: runmode-nfq.c:TCPV6Checksum Unexecuted instantiation: runmode-pcap.c:TCPV6Checksum Unexecuted instantiation: runmode-pcap-file.c:TCPV6Checksum Unexecuted instantiation: runmode-pfring.c:TCPV6Checksum Unexecuted instantiation: rust-context.c:TCPV6Checksum Unexecuted instantiation: source-af-packet.c:TCPV6Checksum Unexecuted instantiation: source-af-xdp.c:TCPV6Checksum Unexecuted instantiation: source-dpdk.c:TCPV6Checksum Unexecuted instantiation: source-erf-dag.c:TCPV6Checksum Unexecuted instantiation: source-erf-file.c:TCPV6Checksum Unexecuted instantiation: source-ipfw.c:TCPV6Checksum Unexecuted instantiation: source-napatech.c:TCPV6Checksum Unexecuted instantiation: source-netmap.c:TCPV6Checksum Unexecuted instantiation: source-nflog.c:TCPV6Checksum Unexecuted instantiation: source-nfq.c:TCPV6Checksum Unexecuted instantiation: source-pcap.c:TCPV6Checksum Unexecuted instantiation: source-pcap-file.c:TCPV6Checksum Unexecuted instantiation: source-pcap-file-directory-helper.c:TCPV6Checksum Unexecuted instantiation: source-pcap-file-helper.c:TCPV6Checksum Unexecuted instantiation: source-pfring.c:TCPV6Checksum Unexecuted instantiation: source-windivert.c:TCPV6Checksum Unexecuted instantiation: stream-tcp-inline.c:TCPV6Checksum Unexecuted instantiation: tmqh-simple.c:TCPV6Checksum Unexecuted instantiation: util-action.c:TCPV6Checksum Unexecuted instantiation: util-classification-config.c:TCPV6Checksum Unexecuted instantiation: util-detect.c:TCPV6Checksum Unexecuted instantiation: util-file-decompression.c:TCPV6Checksum Unexecuted instantiation: util-file-swf-decompression.c:TCPV6Checksum Unexecuted instantiation: util-logopenfile.c:TCPV6Checksum Unexecuted instantiation: util-mpm-ac-bs.c:TCPV6Checksum Unexecuted instantiation: util-mpm-ac.c:TCPV6Checksum Unexecuted instantiation: util-mpm-ac-ks.c:TCPV6Checksum Unexecuted instantiation: util-reference-config.c:TCPV6Checksum Unexecuted instantiation: util-rule-vars.c:TCPV6Checksum Unexecuted instantiation: util-runmodes.c:TCPV6Checksum Unexecuted instantiation: util-port-interval-tree.c:TCPV6Checksum Unexecuted instantiation: alert-debuglog.c:TCPV6Checksum Unexecuted instantiation: alert-fastlog.c:TCPV6Checksum Unexecuted instantiation: alert-syslog.c:TCPV6Checksum Unexecuted instantiation: app-layer-htp-body.c:TCPV6Checksum Unexecuted instantiation: app-layer-htp-xff.c:TCPV6Checksum Unexecuted instantiation: app-layer-register.c:TCPV6Checksum Unexecuted instantiation: decode-chdlc.c:TCPV6Checksum Unexecuted instantiation: decode-esp.c:TCPV6Checksum Unexecuted instantiation: decode-gre.c:TCPV6Checksum Unexecuted instantiation: decode-null.c:TCPV6Checksum Unexecuted instantiation: decode-raw.c:TCPV6Checksum Unexecuted instantiation: decode-sll.c:TCPV6Checksum Unexecuted instantiation: detect-app-layer-event.c:TCPV6Checksum Unexecuted instantiation: detect-app-layer-protocol.c:TCPV6Checksum Unexecuted instantiation: detect-asn1.c:TCPV6Checksum Unexecuted instantiation: detect-base64-data.c:TCPV6Checksum Unexecuted instantiation: detect-base64-decode.c:TCPV6Checksum Unexecuted instantiation: detect-bsize.c:TCPV6Checksum Unexecuted instantiation: detect-bypass.c:TCPV6Checksum Unexecuted instantiation: detect-byte.c:TCPV6Checksum Unexecuted instantiation: detect-byte-extract.c:TCPV6Checksum Unexecuted instantiation: detect-bytejump.c:TCPV6Checksum Unexecuted instantiation: detect-bytemath.c:TCPV6Checksum Unexecuted instantiation: detect-bytetest.c:TCPV6Checksum Unexecuted instantiation: detect.c:TCPV6Checksum Unexecuted instantiation: detect-cipservice.c:TCPV6Checksum Unexecuted instantiation: detect-classtype.c:TCPV6Checksum Unexecuted instantiation: detect-config.c:TCPV6Checksum detect-csum.c:TCPV6Checksum Line | Count | Source | 260 | 111 | { | 261 | 111 | uint16_t pad = 0; | 262 | 111 | uint32_t csum = init; | 263 | | | 264 | 111 | csum += shdr[0] + shdr[1] + shdr[2] + shdr[3] + shdr[4] + shdr[5] + | 265 | 111 | shdr[6] + shdr[7] + shdr[8] + shdr[9] + shdr[10] + shdr[11] + | 266 | 111 | shdr[12] + shdr[13] + shdr[14] + shdr[15] + htons(6) + htons(tlen); | 267 | | | 268 | 111 | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + | 269 | 111 | pkt[7] + pkt[9]; | 270 | | | 271 | 111 | tlen -= 20; | 272 | 111 | pkt += 10; | 273 | | | 274 | 1.37k | while (tlen >= 32) { | 275 | 1.26k | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3] + pkt[4] + pkt[5] + pkt[6] + | 276 | 1.26k | pkt[7] + pkt[8] + pkt[9] + pkt[10] + pkt[11] + pkt[12] + pkt[13] + | 277 | 1.26k | pkt[14] + pkt[15]; | 278 | 1.26k | tlen -= 32; | 279 | 1.26k | pkt += 16; | 280 | 1.26k | } | 281 | | | 282 | 276 | while(tlen >= 8) { | 283 | 165 | csum += pkt[0] + pkt[1] + pkt[2] + pkt[3]; | 284 | 165 | tlen -= 8; | 285 | 165 | pkt += 4; | 286 | 165 | } | 287 | | | 288 | 185 | while(tlen >= 4) { | 289 | 74 | csum += pkt[0] + pkt[1]; | 290 | 74 | tlen -= 4; | 291 | 74 | pkt += 2; | 292 | 74 | } | 293 | | | 294 | 130 | while (tlen > 1) { | 295 | 19 | csum += pkt[0]; | 296 | 19 | pkt += 1; | 297 | 19 | tlen -= 2; | 298 | 19 | } | 299 | | | 300 | 111 | if (tlen == 1) { | 301 | 20 | *(uint8_t *)(&pad) = (*(uint8_t *)pkt); | 302 | 20 | csum += pad; | 303 | 20 | } | 304 | | | 305 | 111 | csum = (csum >> 16) + (csum & 0x0000FFFF); | 306 | 111 | csum += (csum >> 16); | 307 | | | 308 | 111 | return (uint16_t)~csum; | 309 | 111 | } |
Unexecuted instantiation: detect-datarep.c:TCPV6Checksum Unexecuted instantiation: detect-dataset.c:TCPV6Checksum Unexecuted instantiation: detect-dce-iface.c:TCPV6Checksum Unexecuted instantiation: detect-dce-opnum.c:TCPV6Checksum Unexecuted instantiation: detect-dce-stub-data.c:TCPV6Checksum Unexecuted instantiation: detect-depth.c:TCPV6Checksum Unexecuted instantiation: detect-detection-filter.c:TCPV6Checksum Unexecuted instantiation: detect-distance.c:TCPV6Checksum Unexecuted instantiation: detect-dnp3.c:TCPV6Checksum Unexecuted instantiation: detect-dns-opcode.c:TCPV6Checksum Unexecuted instantiation: detect-dns-query.c:TCPV6Checksum Unexecuted instantiation: detect-engine-analyzer.c:TCPV6Checksum Unexecuted instantiation: detect-engine-enip.c:TCPV6Checksum Unexecuted instantiation: detect-engine-event.c:TCPV6Checksum Unexecuted instantiation: detect-engine-file.c:TCPV6Checksum Unexecuted instantiation: detect-file-hash-common.c:TCPV6Checksum Unexecuted instantiation: detect-http-accept.c:TCPV6Checksum Unexecuted instantiation: detect-http-accept-enc.c:TCPV6Checksum Unexecuted instantiation: detect-http-accept-lang.c:TCPV6Checksum Unexecuted instantiation: detect-http-connection.c:TCPV6Checksum Unexecuted instantiation: detect-http-content-len.c:TCPV6Checksum Unexecuted instantiation: detect-http-content-type.c:TCPV6Checksum Unexecuted instantiation: log-httplog.c:TCPV6Checksum Unexecuted instantiation: log-pcap.c:TCPV6Checksum Unexecuted instantiation: log-stats.c:TCPV6Checksum Unexecuted instantiation: log-tcp-data.c:TCPV6Checksum Unexecuted instantiation: log-tlslog.c:TCPV6Checksum Unexecuted instantiation: log-tlsstore.c:TCPV6Checksum Unexecuted instantiation: stream.c:TCPV6Checksum Unexecuted instantiation: fuzz_sigpcap_aware.c:TCPV6Checksum Unexecuted instantiation: util-unittest-helper.c:TCPV6Checksum Unexecuted instantiation: fuzz_decodepcapfile.c:TCPV6Checksum Unexecuted instantiation: fuzz_mimedecparseline.c:TCPV6Checksum Unexecuted instantiation: fuzz_siginit.c:TCPV6Checksum Unexecuted instantiation: fuzz_sigpcap.c:TCPV6Checksum Unexecuted instantiation: fuzz_applayerprotodetectgetproto.c:TCPV6Checksum Unexecuted instantiation: fuzz_predefpcap_aware.c:TCPV6Checksum |
310 | | |
311 | | #endif /* __DECODE_TCP_H__ */ |