diff options
author | Luca Deri <deri@ntop.org> | 2019-11-10 22:57:21 +0100 |
---|---|---|
committer | Luca Deri <deri@ntop.org> | 2019-11-10 22:57:21 +0100 |
commit | 8181d63a95cdf8ff593e602d84a48c341338974d (patch) | |
tree | ec03a4e237ba4c510cf0790308ea2676ed99c10e /src/lib/ndpi_main.c | |
parent | d0e7e6955293b656e1a1d7b01aebc1b5beefe711 (diff) |
Added ndpi_init_detection_module() API preferences
Diffstat (limited to 'src/lib/ndpi_main.c')
-rw-r--r-- | src/lib/ndpi_main.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index 35ba7087f..1c7becdde 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -1946,13 +1946,17 @@ static patricia_node_t* add_to_ptree(patricia_tree_t *tree, int family, /* ******************************************* */ static void ndpi_init_ptree_ipv4(struct ndpi_detection_module_struct *ndpi_str, - void *ptree, ndpi_network host_list[]) { + void *ptree, ndpi_network host_list[], + u_int8_t skip_tor_hosts) { int i; for(i=0; host_list[i].network != 0x0; i++) { struct in_addr pin; patricia_node_t *node; + if(skip_tor_hosts && (host_list[i].value == NDPI_PROTOCOL_TOR)) + continue; + pin.s_addr = htonl(host_list[i].network); if((node = add_to_ptree(ptree, AF_INET, &pin, host_list[i].cidr /* bits */)) != NULL) @@ -2135,7 +2139,7 @@ static const char* categories[] = { /* ******************************************************************** */ -struct ndpi_detection_module_struct *ndpi_init_detection_module(void) { +struct ndpi_detection_module_struct *ndpi_init_detection_module(ndpi_init_prefs prefs) { struct ndpi_detection_module_struct *ndpi_str = ndpi_malloc(sizeof(struct ndpi_detection_module_struct)); int i; @@ -2153,7 +2157,9 @@ struct ndpi_detection_module_struct *ndpi_init_detection_module(void) { #endif /* NDPI_ENABLE_DEBUG_MESSAGES */ if((ndpi_str->protocols_ptree = ndpi_New_Patricia(32 /* IPv4 */)) != NULL) - ndpi_init_ptree_ipv4(ndpi_str, ndpi_str->protocols_ptree, host_protocol_list); + ndpi_init_ptree_ipv4(ndpi_str, ndpi_str->protocols_ptree, + host_protocol_list, + prefs & ndpi_dont_load_tor_hosts); NDPI_BITMASK_RESET(ndpi_str->detection_bitmask); #ifdef NDPI_ENABLE_DEBUG_MESSAGES |