summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluwenpeng <[email protected]>2024-04-25 15:39:02 +0800
committerluwenpeng <[email protected]>2024-04-25 15:39:02 +0800
commit17ca476c2403391d7ac1f403e62440798aa92f5e (patch)
treed751794e33bc28df89eb47c2f70ca3a7bc8c90ac
parent54a78389cf0dfd731a56749ecbdfe7767618e828 (diff)
tcp session record last packet tcp payload length used to calculate seq of injected RST packets
-rw-r--r--src/session/session_manager.cpp1
-rw-r--r--src/session/session_priv.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/session/session_manager.cpp b/src/session/session_manager.cpp
index efb0c86..7d51a26 100644
--- a/src/session/session_manager.cpp
+++ b/src/session/session_manager.cpp
@@ -293,6 +293,7 @@ static void tcp_update(struct session_manager *mgr, struct session *sess, enum s
half->flags |= flags;
half->seq = tcp_hdr_get_seq(hdr);
half->ack = tcp_hdr_get_ack(hdr);
+ half->len = tcp_layer->pld_len;
if (!mgr->opts.tcp_reassembly_enable)
{
diff --git a/src/session/session_priv.h b/src/session/session_priv.h
index 5ec619d..558da08 100644
--- a/src/session/session_priv.h
+++ b/src/session/session_priv.h
@@ -28,6 +28,7 @@ struct tcp_half
uint32_t seq;
uint32_t ack;
+ uint16_t len;
uint8_t flags;
};