aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/tor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/protocols/tor.c')
-rw-r--r--src/lib/protocols/tor.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/lib/protocols/tor.c b/src/lib/protocols/tor.c
index 462833db0..f1c6f586a 100644
--- a/src/lib/protocols/tor.c
+++ b/src/lib/protocols/tor.c
@@ -1,14 +1,12 @@
/*
* tor.c
*
- * Copyright (C) 2016 ntop.org
+ * Copyright (C) 2016-18 ntop.org
* Copyright (C) 2013 Remy Mudingay <mudingay@ill.fr>
*
*/
#include "ndpi_protocol_ids.h"
-#ifdef NDPI_PROTOCOL_TOR
-
#define NDPI_CURRENT_PROTO NDPI_PROTOCOL_TOR
#include "ndpi_api.h"
@@ -22,7 +20,7 @@ static void ndpi_int_tor_add_connection(struct ndpi_detection_module_struct
int ndpi_is_ssl_tor(struct ndpi_detection_module_struct *ndpi_struct,
struct ndpi_flow_struct *flow, char *certificate) {
- int prev_num = 0, numbers_found = 0, num_found = 0, i, len;
+ int prev_num = 0, numbers_found = 0, num_found = 0, i, len, num_impossible = 0;
char dummy[48], *dot, *name;
if(certificate == NULL)
@@ -73,12 +71,11 @@ int ndpi_is_ssl_tor(struct ndpi_detection_module_struct *ndpi_struct,
if(ndpi_match_bigram(ndpi_struct, &ndpi_struct->bigrams_automa, &name[i])) {
num_found++;
} else if(ndpi_match_bigram(ndpi_struct, &ndpi_struct->impossible_bigrams_automa, &name[i])) {
- ndpi_int_tor_add_connection(ndpi_struct, flow);
- return(1);
+ num_impossible++;
}
}
- if(num_found == 0) {
+ if((num_found == 0) || (num_impossible > 1)) {
ndpi_int_tor_add_connection(ndpi_struct, flow);
return(1);
} else {
@@ -133,4 +130,3 @@ void init_tor_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int3
*id += 1;
}
-#endif