aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Gavrilov <105977161+0xA50C1A1@users.noreply.github.com>2025-05-24 17:35:08 +0300
committerGitHub <noreply@github.com>2025-05-24 16:35:08 +0200
commitd40d04a0030155b1b2bcc005a08ae410debec291 (patch)
treefa705253248184d326d17c5484e8c833e397aa0f
parent06cb933073f88e9a69a2f3277c476beb81627754 (diff)
ndpi_flow_tcp_struct refactoring (#2848)
-rw-r--r--src/include/ndpi_typedefs.h117
1 files changed, 64 insertions, 53 deletions
diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h
index 0fc10b995..fab32a5cb 100644
--- a/src/include/ndpi_typedefs.h
+++ b/src/include/ndpi_typedefs.h
@@ -822,44 +822,6 @@ struct ndpi_flow_tcp_struct {
/* Part of the TCP header */
u_int8_t cli2srv_tcp_flags, srv2cli_tcp_flags;
- u_int32_t seen_syn:1, seen_syn_ack:1, seen_ack:1;
-
- /* NDPI_PROTOCOL_IRC */
- u_int32_t irc_3a_counter:3;
-
- /* NDPI_PROTOCOL_USENET */
- u_int32_t usenet_stage:2;
-
- /* NDPI_PROTOCOL_HTTP */
- u_int32_t http_stage:3;
- u_int32_t http_asymmetric_stage:2;
-
- /* NDPI_PROTOCOL_GNUTELLA */
- u_int32_t gnutella_stage:2; // 0 - 2
-
- /* NDPI_PROTOCOL_SSH */
- u_int32_t ssh_stage:3;
-
- /* NDPI_PROTOCOL_VNC */
- u_int32_t vnc_stage:2; // 0 - 3
-
- /* NDPI_PROTOCOL_TELNET */
- u_int32_t telnet_stage:2; // 0 - 2
-
- /* NDPI_PROTOCOL_RADMIN */
- u_int32_t radmin_stage:1;
-
- /* NDPI_PROTOCOL_FTP_CONTROL */
- u_int32_t ftp_control_stage:2;
-
- /* NDPI_PROTOCOL_SOAP */
- u_int32_t soap_stage:1;
-
- /* NDPI_PROTOCOL_SOCKS */
- u_int32_t socks5_stage:2, socks4_stage:2;
-
- /* NDPI_PROTOCOL_Z3950 */
- u_int32_t z3950_stage:2;
/* NDPI_PROTOCOL_MAIL_SMTP */
/* NDPI_PROTOCOL_MAIL_POP */
@@ -871,8 +833,14 @@ struct ndpi_flow_tcp_struct {
char username[32], password[16];
} ftp_imap_pop_smtp;
- /* NDPI_PROTOCOL_HCL_NOTES */
- u_int8_t hcl_notes_packet_id;
+ struct {
+ /* NDPI_PROTOCOL_TLS */
+ u_int8_t app_data_seen[2];
+ u_int8_t num_tls_blocks;
+ int16_t tls_application_blocks_len[NDPI_MAX_NUM_TLS_APPL_BLOCKS]; /* + = src->dst, - = dst->src */
+ } tls;
+
+
/* NDPI_PROTOCOL_MAIL_SMTP */
u_int16_t smtp_command_bitmask;
@@ -880,6 +848,12 @@ struct ndpi_flow_tcp_struct {
/* NDPI_PROTOCOL_MAIL_POP */
u_int16_t pop_command_bitmask;
+ /* NDPI_PROTOCOL_RTMP */
+ u_int16_t rtmp_client_buffer_len;
+
+ /* NDPI_PROTOCOL_HCL_NOTES */
+ u_int8_t hcl_notes_packet_id;
+
/* NDPI_PROTOCOL_WHATSAPP */
u_int8_t wa_matched_so_far;
@@ -892,31 +866,68 @@ struct ndpi_flow_tcp_struct {
/* NDPI_PROTOCOL_MEMCACHED */
u_int8_t memcached_matches;
- struct {
- /* NDPI_PROTOCOL_TLS */
- u_int8_t app_data_seen[2];
- u_int8_t num_tls_blocks;
- int16_t tls_application_blocks_len[NDPI_MAX_NUM_TLS_APPL_BLOCKS]; /* + = src->dst, - = dst->src */
- } tls;
+ /* Part of the TCP header */
+ u_int64_t seen_syn:1, seen_syn_ack:1, seen_ack:1;
+
+ /* NDPI_PROTOCOL_IRC */
+ u_int64_t irc_3a_counter:3;
+
+ /* NDPI_PROTOCOL_USENET */
+ u_int64_t usenet_stage:2;
+
+ /* NDPI_PROTOCOL_HTTP */
+ u_int64_t http_stage:3;
+ u_int64_t http_asymmetric_stage:2;
+
+ /* NDPI_PROTOCOL_GNUTELLA */
+ u_int64_t gnutella_stage:2;
+
+ /* NDPI_PROTOCOL_SSH */
+ u_int64_t ssh_stage:3;
+
+ /* NDPI_PROTOCOL_VNC */
+ u_int64_t vnc_stage:2;
+
+ /* NDPI_PROTOCOL_TELNET */
+ u_int64_t telnet_stage:2;
+
+ /* NDPI_PROTOCOL_RADMIN */
+ u_int64_t radmin_stage:1;
+
+ /* NDPI_PROTOCOL_FTP_CONTROL */
+ u_int64_t ftp_control_stage:2;
+
+ /* NDPI_PROTOCOL_SOAP */
+ u_int64_t soap_stage:1;
+
+ /* NDPI_PROTOCOL_SOCKS */
+ u_int64_t socks5_stage:2;
+ u_int64_t socks4_stage:2;
+
+ /* NDPI_PROTOCOL_Z3950 */
+ u_int64_t z3950_stage:2;
/* NDPI_PROTOCOL_RTMP */
- u_int16_t rtmp_client_buffer_len;
- u_int32_t rtmp_stage:2;
+ u_int64_t rtmp_stage:2;
/* NDPI_PROTOCOL_POSTGRES */
- u_int32_t postgres_stage:3;
+ u_int64_t postgres_stage:3;
/* NDPI_PROTOCOL_ICECAST */
- u_int32_t icecast_stage:1;
+ u_int64_t icecast_stage:1;
/* NDPI_PROTOCOL_DOFUS */
- u_int32_t dofus_stage:1;
+ u_int64_t dofus_stage:1;
/* NDPI_PROTOCOL_MAIL_POP */
- u_int32_t mail_pop_stage:2;
+ u_int64_t mail_pop_stage:2;
/* NDPI_PROTOCOL_MAIL_IMAP */
- u_int32_t mail_imap_stage:3, mail_imap_starttls:2;
+ u_int64_t mail_imap_stage:3;
+ u_int64_t mail_imap_starttls:1;
+
+ /* Reserved for future use */
+ u_int64_t reserved:19;
};
/* ************************************************** */