aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2023-11-29 17:13:00 +0100
committerGitHub <noreply@github.com>2023-11-29 17:13:00 +0100
commit3b35cb37d9b12d3fe3386e9d3f60ab46076d3fbc (patch)
tree3cf19bde0e542ee8bf7467a7d545ff8ebcb8fdab /src/include
parentac90b1f00910a33d9104d0470429bb8244a49cc9 (diff)
Keep separating public and private API (#2157)
See: b08c787fe
Diffstat (limited to 'src/include')
-rw-r--r--src/include/ndpi_api.h35
-rw-r--r--src/include/ndpi_main.h63
-rw-r--r--src/include/ndpi_protocols.h263
-rw-r--r--src/include/ndpi_typedefs.h19
-rw-r--r--src/include/ndpi_utils.h58
5 files changed, 27 insertions, 411 deletions
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
index 9621f8e37..0eef7bae2 100644
--- a/src/include/ndpi_api.h
+++ b/src/include/ndpi_api.h
@@ -242,18 +242,6 @@ extern "C" {
void ndpi_free_flow(struct ndpi_flow_struct *flow);
/**
- * Enables cache support.
- * In nDPI is used for some protocol (i.e. Skype)
- *
- * @par ndpi_mod = the struct created for the protocol detection
- * @par host = string for the host name
- * @par port = unsigned int for the port number
- *
- */
- void ndpi_enable_cache(struct ndpi_detection_module_struct *ndpi_mod,
- char* host, u_int port);
-
- /**
* Destroys the detection module
*
* @par ndpi_struct = the struct to clearing for the detection module
@@ -2164,6 +2152,29 @@ extern "C" {
*/
void *ndpi_get_user_data(struct ndpi_detection_module_struct *ndpi_str);
+ /* ******************************* */
+
+ /* Can't call libc functions from kernel space, define some stub instead */
+
+#define ndpi_isalpha(ch) (((ch) >= 'a' && (ch) <= 'z') || ((ch) >= 'A' && (ch) <= 'Z'))
+#define ndpi_isdigit(ch) ((ch) >= '0' && (ch) <= '9')
+#define ndpi_isalnum(ch) (ndpi_isalpha(ch) != 0 || ndpi_isdigit(ch) != 0)
+#define ndpi_isspace(ch) (((ch) >= '\t' && (ch) <= '\r') || ((ch) == ' '))
+#define ndpi_isprint(ch) ((ch) >= 0x20 && (ch) <= 0x7e)
+#define ndpi_ispunct(ch) (((ch) >= '!' && (ch) <= '/') || \
+ ((ch) >= ':' && (ch) <= '@') || \
+ ((ch) >= '[' && (ch) <= '`') || \
+ ((ch) >= '{' && (ch) <= '~'))
+
+ /* ******************************* */
+
+ int ndpi_vsnprintf(char * str, size_t size, char const * format, va_list va_args);
+ int ndpi_snprintf(char * str, size_t size, char const * format, ...);
+ struct tm *ndpi_gmtime_r(const time_t *timep,
+ struct tm *result);
+
+ /* ******************************* */
+
#ifdef __cplusplus
}
#endif
diff --git a/src/include/ndpi_main.h b/src/include/ndpi_main.h
index f2ce493c9..d262a5108 100644
--- a/src/include/ndpi_main.h
+++ b/src/include/ndpi_main.h
@@ -33,11 +33,7 @@
#include "ndpi_protocol_ids.h"
#include "ndpi_typedefs.h"
#include "ndpi_api.h"
-#include "ndpi_protocols.h"
-/* used by ndpi_set_proto_subprotocols */
-#define NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS (-1)
-#define NDPI_PROTOCOL_MATCHED_BY_CONTENT (-2)
#ifdef __cplusplus
extern "C" {
@@ -54,12 +50,8 @@ extern "C" {
int NDPI_BITMASK_IS_EMPTY(NDPI_PROTOCOL_BITMASK a);
void NDPI_DUMP_BITMASK(NDPI_PROTOCOL_BITMASK a);
- extern u_int8_t ndpi_net_match(u_int32_t ip_to_check,
- u_int32_t net,
- u_int32_t num_bits);
- extern u_int8_t ndpi_ips_match(u_int32_t src, u_int32_t dst,
- u_int32_t net, u_int32_t num_bits);
+
u_int16_t ntohs_ndpi_bytestream_to_number(const u_int8_t * str,
u_int16_t max_chars_to_read,
@@ -78,34 +70,8 @@ extern "C" {
u_int32_t ndpi_bytestream_to_ipv4(const u_int8_t * str, u_int16_t max_chars_to_read,
u_int16_t * bytes_read);
- void ndpi_set_detected_protocol(struct ndpi_detection_module_struct *ndpi_struct,
- struct ndpi_flow_struct *flow,
- u_int16_t upper_detected_protocol,
- u_int16_t lower_detected_protocol,
- ndpi_confidence_t confidence);
-
- void ndpi_reset_detected_protocol(struct ndpi_detection_module_struct *ndpi_struct,
- struct ndpi_flow_struct *flow);
-
- void ndpi_set_detected_protocol_keeping_master(struct ndpi_detection_module_struct *ndpi_str,
- struct ndpi_flow_struct *flow,
- u_int16_t detected_protocol,
- ndpi_confidence_t confidence);
-
- extern void ndpi_parse_packet_line_info(struct ndpi_detection_module_struct *ndpi_struct,
- struct ndpi_flow_struct *flow);
- extern void ndpi_parse_packet_line_info_any(struct ndpi_detection_module_struct *ndpi_struct,
- struct ndpi_flow_struct *flow);
-
- extern u_int16_t ndpi_check_for_email_address(struct ndpi_detection_module_struct *ndpi_struct,
- u_int16_t counter);
-
- extern void ndpi_int_change_category(struct ndpi_detection_module_struct *ndpi_struct,
- struct ndpi_flow_struct *flow,
- ndpi_protocol_category_t protocol_category);
-
extern void ndpi_set_proto_subprotocols(struct ndpi_detection_module_struct *ndpi_mod,
- int protoId, ...);
+ int protoId, ...);
extern int ndpi_parse_ip_string(const char *ip_str, ndpi_ip_addr_t *parsed_ip);
extern char *ndpi_get_ip_string(const ndpi_ip_addr_t * ip, char *buf, u_int buf_len);
@@ -114,20 +80,10 @@ extern "C" {
extern char* ndpi_get_proto_by_id(struct ndpi_detection_module_struct *ndpi_mod, u_int id);
u_int16_t ndpi_get_proto_by_name(struct ndpi_detection_module_struct *ndpi_mod, const char *name);
- extern u_int16_t ndpi_guess_protocol_id(struct ndpi_detection_module_struct *ndpi_struct,
- struct ndpi_flow_struct *flow,
- u_int8_t proto, u_int16_t sport, u_int16_t dport,
- u_int8_t *user_defined_proto);
-
extern u_int8_t ndpi_is_proto(ndpi_protocol proto, u_int16_t p);
extern void ndpi_search_tcp_or_udp(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow);
-#ifdef NDPI_ENABLE_DEBUG_MESSAGES
- void ndpi_debug_get_last_log_function_line(struct ndpi_detection_module_struct *ndpi_struct,
- const char **file, const char **func, u_int32_t * line);
-#endif
-
/** Checks when the @p payload starts with the string literal @p str.
* When the string is larger than the payload, check fails.
* @return non-zero if check succeeded
@@ -149,7 +105,7 @@ extern "C" {
u_int16_t protoId, char *protoName,
ndpi_protocol_category_t protoCategory,
ndpi_port_range *tcpDefPorts,
- ndpi_port_range *udpDefPorts);
+ ndpi_port_range *udpDefPorts);
void ndpi_set_risk(struct ndpi_detection_module_struct *ndpi_str,
struct ndpi_flow_struct *flow, ndpi_risk_enum r,
char *risk_message);
@@ -161,18 +117,7 @@ extern "C" {
int ndpi_normalize_printable_string(char * const str, size_t len);
int ndpi_is_valid_hostname(char * const str, size_t len);
#define NDPI_ENTROPY_ENCRYPTED_OR_RANDOM(entropy) (entropy > 7.0f)
- float ndpi_entropy(u_int8_t const * const buf, size_t len);
- u_int16_t ndpi_calculate_icmp4_checksum(u_int8_t const * const buf, size_t len);
- void load_common_alpns(struct ndpi_detection_module_struct *ndpi_str);
- u_int8_t is_a_common_alpn(struct ndpi_detection_module_struct *ndpi_str,
- const char *alpn_to_check, u_int alpn_to_check_len);
-
- char *ndpi_hostname_sni_set(struct ndpi_flow_struct *flow, const u_int8_t *value, size_t value_len);
- char *ndpi_user_agent_set(struct ndpi_flow_struct *flow, const u_int8_t *value, size_t value_len);
-
- int64_t ndpi_asn1_ber_decode_length(const unsigned char *payload, int payload_len, u_int16_t *value_len);
- char* ndpi_intoav4(unsigned int addr, char* buf, u_int16_t bufLen);
- int ndpi_seen_flow_beginning(const struct ndpi_flow_struct *flow);
+ float ndpi_entropy(u_int8_t const * const buf, size_t len);
#ifdef __cplusplus
}
diff --git a/src/include/ndpi_protocols.h b/src/include/ndpi_protocols.h
deleted file mode 100644
index 8e2f0cc43..000000000
--- a/src/include/ndpi_protocols.h
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * ndpi_protocols.h
- *
- * Copyright (C) 2011-22 - ntop.org
- *
- * This file is part of nDPI, an open source deep packet inspection
- * library based on the OpenDPI and PACE technology by ipoque GmbH
- *
- * nDPI is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * nDPI is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with nDPI. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-
-#ifndef __NDPI_PROTOCOLS_H__
-#define __NDPI_PROTOCOLS_H__
-
-#include "ndpi_main.h"
-
-
-ndpi_port_range* ndpi_build_default_ports_range(ndpi_port_range *ports,
- u_int16_t portA_low, u_int16_t portA_high,
- u_int16_t portB_low, u_int16_t portB_high,
- u_int16_t portC_low, u_int16_t portC_high,
- u_int16_t portD_low, u_int16_t portD_high,
- u_int16_t portE_low, u_int16_t portE_high);
-
-ndpi_port_range* ndpi_build_default_ports(ndpi_port_range *ports,
- u_int16_t portA,
- u_int16_t portB,
- u_int16_t portC,
- u_int16_t portD,
- u_int16_t portE);
-
-/* TCP/UDP protocols */
-#ifdef __cplusplus
-extern "C"
-#endif
-u_int ndpi_search_tcp_or_udp_raw(struct ndpi_detection_module_struct *ndpi_struct,
- struct ndpi_flow_struct *flow,
- u_int8_t protocol,
- u_int32_t saddr, u_int32_t daddr);
-
-
-void init_diameter_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_afp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_armagetron_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_amqp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_bgp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_bittorrent_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_lisp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_teredo_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ciscovpn_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_citrix_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_corba_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_crossfire_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_dcerpc_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_dhcp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_dhcpv6_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_dns_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_dofus_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_dropbox_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_eaq_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_edonkey_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ftp_control_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ftp_data_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_gnutella_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_gtp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_hsrp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_guildwars_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_h323_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_halflife2_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_hots_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_http_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_iax_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_icecast_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ipp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_irc_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_jabber_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_kakaotalk_voice_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_kerberos_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_kontiki_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ldap_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_lotus_notes_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mail_imap_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mail_pop_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mail_smtp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_maplestory_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_megaco_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mgcp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mining_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mms_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_nats_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mpegts_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mssql_tds_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mysql_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_netbios_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_netflow_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_nfs_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_noe_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_non_tcp_udp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ntp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_openvpn_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_oracle_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_postgres_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ppstream_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_pptp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_qq_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_quake_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_quic_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_radius_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_rdp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_redis_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_rsync_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_rtcp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_rtmp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_rtp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_rtsp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_sflow_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_shoutcast_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_sip_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_imo_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_skinny_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_skype_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_smb_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_snmp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_socrates_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_socks_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_spotify_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ssh_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_tls_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_starcraft_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_steam_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_stun_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_syslog_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ssdp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_teamspeak_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_teamviewer_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_telegram_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_telnet_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_tftp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_tvuplayer_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_usenet_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_wsd_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_veohtv_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_vhua_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_viber_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_vmware_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_vnc_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_vxlan_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_warcraft3_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_whois_das_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_world_of_warcraft_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_world_of_kung_fu_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_xbox_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_xdmcp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_zattoo_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_zmq_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_stracraft_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ubntac2_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_coap_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mqtt_dissector (struct ndpi_detection_module_struct *ndpi_struct,u_int32_t *id);
-void init_someip_dissector (struct ndpi_detection_module_struct *ndpi_struct,u_int32_t *id);
-void init_rx_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_git_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_drda_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_bjnp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_smpp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_tinc_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_fix_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_nintendo_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_csgo_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_checkmk_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_cpha_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_apple_push_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_amazon_video_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_whatsapp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ajp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_memcached_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_nest_log_sink_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ookla_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_modbus_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_capwap_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_zabbix_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_wireguard_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_dnp3_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_104_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_s7comm_dissector(struct ndpi_detection_module_struct *ndpi_struct,u_int32_t *id);
-void init_websocket_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_soap_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_dnscrypt_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mongodb_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_among_us_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_hpvirtgrp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_genshin_impact_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_z3950_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_avast_securedns_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_cassandra_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ethernet_ip_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_toca_boca_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_sd_rtn_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_raknet_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_xiaomi_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_mpegdash_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_rsh_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ipsec_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_collectd_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_i3d_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_riotgames_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ultrasurf_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_threema_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_alicloud_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_avast_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_softether_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_activision_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_discord_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_tivoconnect_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_kismet_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_fastcgi_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_natpmp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_syncthing_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_crynet_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_line_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_munin_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_elasticsearch_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_tuya_lp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_tplink_shp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_merakicloud_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_tailscale_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_source_engine_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_bacnet_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_oicq_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_epicgames_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_bitcoin_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_apache_thrift_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_slp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_http2_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_haproxy_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_rmcp_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_can_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_protobuf_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ethereum_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ptpv2_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_hart_ip_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_rtps_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_opc_ua_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_fins_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-void init_ethersio_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id);
-
-/* ndpi_main.c */
-extern u_int32_t ndpi_ip_port_hash_funct(u_int32_t ip, u_int16_t port);
-
-#endif /* __NDPI_PROTOCOLS_H__ */
diff --git a/src/include/ndpi_typedefs.h b/src/include/ndpi_typedefs.h
index 68e0365b4..3b29cb046 100644
--- a/src/include/ndpi_typedefs.h
+++ b/src/include/ndpi_typedefs.h
@@ -29,7 +29,6 @@ E * ndpi_typedefs.h
#include "ndpi_includes.h"
#endif
#include "ndpi_protocol_ids.h"
-#include "ndpi_utils.h"
/* Used by both nDPI core and patricia code under third-party */
#include "ndpi_patricia_typedefs.h"
@@ -235,11 +234,6 @@ typedef enum {
ndpi_leaf
} ndpi_VISIT;
-/* NDPI_NODE */
-typedef struct node_t {
- char *key;
- struct node_t *left, *right;
-} ndpi_node;
/* NDPI_MASK_SIZE */
typedef u_int32_t ndpi_ndpi_mask;
@@ -635,9 +629,6 @@ struct ndpi_flow_input_info {
unsigned char seen_flow_beginning;
};
-/* Save memory limiting the key to 56 bit */
-//#define SAVE_BINARY_BITMAP_MEMORY
-
PACK_ON
struct ndpi_binary_bitmap_entry {
#ifdef SAVE_BINARY_BITMAP_MEMORY
@@ -1503,16 +1494,6 @@ typedef struct {
} ndpi_protocol_match;
typedef struct {
- char *string_to_match;
- ndpi_protocol_category_t protocol_category;
-} ndpi_category_match;
-
-typedef struct {
- char *string_to_match;
- u_int16_t protocol_id;
-} ndpi_tls_cert_name_match;
-
-typedef struct {
u_int32_t network;
u_int8_t cidr;
u_int16_t value;
diff --git a/src/include/ndpi_utils.h b/src/include/ndpi_utils.h
deleted file mode 100644
index 288cd7a94..000000000
--- a/src/include/ndpi_utils.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * ndpi_main.c
- *
- * Copyright (C) 2011-22 - ntop.org
- *
- * This file is part of nDPI, an open source deep packet inspection
- * library based on the OpenDPI and PACE technology by ipoque GmbH
- *
- * nDPI is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * nDPI is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with nDPI. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-#ifndef __NDPI_UTILS_H__
-#define __NDPI_UTILS_H__
-
-#include "ndpi_define.h"
-#ifndef NDPI_CFFI_PREPROCESSING
-#include "ndpi_includes.h"
-#endif
-
-#ifndef NDPI_CFFI_PREPROCESSING
-struct ndpi_detection_module_struct;
-extern u_int8_t ndpi_ends_with(struct ndpi_detection_module_struct *ndpi_struct,
- char *str, char *ends);
-#endif // NDPI_CFFI_PREPROCESSING
-/* **************************************** */
-
-/* Can't call libc functions from kernel space, define some stub instead */
-
-#define ndpi_isalpha(ch) (((ch) >= 'a' && (ch) <= 'z') || ((ch) >= 'A' && (ch) <= 'Z'))
-#define ndpi_isdigit(ch) ((ch) >= '0' && (ch) <= '9')
-#define ndpi_isalnum(ch) (ndpi_isalpha(ch) != 0 || ndpi_isdigit(ch) != 0)
-#define ndpi_isspace(ch) (((ch) >= '\t' && (ch) <= '\r') || ((ch) == ' '))
-#define ndpi_isprint(ch) ((ch) >= 0x20 && (ch) <= 0x7e)
-#define ndpi_ispunct(ch) (((ch) >= '!' && (ch) <= '/') || \
- ((ch) >= ':' && (ch) <= '@') || \
- ((ch) >= '[' && (ch) <= '`') || \
- ((ch) >= '{' && (ch) <= '~'))
-
-#ifndef NDPI_CFFI_PREPROCESSING
-int ndpi_vsnprintf(char * str, size_t size, char const * format, va_list va_args);
-int ndpi_snprintf(char * str, size_t size, char const * format, ...);
-struct tm *ndpi_gmtime_r(const time_t *timep,
- struct tm *result);
-#endif
-
-#endif