aboutsummaryrefslogtreecommitdiffstats
path: root/epan/follow.h
diff options
context:
space:
mode:
authorNardi Ivan <nardi.ivan@gmail.com>2021-06-28 13:58:36 +0200
committerAndersBroman <a.broman58@gmail.com>2021-09-13 15:13:10 +0000
commit3cb302f05b0b8e16b97d4ada5c3027641d9b4a3c (patch)
tree37e75b796fb41917362ef4d4752ffdde0c897fbb /epan/follow.h
parenta7a7849259cff96fc3d585e3067079cea856bfc7 (diff)
HTTP2, QUIC: fix "Follow Stream"
"Follow Stream" functionality assumes that all data in a single packet belongs to the same stream. That is not true for HTTP2 and QUIC, where we end up having data from unrelated streams. Filter out the unwanted data directly in the protocol dissector code with a custom `tap_handler` (as TCP already does). Close #16093
Diffstat (limited to 'epan/follow.h')
-rw-r--r--epan/follow.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/epan/follow.h b/epan/follow.h
index 2ac4d66e3a..94111465a0 100644
--- a/epan/follow.h
+++ b/epan/follow.h
@@ -78,6 +78,8 @@ struct _follow_info;
typedef gboolean (*follow_print_line_func)(char *, size_t, gboolean, void *);
typedef frs_return_t (*follow_read_stream_func)(struct _follow_info *follow_info, follow_print_line_func follow_print, void *arg);
+#define SUBSTREAM_UNUSED G_GUINT64_CONSTANT(0xFFFFFFFFFFFFFFFF)
+
typedef struct {
gboolean is_server;
guint32 packet_num;
@@ -98,6 +100,7 @@ typedef struct _follow_info {
address client_ip;
address server_ip;
void* gui_data;
+ guint64 substream_id; /**< Sub-stream; used only by HTTP2 and QUIC */
} follow_info_t;
struct register_follow;