aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Makefile.am5
-rw-r--r--src/lib/ndpi_main.c238
-rw-r--r--src/lib/protocols/bittorrent.c7
-rw-r--r--src/lib/protocols/btlib.c7
-rw-r--r--src/lib/protocols/btlib.h2
-rw-r--r--src/lib/protocols/citrix.c9
-rw-r--r--src/lib/protocols/directdownloadlink.c21
-rw-r--r--src/lib/protocols/gtp.c8
-rw-r--r--src/lib/protocols/http.c8
-rw-r--r--src/lib/protocols/lotus_notes.c14
-rw-r--r--src/lib/protocols/mdns.c176
-rw-r--r--src/lib/protocols/netflow.c2
-rw-r--r--src/lib/protocols/radius.c8
-rw-r--r--src/lib/protocols/tcp_udp.c2
-rw-r--r--src/lib/protocols/tor.c2
-rw-r--r--src/lib/third_party/include/ndpi_patricia.h7
-rw-r--r--src/lib/third_party/src/ahocorasick.c4
-rw-r--r--src/lib/third_party/src/ndpi_patricia.c52
-rw-r--r--src/lib/third_party/src/node.c4
-rw-r--r--src/lib/third_party/src/sort.c38
20 files changed, 211 insertions, 403 deletions
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index ee395f5cd..be9a50526 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -7,14 +7,11 @@ libndpi_la_LDFLAGS = -version-info 1:0:0 -export-symbols $(top_srcdir)/libndpi.s
libndpi_la_includedir = $(includedir)/libndpi-@VERSION@/libndpi
libndpi_la_include_HEADERS = ../include/ndpi_api.h \
- ../include/linux_compat.h \
../include/ndpi_define.h \
../include/ndpi_main.h \
../include/ndpi_protocol_ids.h \
../include/ndpi_protocols.h \
- ../include/ndpi_typedefs.h \
- ../include/ndpi_unix.h \
- ../include/ndpi_win32.h
+ ../include/ndpi_typedefs.h
libndpi_la_SOURCES = ndpi_content_match.c.inc \
ndpi_main.c \
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index 16a956d4f..23977334e 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -29,8 +29,6 @@
#include "ndpi_api.h"
#include "../../config.h"
-// #define DEBUG
-
#include <time.h>
#ifndef WIN32
#include <unistd.h>
@@ -40,13 +38,6 @@
#include "third_party/include/ndpi_patricia.h"
#include "third_party/src/ndpi_patricia.c"
-#ifdef WIN32
-/* http://social.msdn.microsoft.com/Forums/uk/vcgeneral/thread/963aac07-da1a-4612-be4a-faac3f1d65ca */
-#ifndef strtok_r
-#define strtok_r(a,b,c) strtok(a,b)
-#endif
-#endif
-
/* ftp://ftp.cc.uoc.gr/mirrors/OpenBSD/src/lib/libc/stdlib/tsearch.c */
/* find or insert datum into search tree */
void *
@@ -344,19 +335,6 @@ char *ndpi_strdup(const char *s) {
return(m);
}
-/* ****************************************** */
-
-u_int32_t ndpi_detection_get_sizeof_ndpi_flow_struct(void)
-{
- return sizeof(struct ndpi_flow_struct);
-}
-
-/* ****************************************** */
-
-u_int32_t ndpi_detection_get_sizeof_ndpi_id_struct(void)
-{
- return sizeof(struct ndpi_id_struct);
-}
/* ******************************************************************** */
@@ -439,15 +417,6 @@ void ndpi_set_proto_defaults(struct ndpi_detection_module_struct *ndpi_mod,
if(udpDefPorts[j].port_low != 0) addDefaultPort(&udpDefPorts[j], &ndpi_mod->proto_defaults[protoId], &ndpi_mod->udpRoot);
if(tcpDefPorts[j].port_low != 0) addDefaultPort(&tcpDefPorts[j], &ndpi_mod->proto_defaults[protoId], &ndpi_mod->tcpRoot);
}
-
-#if 0
- printf("%s(%d, %s, %p) [%s]\n",
- __FUNCTION__,
- protoId,
- ndpi_mod->proto_defaults[protoId].protoName,
- ndpi_mod,
- ndpi_mod->proto_defaults[1].protoName);
-#endif
}
/* ******************************************************************** */
@@ -2547,8 +2516,7 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n
* nxt_hdr: protocol of the actual payload
* returns 0 upon success and 1 upon failure
*/
-static int ndpi_handle_ipv6_extension_headers(struct ndpi_detection_module_struct *ndpi_struct,
- const u_int8_t ** l4ptr, u_int16_t * l4len, u_int8_t * nxt_hdr)
+static int ndpi_handle_ipv6_extension_headers(struct ndpi_detection_module_struct *ndpi_struct, const u_int8_t ** l4ptr, u_int16_t * l4len, u_int8_t * nxt_hdr)
{
while ((*nxt_hdr == 0 || *nxt_hdr == 43 || *nxt_hdr == 44 || *nxt_hdr == 60 || *nxt_hdr == 135 || *nxt_hdr == 59)) {
u_int16_t ehdr_len;
@@ -2652,10 +2620,10 @@ static u_int8_t ndpi_detection_get_l4_internal(struct ndpi_detection_module_stru
l4protocol = iph->protocol;
}
#ifdef NDPI_DETECTION_SUPPORT_IPV6
- else if(iph_v6 != NULL && (l3_len - sizeof(struct ndpi_ipv6hdr)) >= ntohs(iph_v6->payload_len)) {
+ else if(iph_v6 != NULL && (l3_len - sizeof(struct ndpi_ipv6hdr)) >= ntohs(iph_v6->ip6_ctlun.ip6_un1.ip6_un1_plen)) {
l4ptr = (((const u_int8_t *) iph_v6) + sizeof(struct ndpi_ipv6hdr));
- l4len = ntohs(iph_v6->payload_len);
- l4protocol = iph_v6->nexthdr;
+ l4len = ntohs(iph_v6->ip6_ctlun.ip6_un1.ip6_un1_plen);
+ l4protocol = iph_v6->ip6_ctlun.ip6_un1.ip6_un1_nxt;
// we need to handle IPv6 extension headers if present
if(ndpi_handle_ipv6_extension_headers(ndpi_struct, &l4ptr, &l4len, &l4protocol) != 0) {
@@ -2683,11 +2651,6 @@ static u_int8_t ndpi_detection_get_l4_internal(struct ndpi_detection_module_stru
return 0;
}
-#if !defined(WIN32)
-#define ATTRIBUTE_ALWAYS_INLINE static inline
-#else
-__forceinline static
-#endif
void ndpi_apply_flow_protocol_to_packet(struct ndpi_flow_struct *flow,
struct ndpi_packet_struct *packet)
{
@@ -2813,12 +2776,6 @@ static int ndpi_init_packet_header(struct ndpi_detection_module_struct *ndpi_str
return 0;
}
-
-#if !defined(WIN32)
-static inline
-#else
-__forceinline static
-#endif
void ndpi_connection_tracking(struct ndpi_detection_module_struct *ndpi_struct,
struct ndpi_flow_struct *flow)
{
@@ -2831,9 +2788,6 @@ void ndpi_connection_tracking(struct ndpi_detection_module_struct *ndpi_struct,
const struct ndpi_tcphdr *tcph = packet->tcp;
const struct ndpi_udphdr *udph = flow->packet.udp;
- //struct ndpi_unique_flow_struct unique_flow;
- //uint8_t new_connection;
-
u_int8_t proxy_enabled = 0;
packet->tcp_retransmission = 0, packet->packet_direction = 0;
@@ -2845,7 +2799,7 @@ void ndpi_connection_tracking(struct ndpi_detection_module_struct *ndpi_struct,
packet->packet_direction = 1;
#ifdef NDPI_DETECTION_SUPPORT_IPV6
- if(iphv6 != NULL && NDPI_COMPARE_IPV6_ADDRESS_STRUCTS(&iphv6->saddr, &iphv6->daddr) != 0)
+ if(iphv6 != NULL && NDPI_COMPARE_IPV6_ADDRESS_STRUCTS(&iphv6->ip6_src, &iphv6->ip6_dst) != 0)
packet->packet_direction = 1;
#endif
}
@@ -3196,7 +3150,7 @@ ndpi_protocol ndpi_detection_process_packet(struct ndpi_detection_module_struct
#ifdef NDPI_DETECTION_SUPPORT_IPV6
if(flow->packet.iphv6 != NULL) {
- protocol = flow->packet.iphv6->nexthdr, saddr = 0, daddr = 0;
+ protocol = flow->packet.iphv6->ip6_ctlun.ip6_un1.ip6_un1_nxt, saddr = 0, daddr = 0;
} else
#endif
{
@@ -3217,16 +3171,7 @@ ndpi_protocol ndpi_detection_process_packet(struct ndpi_detection_module_struct
goto ret_protocols;
}
}
-
-#if 0
- a = flow->detected_protocol_stack[0];
- if(a != NDPI_PROTOCOL_UNKNOWN) {
- NDPI_LOG(NDPI_PROTOCOL_UNKNOWN, ndpi_struct, NDPI_LOG_TRACE, "PROCESS KNOWN PROTOCOL\n");
- ndpi_struct->proto_defaults[a].func(ndpi_struct, flow);
- return a;
- }
-#endif
-
+
check_ndpi_flow_func(ndpi_struct, flow, &ndpi_selection_packet);
a = flow->packet.detected_protocol_stack[0];
@@ -3262,18 +3207,8 @@ ndpi_protocol ndpi_detection_process_packet(struct ndpi_detection_module_struct
flow->host_already_guessed = 1;
}
-#if 0
- /* Swap protocols in case of success */
- if(ret.master_protocol != NDPI_PROTOCOL_UNKNOWN) {
- u_int16_t t = ret.master_protocol;
-
- ret.master_protocol = ret.protocol;
- ret.protocol = t;
- }
-#endif
-
- if((ret.protocol == NDPI_PROTOCOL_UNKNOWN) && (ret.master_protocol != NDPI_PROTOCOL_UNKNOWN))
- ret.protocol = flow->guessed_host_proto_id;
+ if((ret.protocol == NDPI_PROTOCOL_UNKNOWN) && (ret.master_protocol != NDPI_PROTOCOL_UNKNOWN))
+ ret.protocol = flow->guessed_host_proto_id;
return(ret);
}
@@ -3885,39 +3820,50 @@ int NDPI_PROTOCOL_IP_is_set(const ndpi_ip_addr_t * ip)
/* NTOP */
int ndpi_packet_src_ip_eql(const struct ndpi_packet_struct *packet, const ndpi_ip_addr_t * ip)
{
+
#ifdef NDPI_DETECTION_SUPPORT_IPV6
- if(packet->iphv6 != NULL) {
- if(packet->iphv6->saddr.ndpi_v6_u.u6_addr64[0] == ip->ipv6.ndpi_v6_u.u6_addr64[0] &&
- packet->iphv6->saddr.ndpi_v6_u.u6_addr64[1] == ip->ipv6.ndpi_v6_u.u6_addr64[1]) {
+ /* IPv6 */
+ if(packet->iphv6 != NULL) {
+
+ if(packet->iphv6->ip6_src.u6_addr.u6_addr32[0] == ip->ipv6.u6_addr.u6_addr32[0] &&
+ packet->iphv6->ip6_src.u6_addr.u6_addr32[1] == ip->ipv6.u6_addr.u6_addr32[1] &&
+ packet->iphv6->ip6_src.u6_addr.u6_addr32[2] == ip->ipv6.u6_addr.u6_addr32[2] &&
+ packet->iphv6->ip6_src.u6_addr.u6_addr32[3] == ip->ipv6.u6_addr.u6_addr32[3])
return 1;
- } else {
- return 0;
- }
+ //else
+ return 0;
}
#endif
- if(packet->iph->saddr == ip->ipv4) {
+
+ /* IPv4 */
+ if(packet->iph->saddr == ip->ipv4)
return 1;
- }
return 0;
}
/* check if the destination ip address in packet and ip are equal */
int ndpi_packet_dst_ip_eql(const struct ndpi_packet_struct *packet, const ndpi_ip_addr_t * ip)
{
+
#ifdef NDPI_DETECTION_SUPPORT_IPV6
+
+ /* IPv6 */
if(packet->iphv6 != NULL) {
- if(packet->iphv6->daddr.ndpi_v6_u.u6_addr64[0] == ip->ipv6.ndpi_v6_u.u6_addr64[0] &&
- packet->iphv6->daddr.ndpi_v6_u.u6_addr64[1] == ip->ipv6.ndpi_v6_u.u6_addr64[1]) {
+
+ if(packet->iphv6->ip6_dst.u6_addr.u6_addr32[0] == ip->ipv6.u6_addr.u6_addr32[0] &&
+ packet->iphv6->ip6_dst.u6_addr.u6_addr32[1] == ip->ipv6.u6_addr.u6_addr32[1] &&
+ packet->iphv6->ip6_dst.u6_addr.u6_addr32[2] == ip->ipv6.u6_addr.u6_addr32[2] &&
+ packet->iphv6->ip6_dst.u6_addr.u6_addr32[3] == ip->ipv6.u6_addr.u6_addr32[3])
return 1;
- } else {
- return 0;
- }
+ //else
+ return 0;
}
#endif
- if(packet->iph->daddr == ip->ipv4) {
+
+ /* IPv4 */
+ if(packet->iph->saddr == ip->ipv4)
return 1;
- }
return 0;
}
@@ -3926,12 +3872,21 @@ int ndpi_packet_dst_ip_eql(const struct ndpi_packet_struct *packet, const ndpi_i
void ndpi_packet_src_ip_get(const struct ndpi_packet_struct *packet, ndpi_ip_addr_t * ip)
{
NDPI_PROTOCOL_IP_clear(ip);
+
#ifdef NDPI_DETECTION_SUPPORT_IPV6
+
+ /* IPv6 */
if(packet->iphv6 != NULL) {
- ip->ipv6.ndpi_v6_u.u6_addr64[0] = packet->iphv6->saddr.ndpi_v6_u.u6_addr64[0];
- ip->ipv6.ndpi_v6_u.u6_addr64[1] = packet->iphv6->saddr.ndpi_v6_u.u6_addr64[1];
+
+ ip->ipv6.u6_addr.u6_addr32[0] = packet->iphv6->ip6_src.u6_addr.u6_addr32[0];
+ ip->ipv6.u6_addr.u6_addr32[1] = packet->iphv6->ip6_src.u6_addr.u6_addr32[1];
+ ip->ipv6.u6_addr.u6_addr32[2] = packet->iphv6->ip6_src.u6_addr.u6_addr32[2];
+ ip->ipv6.u6_addr.u6_addr32[3] = packet->iphv6->ip6_src.u6_addr.u6_addr32[3];
+
} else
#endif
+
+ /* IPv4 */
ip->ipv4 = packet->iph->saddr;
}
@@ -3940,12 +3895,20 @@ void ndpi_packet_src_ip_get(const struct ndpi_packet_struct *packet, ndpi_ip_add
void ndpi_packet_dst_ip_get(const struct ndpi_packet_struct *packet, ndpi_ip_addr_t * ip)
{
NDPI_PROTOCOL_IP_clear(ip);
+
#ifdef NDPI_DETECTION_SUPPORT_IPV6
+
if(packet->iphv6 != NULL) {
- ip->ipv6.ndpi_v6_u.u6_addr64[0] = packet->iphv6->daddr.ndpi_v6_u.u6_addr64[0];
- ip->ipv6.ndpi_v6_u.u6_addr64[1] = packet->iphv6->daddr.ndpi_v6_u.u6_addr64[1];
+
+ ip->ipv6.u6_addr.u6_addr32[0] = packet->iphv6->ip6_dst.u6_addr.u6_addr32[0];
+ ip->ipv6.u6_addr.u6_addr32[1] = packet->iphv6->ip6_dst.u6_addr.u6_addr32[1];
+ ip->ipv6.u6_addr.u6_addr32[2] = packet->iphv6->ip6_dst.u6_addr.u6_addr32[2];
+ ip->ipv6.u6_addr.u6_addr32[3] = packet->iphv6->ip6_dst.u6_addr.u6_addr32[3];
+
} else
+
#endif
+
ip->ipv4 = packet->iph->daddr;
}
@@ -3959,15 +3922,22 @@ char *ndpi_get_ip_string(struct ndpi_detection_module_struct *ndpi_struct,
const u_int8_t *a = (const u_int8_t *) &ip->ipv4;
#ifdef NDPI_DETECTION_SUPPORT_IPV6
- if(ip->ipv6.ndpi_v6_u.u6_addr32[1] != 0 || ip->ipv6.ndpi_v6_u.u6_addr64[1] != 0) {
- const u_int16_t *b = ip->ipv6.ndpi_v6_u.u6_addr16;
+ if(ip->ipv6.u6_addr.u6_addr32[0] != 0 ||
+ ip->ipv6.u6_addr.u6_addr32[1] != 0 ||
+ ip->ipv6.u6_addr.u6_addr32[1] != 0 ||
+ ip->ipv6.u6_addr.u6_addr32[1] != 0) {
+
+ const u_int16_t *b = ip->ipv6.u6_addr.u6_addr16;
snprintf(ndpi_struct->ip_string, 32, "%x:%x:%x:%x:%x:%x:%x:%x",
ntohs(b[0]), ntohs(b[1]), ntohs(b[2]), ntohs(b[3]),
ntohs(b[4]), ntohs(b[5]), ntohs(b[6]), ntohs(b[7]));
+
return ndpi_struct->ip_string;
}
#endif
+
snprintf(ndpi_struct->ip_string, 32, "%u.%u.%u.%u", a[0], a[1], a[2], a[3]);
+
return ndpi_struct->ip_string;
}
@@ -4383,44 +4353,44 @@ void NDPI_DUMP_BITMASK(NDPI_PROTOCOL_BITMASK a) {
}
-#ifdef WIN32
-/* http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/libkern/strsep.c */
-
-/*
- * Get next token from string *stringp, where tokens are possibly-empty
- * strings separated by characters from delim.
- *
- * Writes NULs into the string at *stringp to end tokens.
- * delim need not remain constant from call to call.
- * On return, *stringp points past the last NUL written (if there might
- * be further tokens), or is NULL (if there are definitely no more tokens).
- *
- * If *stringp is NULL, strsep returns NULL.
- */
-char* strsep(char **stringp, const char *delim) {
- char *s;
- const char *spanp;
- int c, sc;
- char *tok;
-
- if((s = *stringp) == NULL)
- return (NULL);
- for(tok = s;;) {
- c = *s++;
- spanp = delim;
- do {
- if((sc = *spanp++) == c) {
- if(c == 0)
- s = NULL;
- else
- s[-1] = 0;
- *stringp = s;
- return (tok);
- }
- } while (sc != 0);
- }
- /* NOTREACHED */
-}
-#endif
+/* #ifdef WIN32 */
+/* /\* http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/libkern/strsep.c *\/ */
+
+/* /\* */
+/* * Get next token from string *stringp, where tokens are possibly-empty */
+/* * strings separated by characters from delim. */
+/* * */
+/* * Writes NULs into the string at *stringp to end tokens. */
+/* * delim need not remain constant from call to call. */
+/* * On return, *stringp points past the last NUL written (if there might */
+/* * be further tokens), or is NULL (if there are definitely no more tokens). */
+/* * */
+/* * If *stringp is NULL, strsep returns NULL. */
+/* *\/ */
+/* char* strsep(char **stringp, const char *delim) { */
+/* char *s; */
+/* const char *spanp; */
+/* int c, sc; */
+/* char *tok; */
+
+/* if((s = *stringp) == NULL) */
+/* return (NULL); */
+/* for(tok = s;;) { */
+/* c = *s++; */
+/* spanp = delim; */
+/* do { */
+/* if((sc = *spanp++) == c) { */
+/* if(c == 0) */
+/* s = NULL; */
+/* else */
+/* s[-1] = 0; */
+/* *stringp = s; */
+/* return (tok); */
+/* } */
+/* } while (sc != 0); */
+/* } */
+/* /\* NOTREACHED *\/ */
+/* } */
+/* #endif */
diff --git a/src/lib/protocols/bittorrent.c b/src/lib/protocols/bittorrent.c
index e7f55a78d..99420b85e 100644
--- a/src/lib/protocols/bittorrent.c
+++ b/src/lib/protocols/bittorrent.c
@@ -432,14 +432,7 @@ void ndpi_search_bittorrent(struct ndpi_detection_module_struct *ndpi_struct, st
u_int32_t ts = ntohl(*((u_int32_t*)&(packet->payload[4])));
u_int32_t now;
-#ifndef __KERNEL__
now = (u_int32_t)time(NULL);
-#else
- struct timespec t;
-
- getnstimeofday(&t);
- now = t.tv_sec;
-#endif
if((ts < (now+86400)) && (ts > (now-86400))) {
goto bittorrent_found;
diff --git a/src/lib/protocols/btlib.c b/src/lib/protocols/btlib.c
index 6442c7db7..beea43d0d 100644
--- a/src/lib/protocols/btlib.c
+++ b/src/lib/protocols/btlib.c
@@ -42,8 +42,6 @@ typedef signed long long int i_int64_t;
#include "btlib.h"
-#ifndef __KERNEL__
-
int bt_parse_debug = 0;
static char *printXb(char *s,const u_int8_t *b,int l) {
@@ -183,11 +181,8 @@ static void _print_safe_str(char *msg,char *k,const u_int8_t *s,size_t l) {
static void print_safe_str(char *msg,bt_parse_data_cb_t *cbd) {
_print_safe_str(msg,cbd->buf,cbd->v.s.s,cbd->v.s.l);
}
-#define DEBUG_TRACE(cmd) { if(bt_parse_debug) cmd; }
-#else
-#define DEBUG_TRACE(cmd,args...)
-#endif /* __KERNEL */
+#define DEBUG_TRACE(cmd) { if(bt_parse_debug) cmd; }
#define STREQ(a,b) !strcmp(a,b)
diff --git a/src/lib/protocols/btlib.h b/src/lib/protocols/btlib.h
index cc2928155..db68370c9 100644
--- a/src/lib/protocols/btlib.h
+++ b/src/lib/protocols/btlib.h
@@ -139,9 +139,7 @@ typedef struct bt_parse_data_cb {
} v;
} bt_parse_data_cb_t;
-#ifndef __KERNEL__
extern int bt_parse_debug;
void dump_bt_proto_struct(struct bt_parse_protocol *p);
-#endif
const u_int8_t *bt_decode(const u_int8_t *b, size_t *l, int *ret, bt_parse_data_cb_t *cbd);
diff --git a/src/lib/protocols/citrix.c b/src/lib/protocols/citrix.c
index d03c0cbe6..92607579c 100644
--- a/src/lib/protocols/citrix.c
+++ b/src/lib/protocols/citrix.c
@@ -33,14 +33,6 @@ static void ndpi_check_citrix(struct ndpi_detection_module_struct *ndpi_struct,
struct ndpi_packet_struct *packet = &flow->packet;
u_int32_t payload_len = packet->payload_packet_len;
-#if 0
- printf("[len=%u][%02X %02X %02X %02X]\n", payload_len,
- packet->payload[0] & 0xFF,
- packet->payload[1] & 0xFF,
- packet->payload[2] & 0xFF,
- packet->payload[3] & 0xFF);
-#endif
-
if(packet->tcp != NULL) {
flow->l4.tcp.citrix_packet_id++;
@@ -70,7 +62,6 @@ static void ndpi_check_citrix(struct ndpi_detection_module_struct *ndpi_struct,
return;
}
-
NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_CITRIX);
} else if(flow->l4.tcp.citrix_packet_id > 3)
NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_CITRIX);
diff --git a/src/lib/protocols/directdownloadlink.c b/src/lib/protocols/directdownloadlink.c
index 846c60170..24375c90f 100644
--- a/src/lib/protocols/directdownloadlink.c
+++ b/src/lib/protocols/directdownloadlink.c
@@ -709,23 +709,10 @@ void ndpi_search_direct_download_link_tcp(struct ndpi_detection_module_struct *n
{
struct ndpi_packet_struct *packet = &flow->packet;
- // struct ndpi_id_struct *src=ndpi_struct->src;
- // struct ndpi_id_struct *dst=ndpi_struct->dst;
-#if 0
- if (ndpi_struct->direct_download_link_counter_callback != NULL) {
- if (packet->detected_protocol == NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK) {
- /* skip packets not requests from the client to the server */
- if (packet->packet_direction == flow->l4.tcp.ddlink_server_direction) {
- search_ddl_domains(ndpi_struct, flow); // do the detection again in order to get the URL in keep alive streams
- } else {
- // just count the packet
- ndpi_struct->direct_download_link_counter_callback(flow->hash_id_number, packet->l3_packet_len);
- }
- }
- return;
- }
-#endif
- // do not detect again if it is already ddl
+ /* struct ndpi_id_struct *src=ndpi_struct->src; */
+ /* struct ndpi_id_struct *dst=ndpi_struct->dst; */
+
+ /* do not detect again if it is already ddl */
if (packet->detected_protocol_stack[0] != NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK) {
if (search_ddl_domains(ndpi_struct, flow) != 0) {
return;
diff --git a/src/lib/protocols/gtp.c b/src/lib/protocols/gtp.c
index ec2c1099e..97044f94e 100644
--- a/src/lib/protocols/gtp.c
+++ b/src/lib/protocols/gtp.c
@@ -35,14 +35,6 @@ static void ndpi_check_gtp(struct ndpi_detection_module_struct *ndpi_struct, str
// const u_int8_t *packet_payload = packet->payload;
u_int32_t payload_len = packet->payload_packet_len;
-#if 0
- printf("[len=%u][%02X %02X %02X %02X]\n", payload_len,
- packet->payload[0] & 0xFF,
- packet->payload[1] & 0xFF,
- packet->payload[2] & 0xFF,
- packet->payload[3] & 0xFF);
-#endif
-
if((packet->udp != NULL) && (payload_len > sizeof(struct gtp_header_generic))) {
u_int32_t gtp_u = ntohs(2152);
u_int32_t gtp_c = ntohs(2123);
diff --git a/src/lib/protocols/http.c b/src/lib/protocols/http.c
index 9314dba65..ced34c099 100644
--- a/src/lib/protocols/http.c
+++ b/src/lib/protocols/http.c
@@ -349,14 +349,6 @@ static void check_content_type_and_change_protocol(struct ndpi_detection_module_
NDPI_LOG(NDPI_PROTOCOL_HTTP, ndpi_struct, NDPI_LOG_DEBUG, "User Agent Type Line found %.*s\n",
packet->user_agent_line.len, packet->user_agent_line.ptr);
-
-#if 0
- if((ndpi_struct->http_dont_dissect_response) || flow->http_detected)
- ndpi_match_content_subprotocol(ndpi_struct, flow,
- (char*)packet->user_agent_line.ptr,
- packet->user_agent_line.len,
- NDPI_PROTOCOL_HTTP);
-#endif
}
/* check for host line */
diff --git a/src/lib/protocols/lotus_notes.c b/src/lib/protocols/lotus_notes.c
index d0b3aa50f..37c4cf896 100644
--- a/src/lib/protocols/lotus_notes.c
+++ b/src/lib/protocols/lotus_notes.c
@@ -35,20 +35,6 @@ static void ndpi_check_lotus_notes(struct ndpi_detection_module_struct *ndpi_str
if(packet->tcp != NULL) {
flow->l4.tcp.lotus_notes_packet_id++;
-#if 0
- printf("[lotus_notes_packet_id: %u][len=%u][%02X %02X %02X %02X %02X %02X %02X %02X]\n",
- flow->l4.tcp.lotus_notes_packet_id, payload_len,
- packet->payload[6] & 0xFF,
- packet->payload[7] & 0xFF,
- packet->payload[8] & 0xFF,
- packet->payload[9] & 0xFF,
- packet->payload[10] & 0xFF,
- packet->payload[11] & 0xFF,
- packet->payload[12] & 0xFF,
- packet->payload[13] & 0xFF
- );
-#endif
-
if((flow->l4.tcp.lotus_notes_packet_id == 1)
/* We have seen the 3-way handshake */
&& flow->l4.tcp.seen_syn
diff --git a/src/lib/protocols/mdns.c b/src/lib/protocols/mdns.c
index 8226ab93c..d4426e7f3 100644
--- a/src/lib/protocols/mdns.c
+++ b/src/lib/protocols/mdns.c
@@ -37,108 +37,108 @@ static void ndpi_int_mdns_add_connection(struct ndpi_detection_module_struct
}
static int ndpi_int_check_mdns_payload(struct ndpi_detection_module_struct
- *ndpi_struct, struct ndpi_flow_struct *flow)
+ *ndpi_struct, struct ndpi_flow_struct *flow)
{
- struct ndpi_packet_struct *packet = &flow->packet;
+ struct ndpi_packet_struct *packet = &flow->packet;
- if ((packet->payload[2] & 0x80) == 0 &&
- ntohs(get_u_int16_t(packet->payload, 4)) <= NDPI_MAX_MDNS_REQUESTS &&
- ntohs(get_u_int16_t(packet->payload, 6)) <= NDPI_MAX_MDNS_REQUESTS) {
+ if ((packet->payload[2] & 0x80) == 0 &&
+ ntohs(get_u_int16_t(packet->payload, 4)) <= NDPI_MAX_MDNS_REQUESTS &&
+ ntohs(get_u_int16_t(packet->payload, 6)) <= NDPI_MAX_MDNS_REQUESTS) {
- NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct, NDPI_LOG_DEBUG, "found MDNS with question query.\n");
+ NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct, NDPI_LOG_DEBUG, "found MDNS with question query.\n");
- return 1;
- } else if ((packet->payload[2] & 0x80) != 0 &&
- ntohs(get_u_int16_t(packet->payload, 4)) == 0 &&
- ntohs(get_u_int16_t(packet->payload, 6)) <= NDPI_MAX_MDNS_REQUESTS &&
- ntohs(get_u_int16_t(packet->payload, 6)) != 0) {
- NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct, NDPI_LOG_DEBUG, "found MDNS with answer query.\n");
+ return 1;
+ } else if ((packet->payload[2] & 0x80) != 0 &&
+ ntohs(get_u_int16_t(packet->payload, 4)) == 0 &&
+ ntohs(get_u_int16_t(packet->payload, 6)) <= NDPI_MAX_MDNS_REQUESTS &&
+ ntohs(get_u_int16_t(packet->payload, 6)) != 0) {
+ NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct, NDPI_LOG_DEBUG, "found MDNS with answer query.\n");
- return 1;
- }
+ return 1;
+ }
- return 0;
+ return 0;
}
void ndpi_search_mdns(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow)
{
- struct ndpi_packet_struct *packet = &flow->packet;
+ struct ndpi_packet_struct *packet = &flow->packet;
-// struct ndpi_id_struct *src=ndpi_struct->src;
-// struct ndpi_id_struct *dst=ndpi_struct->dst;
-
- u_int16_t dport;
-// const u_int16_t sport=ntohs(packet->udp->source);
-
- /* check if UDP and */
- if (packet->udp != NULL) {
- /*read destination port */
- dport = ntohs(packet->udp->dest);
-
- NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct, NDPI_LOG_DEBUG, "MDNS udp start \n");
-
-
-
- /*check standard MDNS to port 5353 */
- /*took this information from http://www.it-administrator.de/lexikon/multicast-dns.html */
-
- if (dport == 5353 && packet->payload_packet_len >= 12) {
-
- NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct, NDPI_LOG_DEBUG, "found MDNS with destination port 5353\n");
-
- /* MDNS header is similar to dns header */
- /* dns header
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | ID |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- |QR| Opcode |AA|TC|RD|RA| Z | RCODE |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | QDCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | ANCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | NSCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- | ARCOUNT |
- +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
- *
- * dns query check: query: QR set, ancount = 0, nscount = 0, QDCOUNT < MAX_MDNS, ARCOUNT < MAX_MDNS
- *
- */
-
- /* mdns protocol must have destination address 224.0.0.251 */
- /* took this information from http://www.it-administrator.de/lexikon/multicast-dns.html */
-
- if (packet->iph != NULL && ntohl(packet->iph->daddr) == 0xe00000fb) {
-
- NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct,
- NDPI_LOG_DEBUG, "found MDNS with destination address 224.0.0.251 (=0xe00000fb)\n");
-
- if (ndpi_int_check_mdns_payload(ndpi_struct, flow) == 1) {
- ndpi_int_mdns_add_connection(ndpi_struct, flow);
- return;
- }
- }
+ // struct ndpi_id_struct *src=ndpi_struct->src;
+ // struct ndpi_id_struct *dst=ndpi_struct->dst;
+
+ u_int16_t dport;
+ // const u_int16_t sport=ntohs(packet->udp->source);
+
+ /* check if UDP and */
+ if (packet->udp != NULL) {
+ /*read destination port */
+ dport = ntohs(packet->udp->dest);
+
+ NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct, NDPI_LOG_DEBUG, "MDNS udp start \n");
+
+
+
+ /*check standard MDNS to port 5353 */
+ /*took this information from http://www.it-administrator.de/lexikon/multicast-dns.html */
+
+ if (dport == 5353 && packet->payload_packet_len >= 12) {
+
+ NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct, NDPI_LOG_DEBUG, "found MDNS with destination port 5353\n");
+
+ /* MDNS header is similar to dns header */
+ /* dns header
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ID |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ |QR| Opcode |AA|TC|RD|RA| Z | RCODE |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | QDCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ANCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | NSCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ | ARCOUNT |
+ +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
+ *
+ * dns query check: query: QR set, ancount = 0, nscount = 0, QDCOUNT < MAX_MDNS, ARCOUNT < MAX_MDNS
+ *
+ */
+
+ /* mdns protocol must have destination address 224.0.0.251 */
+ /* took this information from http://www.it-administrator.de/lexikon/multicast-dns.html */
+
+ if (packet->iph != NULL && ntohl(packet->iph->daddr) == 0xe00000fb) {
+
+ NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct,
+ NDPI_LOG_DEBUG, "found MDNS with destination address 224.0.0.251 (=0xe00000fb)\n");
+
+ if (ndpi_int_check_mdns_payload(ndpi_struct, flow) == 1) {
+ ndpi_int_mdns_add_connection(ndpi_struct, flow);
+ return;
+ }
+ }
#ifdef NDPI_DETECTION_SUPPORT_IPV6
- if (packet->iphv6 != NULL) {
- const u_int32_t *daddr = packet->iphv6->daddr.ndpi_v6_u.u6_addr32;
- if (daddr[0] == htonl(0xff020000) && daddr[1] == 0 && daddr[2] == 0 && daddr[3] == htonl(0xfb)) {
-
- NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct,
- NDPI_LOG_DEBUG, "found MDNS with destination address ff02::fb\n");
-
- if (ndpi_int_check_mdns_payload(ndpi_struct, flow) == 1) {
- ndpi_int_mdns_add_connection(ndpi_struct, flow);
- return;
- }
- }
- }
-#endif
+ if (packet->iphv6 != NULL) {
+ const u_int32_t *daddr = packet->iphv6->ip6_dst.u6_addr.u6_addr32;
+ if (daddr[0] == htonl(0xff020000) && daddr[1] == 0 && daddr[2] == 0 && daddr[3] == htonl(0xfb)) {
+
+ NDPI_LOG(NDPI_PROTOCOL_MDNS, ndpi_struct,
+ NDPI_LOG_DEBUG, "found MDNS with destination address ff02::fb\n");
- }
+ if (ndpi_int_check_mdns_payload(ndpi_struct, flow) == 1) {
+ ndpi_int_mdns_add_connection(ndpi_struct, flow);
+ return;
+ }
}
- NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_MDNS);
+ }
+#endif
+
+ }
+ }
+ NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_MDNS);
}
diff --git a/src/lib/protocols/netflow.c b/src/lib/protocols/netflow.c
index 30bb898f2..54c634263 100644
--- a/src/lib/protocols/netflow.c
+++ b/src/lib/protocols/netflow.c
@@ -23,12 +23,10 @@
#ifdef NDPI_PROTOCOL_NETFLOW
-#ifndef __KERNEL__
#ifdef WIN32
extern int gettimeofday(struct timeval * tp, struct timezone * tzp);
#endif
#define do_gettimeofday(a) gettimeofday(a, NULL)
-#endif
struct flow_ver1_rec {
u_int32_t srcaddr; /* Source IP Address */
diff --git a/src/lib/protocols/radius.c b/src/lib/protocols/radius.c
index 09f26793b..625dc4108 100644
--- a/src/lib/protocols/radius.c
+++ b/src/lib/protocols/radius.c
@@ -35,14 +35,6 @@ static void ndpi_check_radius(struct ndpi_detection_module_struct *ndpi_struct,
// const u_int8_t *packet_payload = packet->payload;
u_int32_t payload_len = packet->payload_packet_len;
-#if 0
- printf("[len=%u][%02X %02X %02X %02X]\n", payload_len,
- packet->payload[0] & 0xFF,
- packet->payload[1] & 0xFF,
- packet->payload[2] & 0xFF,
- packet->payload[3] & 0xFF);
-#endif
-
if(packet->udp != NULL) {
struct radius_header *h = (struct radius_header*)packet->payload;
u_int len = ntohs(h->len);
diff --git a/src/lib/protocols/tcp_udp.c b/src/lib/protocols/tcp_udp.c
index de9700e4a..9f9febfeb 100644
--- a/src/lib/protocols/tcp_udp.c
+++ b/src/lib/protocols/tcp_udp.c
@@ -64,7 +64,7 @@ void ndpi_search_tcp_or_udp(struct ndpi_detection_module_struct *ndpi_struct, st
proto = ndpi_search_tcp_or_udp_raw(ndpi_struct,
flow->packet.iph ? flow->packet.iph->protocol :
#ifdef NDPI_DETECTION_SUPPORT_IPV6
- flow->packet.iphv6->nexthdr,
+ flow->packet.iphv6->ip6_ctlun.ip6_un1.ip6_un1_nxt,
#else
0,
#endif
diff --git a/src/lib/protocols/tor.c b/src/lib/protocols/tor.c
index 036162b1f..f2c2eae4c 100644
--- a/src/lib/protocols/tor.c
+++ b/src/lib/protocols/tor.c
@@ -66,14 +66,12 @@ int ndpi_is_ssl_tor(struct ndpi_detection_module_struct *ndpi_struct,
ndpi_int_tor_add_connection(ndpi_struct, flow);
return(1);
} else {
-#ifndef __KERNEL__
#ifdef PENDANTIC_TOR_CHECK
if(gethostbyname(certificate) == NULL) {
ndpi_int_tor_add_connection(ndpi_struct, flow);
return(1);
}
#endif
-#endif
}
return(0);
diff --git a/src/lib/third_party/include/ndpi_patricia.h b/src/lib/third_party/include/ndpi_patricia.h
index 651e52fc9..3053cf9e1 100644
--- a/src/lib/third_party/include/ndpi_patricia.h
+++ b/src/lib/third_party/include/ndpi_patricia.h
@@ -51,18 +51,13 @@
/* { from defs.h */
#define prefix_touchar(prefix) ((u_char *)&(prefix)->add.sin)
-#ifdef __KERNEL__
-#define MAXLINE 512
-#else
#define MAXLINE 1024
-#endif
#define BIT_TEST(f, b) ((f) & (b))
/* } */
#define addroute make_and_lookup
-#ifndef __KERNEL__
#include <sys/types.h> /* for u_* definitions (on FreeBSD 5) */
#include <errno.h> /* for EAFNOSUPPORT */
@@ -81,8 +76,6 @@
#include <ws2tcpip.h> /* IPv6 */
#endif
-#endif /* __KERNEL__ */
-
/* { from mrt.h */
typedef struct the_prefix4_t {
diff --git a/src/lib/third_party/src/ahocorasick.c b/src/lib/third_party/src/ahocorasick.c
index 54a97e776..ce064033f 100644
--- a/src/lib/third_party/src/ahocorasick.c
+++ b/src/lib/third_party/src/ahocorasick.c
@@ -18,12 +18,10 @@
along with multifast. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __KERNEL__
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
-#endif
#include "ndpi_api.h"
#include "ahocorasick.h"
@@ -245,7 +243,6 @@ void ac_automata_release (AC_AUTOMATA_t * thiz)
ndpi_free(thiz);
}
-#ifndef __KERNEL__
/******************************************************************************
* FUNCTION: ac_automata_display
* Prints the automata to output in human readable form. it is useful for
@@ -299,7 +296,6 @@ void ac_automata_display (AC_AUTOMATA_t * thiz, char repcast)
printf("---------------------------------\n");
}
}
-#endif /* __KERNEL__ */
/******************************************************************************
* FUNCTION: ac_automata_register_nodeptr
diff --git a/src/lib/third_party/src/ndpi_patricia.c b/src/lib/third_party/src/ndpi_patricia.c
index 59d17e556..0a8fa857d 100644
--- a/src/lib/third_party/src/ndpi_patricia.c
+++ b/src/lib/third_party/src/ndpi_patricia.c
@@ -39,7 +39,6 @@
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __KERNEL__
#include <assert.h> /* assert */
#include <ctype.h> /* isdigit */
#include <errno.h> /* errno */
@@ -54,26 +53,8 @@
#include <netinet/in.h> /* BSD, Linux: for inet_addr */
#include <arpa/inet.h> /* BSD, Linux, Solaris: for inet_addr */
#endif
-#else
-#define assert(a) ;
-#endif /* __KERNEL__ */
-
#include "ndpi_patricia.h"
-
-#ifdef __KERNEL__
-
-long atol(const char *nptr) {
- long l;
- char *endp;
-
- l = simple_strtol(nptr, &endp, 10);
- return(l);
-}
-#endif
-
-// #define PATRICIA_DEBUG
-
void ndpi_DeleteEntry(void *a) {
ndpi_free(a);
}
@@ -126,7 +107,7 @@ inet_pton (int af, const char *src, void *dst)
}
}
#ifdef NT
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
else if(af == AF_INET6) {
struct in6_addr Address;
return (inet6_addr(src, &Address));
@@ -175,15 +156,13 @@ ndpi_my_inet_pton (int af, const char *src, void *dst)
}
memcpy (dst, xp, sizeof(struct in_addr));
return (1);
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
} else if(af == AF_INET6) {
- return (inet_pton (af, src, dst));
+ return (inet_pton (af, src, dst));
#endif /* PATRICIA_IPV6 */
- } else {
+ } else {
#ifndef NT
-#ifndef __KERNEL__
- errno = EAFNOSUPPORT;
-#endif
+ errno = EAFNOSUPPORT;
#endif /* NT */
return -1;
}
@@ -236,7 +215,7 @@ ndpi_prefix_toa2x (prefix_t *prefix, char *buff, int with_len)
}
return (buff);
}
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
else if(prefix->family == AF_INET6) {
char *r;
r = (char *) inet_ntop (AF_INET6, &prefix->add.sin6, buff, 48 /* a guess value */ );
@@ -274,7 +253,7 @@ ndpi_New_Prefix2 (int family, void *dest, int bitlen, prefix_t *prefix)
int dynamic_allocated = 0;
int default_bitlen = sizeof(struct in_addr) * 8;
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
if(family == AF_INET6) {
default_bitlen = sizeof(struct in6_addr) * 8;
if(prefix == NULL) {
@@ -319,8 +298,7 @@ ndpi_New_Prefix (int family, void *dest, int bitlen)
return (ndpi_New_Prefix2 (family, dest, bitlen, NULL));
}
-/* ndpi_ascii2prefix
- */
+/* ndpi_ascii2prefix */
prefix_t *
ndpi_ascii2prefix (int family, char *string)
{
@@ -328,7 +306,7 @@ ndpi_ascii2prefix (int family, char *string)
long maxbitlen = 0;
char *cp;
struct in_addr sin;
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
struct in6_addr sin6;
#endif /* PATRICIA_IPV6 */
char save[MAXLINE];
@@ -339,7 +317,7 @@ ndpi_ascii2prefix (int family, char *string)
/* easy way to handle both families */
if(family == 0) {
family = AF_INET;
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
if(strchr (string, ':')) family = AF_INET6;
#endif /* PATRICIA_IPV6 */
}
@@ -347,7 +325,7 @@ ndpi_ascii2prefix (int family, char *string)
if(family == AF_INET) {
maxbitlen = sizeof(struct in_addr) * 8;
}
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
else if(family == AF_INET6) {
maxbitlen = sizeof(struct in6_addr) * 8;
}
@@ -373,7 +351,7 @@ ndpi_ascii2prefix (int family, char *string)
return (ndpi_New_Prefix (AF_INET, &sin, bitlen));
}
-#if defined(PATRICIA_IPV6) && (!defined(__KERNEL__))
+#if defined(PATRICIA_IPV6)
else if(family == AF_INET6) {
// Get rid of this with next IPv6 upgrade
#if defined(NT) && !defined(HAVE_INET_NTOP)
@@ -420,8 +398,6 @@ ndpi_Deref_Prefix (prefix_t * prefix)
}
}
-/* } */
-
/* #define PATRICIA_DEBUG 1 */
static int num_active_patricia = 0;
@@ -446,7 +422,6 @@ ndpi_New_Patricia (int maxbits)
* if func is supplied, it will be called as func(node->data)
* before deleting the node
*/
-
void
ndpi_Clear_Patricia (patricia_tree_t *patricia, void_fn_t func)
{
@@ -503,7 +478,6 @@ ndpi_Destroy_Patricia (patricia_tree_t *patricia, void_fn_t func)
/*
* if func is supplied, it will be called as func(node->prefix, node->data)
*/
-
void
ndpi_patricia_process (patricia_tree_t *patricia, void_fn2_t func)
{
@@ -1073,5 +1047,3 @@ ndpi_lookup_then_remove (patricia_tree_t *tree, char *string)
patricia_remove (tree, node);
}
#endif
-
-/* } */
diff --git a/src/lib/third_party/src/node.c b/src/lib/third_party/src/node.c
index 404fb24d4..a43cc59a6 100644
--- a/src/lib/third_party/src/node.c
+++ b/src/lib/third_party/src/node.c
@@ -18,14 +18,10 @@
along with multifast. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __KERNEL__
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
-#endif
-
#include "ndpi_api.h"
-
#include "../include/node.h"
#include "sort.h"
diff --git a/src/lib/third_party/src/sort.c b/src/lib/third_party/src/sort.c
index d6545e85a..35c8e9fdf 100644
--- a/src/lib/third_party/src/sort.c
+++ b/src/lib/third_party/src/sort.c
@@ -4,9 +4,6 @@
* Jan 23 2005 Matt Mackall <mpm@selenic.com>
*/
-#ifdef __KERNEL__
-#include <linux/types.h>
-#else
#ifdef WIN32
#include <stdint.h>
typedef uint32_t u_int32_t;
@@ -15,7 +12,6 @@ typedef uint32_t u_int32_t;
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
-#endif
/* This is a function ported from the Linux kernel lib/sort.c */
@@ -94,37 +90,3 @@ void sort(void *_base, size_t num, size_t size,
}
}
}
-
-
-#if 0
-/* a simple boot-time regression test */
-
-int cmpint(const void *a, const void *b)
-{
- return *(int *)a - *(int *)b;
-}
-
-int main(int argc, char *argv[]) {
- int *a, i, r = 1;
-
- a = ndpi_malloc(1000 * sizeof(int));
-
- printf("testing sort()\n");
-
- for (i = 0; i < 1000; i++) {
- r = (r * 725861) % 6599;
- a[i] = r;
- }
-
- sort(a, 1000, sizeof(int), cmpint, NULL);
-
- for (i = 0; i < 999; i++)
- if (a[i] > a[i+1]) {
- printf("sort() failed!\n");
- break;
- }
-
- return 0;
-}
-
-#endif