diff options
author | Vladimir Gavrilov <105977161+0xA50C1A1@users.noreply.github.com> | 2025-05-24 17:35:08 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-24 16:35:08 +0200 |
commit | d40d04a0030155b1b2bcc005a08ae410debec291 (patch) | |
tree | fa705253248184d326d17c5484e8c833e397aa0f | |
parent | 06cb933073f88e9a69a2f3277c476beb81627754 (diff) |
ndpi_flow_tcp_struct refactoring (#2848)
-rw-r--r-- | src/include/ndpi_typedefs.h | 117 |
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; }; /* ************************************************** */ |