aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNardi Ivan <nardi.ivan@gmail.com>2022-07-17 12:49:18 +0200
committerIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2022-07-20 19:16:18 +0200
commitd66aa49787cea811a8fcb585b939ce3ca5c6852e (patch)
tree73ec0b1c5bd812121930b11f776ba986c23d08b9 /src
parenta9204eb9365432d3ea26b4ca930dfb380b68b4ad (diff)
DTLS: fix exclusion of DTLS protocol
Add an helper to exclude a generic protocol
Diffstat (limited to 'src')
-rw-r--r--src/include/ndpi_define.h.in1
-rw-r--r--src/lib/protocols/mining.c4
-rw-r--r--src/lib/protocols/smb.c4
-rw-r--r--src/lib/protocols/tls.c4
4 files changed, 8 insertions, 5 deletions
diff --git a/src/include/ndpi_define.h.in b/src/include/ndpi_define.h.in
index 2999a38f7..70107cae9 100644
--- a/src/include/ndpi_define.h.in
+++ b/src/include/ndpi_define.h.in
@@ -227,6 +227,7 @@
#endif /* NDPI_ENABLE_DEBUG_MESSAGES */
#define NDPI_EXCLUDE_PROTO(mod,flow) ndpi_exclude_protocol(mod, flow, NDPI_CURRENT_PROTO, __FILE__, __FUNCTION__, __LINE__)
+#define NDPI_EXCLUDE_PROTO_EXT(mod,flow,proto) ndpi_exclude_protocol(mod, flow, proto, __FILE__, __FUNCTION__, __LINE__)
/**
* macro for getting the string len of a static string
diff --git a/src/lib/protocols/mining.c b/src/lib/protocols/mining.c
index c12203adb..eb5e651d9 100644
--- a/src/lib/protocols/mining.c
+++ b/src/lib/protocols/mining.c
@@ -67,7 +67,7 @@ static void ndpi_search_mining_udp(struct ndpi_detection_module_struct *ndpi_str
}
}
- ndpi_exclude_protocol(ndpi_struct, flow, NDPI_PROTOCOL_MINING, __FILE__, __FUNCTION__, __LINE__);
+ NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
}
/* ************************************************************************** */
@@ -159,7 +159,7 @@ static void ndpi_search_mining_tcp(struct ndpi_detection_module_struct *ndpi_str
}
}
- ndpi_exclude_protocol(ndpi_struct, flow, NDPI_PROTOCOL_MINING, __FILE__, __FUNCTION__, __LINE__);
+ NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
}
/* ************************************************************************** */
diff --git a/src/lib/protocols/smb.c b/src/lib/protocols/smb.c
index c84196343..2633fc9b7 100644
--- a/src/lib/protocols/smb.c
+++ b/src/lib/protocols/smb.c
@@ -63,8 +63,8 @@ void ndpi_search_smb_tcp(struct ndpi_detection_module_struct *ndpi_struct, struc
}
}
- ndpi_exclude_protocol(ndpi_struct, flow, NDPI_PROTOCOL_SMBV1, __FILE__, __FUNCTION__, __LINE__);
- ndpi_exclude_protocol(ndpi_struct, flow, NDPI_PROTOCOL_SMBV23, __FILE__, __FUNCTION__, __LINE__);
+ NDPI_EXCLUDE_PROTO_EXT(ndpi_struct, flow, NDPI_PROTOCOL_SMBV1);
+ NDPI_EXCLUDE_PROTO_EXT(ndpi_struct, flow, NDPI_PROTOCOL_SMBV23);
}
diff --git a/src/lib/protocols/tls.c b/src/lib/protocols/tls.c
index 11cc3f131..e827e97d1 100644
--- a/src/lib/protocols/tls.c
+++ b/src/lib/protocols/tls.c
@@ -1187,7 +1187,9 @@ static int ndpi_search_tls_udp(struct ndpi_detection_module_struct *ndpi_struct,
packet->payload_packet_len = p_len; /* Restore */
if(no_dtls || change_cipher_found) {
- NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
+ NDPI_EXCLUDE_PROTO_EXT(ndpi_struct, flow, NDPI_PROTOCOL_DTLS);
+ flow->check_extra_packets = 0;
+ flow->extra_packets_func = NULL;
return(0); /* That's all */
} else {
return(1); /* Keep working */