Changes of Revision 66
[-] [+] | Changed | nprobe.changes |
[-] [+] | Changed | nprobe.spec ^ |
[-] [+] | Added | nprobe-6.9.13-GeoIPdat-dir.patch ^ |
@@ -0,0 +1,20 @@ +--- nprobe.c.orig 2011-04-03 13:53:36.000000000 +0200 ++++ nprobe.c 2011-04-04 10:44:26.309788419 +0200 +@@ -3601,7 +3601,7 @@ + + #ifdef HAVE_GEOIP + if(readOnlyGlobals.geo_ip_asn_db == NULL) +- readASs("GeoIPASNum.dat"); ++ readASs("/usr/lib/nprobe/GeoIPASNum.dat"); + + if(!readOnlyGlobals.enableGeoIP) { + if(readOnlyGlobals.geo_ip_city_db != NULL) { +@@ -3610,7 +3610,7 @@ + } + } else { + if(readOnlyGlobals.geo_ip_city_db == NULL) +- readCities("GeoLiteCity.dat"); ++ readCities("/usr/lib/nprobe/GeoLiteCity.dat"); + } + #endif + | ||
[-] [+] | Added | nprobe-6.9.13-configure.in.patch ^ |
@@ -0,0 +1,11 @@ +--- configure.in.orig 2012-12-17 23:15:51.344038582 +0100 ++++ configure.in 2012-12-18 12:39:20.908040235 +0100 +@@ -363,7 +363,7 @@ + PWD=`pwd`/.. + LIBPCAP_ARM="${PWD}/libpcap-1.1.1-ARM" + PLATFORM=`uname -m` +-PF_RING_HOME=${HOME}/PF_RING ++PF_RING_HOME=${PWD}/PF_RING + + if test -d "${PF_RING_HOME}"; then + LDFLAGS="${LDFLAGS} -L${PWD}/PF_RING/userland/lib -L${PWD}/PF_RING/userland/libpcap" | ||
Changed | GeoIPASNum.dat.gz ^ | |
Changed | GeoIPASNumv6.dat.gz ^ | |
Changed | GeoLiteCity.dat.gz ^ | |
Added | PF_RING-5.5.2.tar.bz2 ^ | |
[-] [+] | Changed | nDPI.tar.bz2/example/pcapReader.c ^ |
@@ -1,49 +1,51 @@ /* * pcapReader.c * - * Copyright (C) 2009 by ipoque GmbH - * Copyright (C) 2012 by ntop.org - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2009-2011 by ipoque GmbH + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ - - #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <stdarg.h> #include <netinet/in.h> - +#include <search.h> #include <pcap.h> #include "linux_compat.h" #include "ndpi_main.h" +static void setupDetection(void); + // cli options static char *_pcap_file = NULL; +static char *_protoFilePath = NULL; // pcap static char _pcap_error_buffer[PCAP_ERRBUF_SIZE]; static pcap_t *_pcap_handle = NULL; static int _pcap_datalink_type = 0; -static u_int8_t enable_protocol_guess = 1; +static u_int8_t enable_protocol_guess = 1, verbose = 0; +static u_int32_t guessed_flow_protocols = 0; // detection static struct ndpi_detection_module_struct *ndpi_struct = NULL; @@ -61,7 +63,7 @@ static u_int64_t total_bytes = 0; static u_int64_t protocol_counter[NDPI_MAX_SUPPORTED_PROTOCOLS + 1]; static u_int64_t protocol_counter_bytes[NDPI_MAX_SUPPORTED_PROTOCOLS + 1]; - +static u_int32_t protocol_flows[NDPI_MAX_SUPPORTED_PROTOCOLS] = { 0 }; // id tracking typedef struct osdpi_id { @@ -86,7 +88,7 @@ u_int16_t upper_port; u_int8_t protocol; struct ndpi_flow_struct *ndpi_flow; - + u_int16_t packets, bytes; // result only, not used for flow identification u_int32_t detected_protocol; @@ -94,7 +96,7 @@ static u_int32_t size_flow_struct = 0; #define MAX_OSDPI_FLOWS 200000 -static struct osdpi_flow *osdpi_flows; +static struct osdpi_flow *osdpi_flows_root = NULL; static u_int32_t osdpi_flow_count = 0; #ifdef NDPI_ENABLE_DEBUG_MESSAGES @@ -122,7 +124,7 @@ if (strlen(prot_short_str[a]) == (ptr - oldptr) && (memcmp(&str[oldptr], prot_short_str[a], ptr - oldptr) == 0)) { NDPI_ADD_PROTOCOL_TO_BITMASK(*dbm, a); - printf("Protocol parameter detected as protocol %s\n", + printf("Protocol parameter detected as protocol %s\n", ndpi_get_proto_name(ndpi_struct, a)); } } @@ -136,6 +138,21 @@ } #endif +static void help() { + printf("pcapReader -f <file>.pcap [-p <protos>][-d][-h][-v]\n\n" + "Usage:\n" + " -f <file>.pcap | Specify a pcap file to read packets from\n" + " -p <file>.protos | Specify a protocol file (eg. protos.txt)\n" + " -d | Disable protocol guess and use only DPI\n" + " -h | This help\n" + " -v | Verbose 'unknown protocol' packet print\n"); + + printf("\n\nSupported protocols:\n"); + setupDetection(); + ndpi_dump_protocols(ndpi_struct); + exit(-1); +} + static void parseOptions(int argc, char **argv) { int opt; @@ -144,7 +161,7 @@ NDPI_BITMASK_SET_ALL(debug_messages_bitmask); #endif - while ((opt = getopt(argc, argv, "df:e:")) != EOF) { + while ((opt = getopt(argc, argv, "df:e:hp:v")) != EOF) { switch (opt) { case 'd': enable_protocol_guess = 0; @@ -152,6 +169,11 @@ case 'f': _pcap_file = optarg; break; + + case 'p': + _protoFilePath = optarg; + break; + case 'e': #ifdef NDPI_ENABLE_DEBUG_MESSAGES // set debug logging bitmask to all protocols @@ -168,16 +190,20 @@ exit(-1); #endif break; + + case 'v': + verbose = 1; + break; + + case 'h': + default: + help(); } } // check parameters if (_pcap_file == NULL || strcmp(_pcap_file, "") == 0) { - printf("pcapReader -f <file>.pcap [-d]\n\n" - "Usage:\n" - " -f <file>.pcap | Specify a pcap file to read packets from\n" - " -d | Disable protocol guess and use only DPI\n"); - exit(-1); + help(); } } @@ -235,6 +261,135 @@ } } + +static char* ipProto2Name(u_short proto_id) { + static char proto[8]; + + switch(proto_id) { + case IPPROTO_TCP: + return("TCP"); + break; + case IPPROTO_UDP: + return("UDP"); + break; + case IPPROTO_ICMP: + return("ICMP"); + break; + case 112: + return("VRRP"); + break; + } + + snprintf(proto, sizeof(proto), "%u", proto_id); + return(proto); +} + +/* + * A faster replacement for inet_ntoa(). + */ +char* intoaV4(unsigned int addr, char* buf, u_short bufLen) { + char *cp, *retStr; + uint byte; + int n; + + cp = &buf[bufLen]; + *--cp = '\0'; + + n = 4; + do { + byte = addr & 0xff; + *--cp = byte % 10 + '0'; + byte /= 10; + if (byte > 0) { + *--cp = byte % 10 + '0'; + byte /= 10; + if (byte > 0) + *--cp = byte + '0'; + } + *--cp = '.'; + addr >>= 8; + } while (--n > 0); + + /* Convert the string to lowercase */ + retStr = (char*)(cp+1); + + return(retStr); +} + +static void printFlow(struct osdpi_flow *flow) { + char buf1[32], buf2[32]; + + printf("\t%s %s:%u > %s:%u [proto: %u/%s][%u pkts/%u bytes]\n", + ipProto2Name(flow->protocol), + intoaV4(ntohl(flow->lower_ip), buf1, sizeof(buf1)), + ntohs(flow->lower_port), + intoaV4(ntohl(flow->upper_ip), buf2, sizeof(buf2)), + ntohs(flow->upper_port), + flow->detected_protocol, + ndpi_get_proto_name(ndpi_struct, flow->detected_protocol), + flow->packets, flow->bytes); +} + +static void node_print_unknown_proto_walker(const void *node, const VISIT which, const int depth) { + struct osdpi_flow *flow = *(struct osdpi_flow**)node; + + if (flow->detected_protocol != 0 /* UNKNOWN */) return; + + if((which == preorder) || (which == leaf)) /* Avoid walking the same node multiple times */ + printFlow(flow); +} + +static void node_proto_guess_walker(const void *node, const VISIT which, const int depth) { + struct osdpi_flow *flow = *(struct osdpi_flow**)node; + char buf1[32], buf2[32]; + +#if 0 + printf("<%d>Walk on node %s (%p)\n", + depth, + which == preorder?"preorder": + which == postorder?"postorder": + which == endorder?"endorder": + which == leaf?"leaf": "unknown", + flow); +#endif + + if((which == preorder) || (which == leaf)) { /* Avoid walking the same node multiple times */ + if(enable_protocol_guess) { + if (flow->detected_protocol == 0 /* UNKNOWN */) { + flow->detected_protocol = ndpi_guess_undetected_protocol(ndpi_struct, + flow->protocol, + ntohl(flow->lower_ip), + ntohs(flow->lower_port), + ntohl(flow->upper_ip), + ntohs(flow->upper_port)); + + if (flow->detected_protocol != 0) + guessed_flow_protocols++; + + // printFlow(flow); + } + } + + protocol_counter[flow->detected_protocol] += flow->packets; + protocol_counter_bytes[flow->detected_protocol] += flow->bytes; + protocol_flows[flow->detected_protocol]++; + } +} + +static int node_cmp(const void *a, const void *b) { + struct osdpi_flow *fa = (struct osdpi_flow*)a; + struct osdpi_flow *fb = (struct osdpi_flow*)b; + + if(fa->lower_ip < fb->lower_ip) return(-1); else { if(fa->lower_ip > fb->lower_ip) return(1); } + if(fa->lower_port < fb->lower_port) return(-1); else { if(fa->lower_port > fb->lower_port) return(1); } + if(fa->upper_ip < fb->upper_ip) return(-1); else { if(fa->upper_ip > fb->upper_ip) return(1); } + if(fa->upper_port < fb->upper_port) return(-1); else { if(fa->upper_port > fb->upper_port) return(1); } + if(fa->protocol < fb->protocol) return(-1); else { if(fa->protocol > fb->protocol) return(1); } + + return(0); +} + + static struct osdpi_flow *get_osdpi_flow(const struct ndpi_iphdr *iph, u_int16_t ipsize) { u_int32_t i; @@ -245,6 +400,8 @@ u_int32_t upper_ip; u_int16_t lower_port; u_int16_t upper_port; + struct osdpi_flow flow; + const void *ret; if (ipsize < 20) return NULL; @@ -289,35 +446,51 @@ upper_port = 0; } - for (i = 0; i < osdpi_flow_count; i++) { - if (osdpi_flows[i].protocol == iph->protocol && - osdpi_flows[i].lower_ip == lower_ip && - osdpi_flows[i].upper_ip == upper_ip && - osdpi_flows[i].lower_port == lower_port && osdpi_flows[i].upper_port == upper_port) { - return &osdpi_flows[i]; - } - } - if (osdpi_flow_count == MAX_OSDPI_FLOWS) { - printf("ERROR: maximum flow count (%u) has been exceeded\n", MAX_OSDPI_FLOWS); - exit(-1); - } else { - struct osdpi_flow *flow; - osdpi_flows[osdpi_flow_count].protocol = iph->protocol; - osdpi_flows[osdpi_flow_count].lower_ip = lower_ip; - osdpi_flows[osdpi_flow_count].upper_ip = upper_ip; - osdpi_flows[osdpi_flow_count].lower_port = lower_port; - osdpi_flows[osdpi_flow_count].upper_port = upper_port; - flow = &osdpi_flows[osdpi_flow_count]; + flow.protocol = iph->protocol; + flow.lower_ip = lower_ip; + flow.upper_ip = upper_ip; + flow.lower_port = lower_port; + flow.upper_port = upper_port; + + ret = tfind(&flow, (void*)&osdpi_flows_root, node_cmp); + + if(ret == NULL) { + if (osdpi_flow_count == MAX_OSDPI_FLOWS) { + printf("ERROR: maximum flow count (%u) has been exceeded\n", MAX_OSDPI_FLOWS); + exit(-1); + } else { + struct osdpi_flow *newflow = (struct osdpi_flow*)malloc(sizeof(struct osdpi_flow)); - osdpi_flow_count += 1; - return flow; - } + if(newflow == NULL) { + printf("[NDPI] %s(1): not enough memory\n", __FUNCTION__); + return(NULL); + } + + memset(newflow, 0, sizeof(struct osdpi_flow)); + newflow->protocol = iph->protocol; + newflow->lower_ip = lower_ip, newflow->upper_ip = upper_ip; + newflow->lower_port = lower_port, newflow->upper_port = upper_port; + + if((newflow->ndpi_flow = calloc(1, size_flow_struct)) == NULL) { + printf("[NDPI] %s(2): not enough memory\n", __FUNCTION__); + return(NULL); + } + + tsearch(newflow, (void*)&osdpi_flows_root, node_cmp); /* Add */ + + osdpi_flow_count += 1; + + //printFlow(newflow); + return(newflow); + } + } else + return *(struct osdpi_flow**)ret; } static void setupDetection(void) { u_int32_t i; - NDPI_PROTOCOL_BITMASK all; + NDPI_PROTOCOL_BITMASK all; // init global detection structure ndpi_struct = ndpi_init_detection_module(detection_tick_resolution, malloc_wrapper, debug_printf); @@ -347,23 +520,12 @@ } } - osdpi_flows = malloc(MAX_OSDPI_FLOWS * sizeof(struct osdpi_flow)); - if (osdpi_flows == NULL) { - printf("ERROR: malloc for osdpi_flows failed\n"); - exit(-1); - } - for (i = 0; i < MAX_OSDPI_FLOWS; i++) { - memset(&osdpi_flows[i], 0, sizeof(struct osdpi_flow)); - osdpi_flows[i].ndpi_flow = calloc(1, size_flow_struct); - if (osdpi_flows[i].ndpi_flow == NULL) { - printf("ERROR: malloc for ndpi_flow_struct failed\n"); - exit(-1); - } - } - // clear memory for results memset(protocol_counter, 0, (NDPI_MAX_SUPPORTED_PROTOCOLS + 1) * sizeof(u_int64_t)); memset(protocol_counter_bytes, 0, (NDPI_MAX_SUPPORTED_PROTOCOLS + 1) * sizeof(u_int64_t)); + + if(_protoFilePath != NULL) + ndpi_load_protocols_file(ndpi_struct, _protoFilePath); } static void terminateDetection(void) @@ -376,10 +538,9 @@ free(osdpi_ids[i].ndpi_id); } free(osdpi_ids); - for (i = 0; i < MAX_OSDPI_FLOWS; i++) { - free(osdpi_flows[i].ndpi_flow); - } - free(osdpi_flows); + + /* Free flows (TODO) */ + } static unsigned int packet_processing(const uint64_t time, const struct ndpi_iphdr *iph, uint16_t ipsize, uint16_t rawsize) @@ -390,14 +551,13 @@ struct ndpi_flow_struct *ndpi_flow = NULL; u_int32_t protocol = 0; - src = get_id((u_int8_t *) & iph->saddr); dst = get_id((u_int8_t *) & iph->daddr); flow = get_osdpi_flow(iph, ipsize); if (flow != NULL) { ndpi_flow = flow->ndpi_flow; - flow->packets++, flow->bytes += rawsize; + flow->packets++, flow->bytes += rawsize; } ip_packet_count++; @@ -406,7 +566,7 @@ #ifndef NDPI_ENABLE_DEBUG_MESSAGES if (ip_packet_count % 499 == 0) { printf("\rip packets scanned: \x1b[33m%-10llu\x1b[0m ip bytes scanned: \x1b[34m%-10llu\x1b[0m", - (long long unsigned int)ip_packet_count, + (long long unsigned int)ip_packet_count, (long long unsigned int)total_bytes); } #endif @@ -425,70 +585,59 @@ return 0; } - protocol_counter[protocol]++; - protocol_counter_bytes[protocol] += rawsize; +#if 0 + if(verbose && (protocol == 0)) { + char buf1[32], buf2[32]; + + printf("%s %s:%u > %s:%u [proto: %u/%s]\n", + ipProto2Name(flow->protocol), + intoaV4(ntohl(flow->lower_ip), buf1, sizeof(buf1)), ntohs(flow->lower_port), + intoaV4(ntohl(flow->upper_ip), buf2, sizeof(buf2)), ntohs(flow->upper_port), + protocol, ndpi_get_proto_name(ndpi_struct, protocol)); + } +#endif if (flow != NULL) - flow->detected_protocol = protocol; + flow->detected_protocol = protocol; return 0; } static void printResults(void) { - u_int32_t i, j, guessed_flow_protocols = 0; + u_int32_t i, j; printf("\x1b[2K\n"); printf("pcap file contains\n"); printf("\tip packets: \x1b[33m%-13llu\x1b[0m of %llu packets total\n", - (long long unsigned int)ip_packet_count, + (long long unsigned int)ip_packet_count, (long long unsigned int)raw_packet_count); printf("\tip bytes: \x1b[34m%-13llu\x1b[0m\n", (long long unsigned int)total_bytes); printf("\tunique ids: \x1b[35m%-13u\x1b[0m\n", osdpi_id_count); printf("\tunique flows: \x1b[36m%-13u\x1b[0m\n", osdpi_flow_count); - if(enable_protocol_guess) { - for (j = 0; j < osdpi_flow_count; j++) { - if (osdpi_flows[j].detected_protocol == 0 /* UNKNOWN */) { - osdpi_flows[j].detected_protocol = - ndpi_guess_undetected_protocol(ndpi_struct, - osdpi_flows[j].protocol, - ntohl(osdpi_flows[j].lower_ip), - ntohs(osdpi_flows[j].lower_port), - ntohl(osdpi_flows[j].upper_ip), - ntohs(osdpi_flows[j].upper_port)); - - if (osdpi_flows[j].detected_protocol != 0) { - protocol_counter[osdpi_flows[j].detected_protocol] += osdpi_flows[j].packets; - protocol_counter_bytes[osdpi_flows[j].detected_protocol] += osdpi_flows[j].bytes; - protocol_counter[0] -= osdpi_flows[j].packets, protocol_counter_bytes[0] -= osdpi_flows[j].bytes; - guessed_flow_protocols++; - } - } - } - - printf("\tguessed flow protocols: \x1b[36m%-13u\x1b[0m\n", guessed_flow_protocols); - } + twalk(osdpi_flows_root, node_proto_guess_walker); + if(enable_protocol_guess) + printf("\tguessed flow protocols: \x1b[35m%-13u\x1b[0m\n", guessed_flow_protocols); + printf("\n\ndetected protocols:\n"); for (i = 0; i <= NDPI_MAX_SUPPORTED_PROTOCOLS; i++) { - u_int32_t protocol_flows = 0; - - // count flows for that protocol - for (j = 0; j < osdpi_flow_count; j++) { - if (osdpi_flows[j].detected_protocol == i) { - protocol_flows++; - } - } if (protocol_counter[i] > 0) { printf("\t\x1b[31m%-20s\x1b[0m packets: \x1b[33m%-13llu\x1b[0m bytes: \x1b[34m%-13llu\x1b[0m " "flows: \x1b[36m%-13u\x1b[0m\n", - ndpi_get_proto_name(ndpi_struct, i), (long long unsigned int)protocol_counter[i], - (long long unsigned int)protocol_counter_bytes[i], protocol_flows); + ndpi_get_proto_name(ndpi_struct, i), (long long unsigned int)protocol_counter[i], + (long long unsigned int)protocol_counter_bytes[i], protocol_flows[i]); } } + + if(verbose && (protocol_counter[0] > 0)) { + printf("\n\nundetected flows:\n"); + twalk(osdpi_flows_root, node_print_unknown_proto_walker); + } + printf("\n\n"); } | ||
[-] [+] | Added | nDPI.tar.bz2/example/protos.txt ^ |
@@ -0,0 +1,6 @@ +# Format: +# <tcp|udp>:<port>,<tcp|udp>:<port>,.....@<proto> + +tcp:81,tcp:8181@HTTP +udp:5061@SIP + | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/linux_compat.h ^ |
@@ -1,22 +1,24 @@ /* * linux_compat.h - * Copyright (C) 2009-2010 by ipoque GmbH * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH + * Copyright (C) 2009-2011 by ipoque GmbH + * Copyright (C) 2011-13 - ntop.org * - * OpenDPI is free software: you can redistribute it and/or modify + * 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. * - * OpenDPI is distributed in the hope that it will be useful, + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/ndpi_define.h ^ |
@@ -1,21 +1,24 @@ /* - * Copyright (C) 2011-12 ntop.org * - * http://www.ntop.org/ + * Copyright (C) 2009-2011 by ipoque GmbH + * Copyright (C) 2011-13 - 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/>. * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef __NDPI_DEFINE_INCLUDE_FILE__ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/ndpi_macros.h ^ |
@@ -1,23 +1,25 @@ /* * ndpi_macros.h + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/ndpi_main.h ^ |
@@ -1,23 +1,25 @@ /* * ndpi_main.h + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/ndpi_protocol_history.h ^ |
@@ -1,23 +1,25 @@ /* * ndpi_protocol_history.h + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/ndpi_protocols.h ^ |
@@ -1,23 +1,24 @@ /* * ndpi_protocols.h + * * Copyright (C) 2009-2011 by ipoque GmbH - * Copyright (C) 2011-2012 by ntop.org + * Copyright (C) 2011-13 - ntop.org * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH + * This file is part of nDPI, an open source deep packet inspection + * library based on the OpenDPI and PACE technology by ipoque GmbH * - * OpenDPI is free software: you can redistribute it and/or modify + * 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. * - * OpenDPI is distributed in the hope that it will be useful, + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ @@ -332,6 +333,7 @@ void ndpi_search_wsus(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); void ndpi_search_teamview(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); void ndpi_search_lotus_notes(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); +void ndpi_search_gtp(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow); | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/ndpi_protocols_osdpi.h ^ |
@@ -1,23 +1,25 @@ /* * ndpi_protocols_osdpi.h + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ @@ -195,10 +197,15 @@ #define NDPI_PROTOCOL_TUENTI 149 #define NDPI_PROTOCOL_LOTUS_NOTES 150 #define NDPI_PROTOCOL_SAP 151 +#define NDPI_PROTOCOL_GTP 152 +#define NDPI_PROTOCOL_UPNP 153 +#define NDPI_PROTOCOL_LLMNR 154 +#define NDPI_PROTOCOL_REMOTE_SCAN 155 /* NOTE: REMEMBER TO UPDATE NDPI_PROTOCOL_LONG_STRING / NDPI_PROTOCOL_SHORT_STRING */ -#define NDPI_LAST_IMPLEMENTED_PROTOCOL 151 +#define NDPI_LAST_IMPLEMENTED_PROTOCOL 155 + #define NDPI_MAX_SUPPORTED_PROTOCOLS (NDPI_LAST_IMPLEMENTED_PROTOCOL + 1) #ifdef __cplusplus } | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/ndpi_public_functions.h ^ |
@@ -1,23 +1,25 @@ /* * ndpi_public_functions.h + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ @@ -238,6 +240,8 @@ int matchStringProtocol(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow, char *string_to_match, u_int string_to_match_len); + int ndpi_load_protocols_file(struct ndpi_detection_module_struct *ndpi_mod, char* path); + #ifdef __cplusplus } #endif | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/ndpi_structs.h ^ |
@@ -1,23 +1,25 @@ /* * ndpi_structs.h + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ @@ -502,14 +504,19 @@ u_int8_t detection_feature; } ndpi_call_function_struct_t; -#define MAX_DEFAULT_PORTS 3 +#define MAX_DEFAULT_PORTS 5 /* ntop extensions */ typedef struct ndpi_proto_defaults { char *protoName; - u_int16_t *tcpDefaultPorts, *udpDefaultPorts; + u_int16_t protoId; } ndpi_proto_defaults_t; +typedef struct ndpi_default_ports_tree_node { + ndpi_proto_defaults_t *proto; + u_int16_t default_port; +} ndpi_default_ports_tree_node_t; + typedef struct ndpi_detection_module_struct { NDPI_PROTOCOL_BITMASK detection_bitmask; NDPI_PROTOCOL_BITMASK generic_http_packet_bitmask; | ||
[-] [+] | Changed | nDPI.tar.bz2/src/include/ndpi_utils.h ^ |
@@ -1,23 +1,25 @@ /* * ndpi_utils.h + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/Makefile.am ^ |
@@ -128,6 +128,7 @@ protocols/sflow.c \ protocols/radius.c \ protocols/teamviewer.c \ - protocols/lotus_notes.c + protocols/lotus_notes.c \ + protocols/gtp.c # NTOP protocols are at the end | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/Makefile.in ^ |
@@ -124,7 +124,8 @@ libndpi_la-zattoo.lo libndpi_la-dropbox.lo libndpi_la-skype.lo \ libndpi_la-citrix.lo libndpi_la-dcerpc.lo \ libndpi_la-netflow.lo libndpi_la-sflow.lo libndpi_la-radius.lo \ - libndpi_la-teamviewer.lo libndpi_la-lotus_notes.lo + libndpi_la-teamviewer.lo libndpi_la-lotus_notes.lo \ + libndpi_la-gtp.lo libndpi_la_OBJECTS = $(am_libndpi_la_OBJECTS) libndpi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ @@ -388,7 +389,8 @@ protocols/sflow.c \ protocols/radius.c \ protocols/teamviewer.c \ - protocols/lotus_notes.c + protocols/lotus_notes.c \ + protocols/gtp.c all: all-am @@ -491,6 +493,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libndpi_la-ftp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libndpi_la-gadu_gadu.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libndpi_la-gnutella.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libndpi_la-gtp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libndpi_la-guildwars.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libndpi_la-halflife2_and_mods.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libndpi_la-http.Plo@am__quote@ @@ -1366,6 +1369,13 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndpi_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libndpi_la-lotus_notes.lo `test -f 'protocols/lotus_notes.c' || echo '$(srcdir)/'`protocols/lotus_notes.c +libndpi_la-gtp.lo: protocols/gtp.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndpi_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libndpi_la-gtp.lo -MD -MP -MF $(DEPDIR)/libndpi_la-gtp.Tpo -c -o libndpi_la-gtp.lo `test -f 'protocols/gtp.c' || echo '$(srcdir)/'`protocols/gtp.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libndpi_la-gtp.Tpo $(DEPDIR)/libndpi_la-gtp.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='protocols/gtp.c' object='libndpi_la-gtp.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndpi_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libndpi_la-gtp.lo `test -f 'protocols/gtp.c' || echo '$(srcdir)/'`protocols/gtp.c + mostlyclean-libtool: -rm -f *.lo | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/ndpi_main.c ^ |
@@ -1,7 +1,8 @@ /* * ndpi_main.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * Copyright (C) 2011-12 - ntop.org + * Copyright (C) 2011-13 - 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 @@ -22,10 +23,162 @@ */ #include <stdlib.h> +#include <errno.h> +#include <search.h> #include "ndpi_main.h" #include "ndpi_protocols.h" #include "ndpi_utils.h" +#ifdef WIN32 +/* http://social.msdn.microsoft.com/Forums/uk/vcgeneral/thread/963aac07-da1a-4612-be4a-faac3f1d65ca */ +#define strtok_r strtok + +/* ftp://ftp.cc.uoc.gr/mirrors/OpenBSD/src/lib/libc/stdlib/tsearch.c */ + +typedef enum { + preorder, + postorder, + endorder, + leaf +} VISIT; + +void *tdelete(const void * __restrict, void ** __restrict, + int (*)(const void *, const void *)); +void *tfind(const void *, void * const *, + int (*)(const void *, const void *)); +void *tsearch(const void *, void **, int (*)(const void *, const void *)); +void twalk(const void *, void (*)(const void *, VISIT, int)); + +typedef struct node_t { + char *key; + struct node_t *left, *right; +} node; + +/* find or insert datum into search tree */ +void * +tsearch(const void *vkey, void **vrootp, + int (*compar)(const void *, const void *)) +{ + node *q; + char *key = (char *)vkey; + node **rootp = (node **)vrootp; + + if (rootp == (struct node_t **)0) + return ((void *)0); + while (*rootp != (struct node_t *)0) { /* Knuth's T1: */ + int r; + + if ((r = (*compar)(key, (*rootp)->key)) == 0) /* T2: */ + return ((void *)*rootp); /* we found it! */ + rootp = (r < 0) ? + &(*rootp)->left : /* T3: follow left branch */ + &(*rootp)->right; /* T4: follow right branch */ + } + q = (node *) malloc(sizeof(node)); /* T5: key not found */ + if (q != (struct node_t *)0) { /* make new node */ + *rootp = q; /* link new node to old */ + q->key = key; /* initialize new node */ + q->left = q->right = (struct node_t *)0; + } + return ((void *)q); +} + +/* delete node with given key */ +void * +tdelete(const void *vkey, void **vrootp, + int (*compar)(const void *, const void *)) +{ + node **rootp = (node **)vrootp; + char *key = (char *)vkey; + node *p = (node *)1; + node *q; + node *r; + int cmp; + + if (rootp == (struct node_t **)0 || *rootp == (struct node_t *)0) + return ((struct node_t *)0); + while ((cmp = (*compar)(key, (*rootp)->key)) != 0) { + p = *rootp; + rootp = (cmp < 0) ? + &(*rootp)->left : /* follow left branch */ + &(*rootp)->right; /* follow right branch */ + if (*rootp == (struct node_t *)0) + return ((void *)0); /* key not found */ + } + r = (*rootp)->right; /* D1: */ + if ((q = (*rootp)->left) == (struct node_t *)0) /* Left (struct node_t *)0? */ + q = r; + else if (r != (struct node_t *)0) { /* Right link is null? */ + if (r->left == (struct node_t *)0) { /* D2: Find successor */ + r->left = q; + q = r; + } else { /* D3: Find (struct node_t *)0 link */ + for (q = r->left; q->left != (struct node_t *)0; q = r->left) + r = q; + r->left = q->right; + q->left = (*rootp)->left; + q->right = (*rootp)->right; + } + } + free((struct node_t *) *rootp); /* D4: Free node */ + *rootp = q; /* link parent to new node */ + return(p); +} + +/* Walk the nodes of a tree */ +static void +trecurse(node *root, void (*action)(const void *, VISIT, int), int level) +{ + if (root->left == (struct node_t *)0 && root->right == (struct node_t *)0) + (*action)(root, leaf, level); + else { + (*action)(root, preorder, level); + if (root->left != (struct node_t *)0) + trecurse(root->left, action, level + 1); + (*action)(root, postorder, level); + if (root->right != (struct node_t *)0) + trecurse(root->right, action, level + 1); + (*action)(root, endorder, level); + } +} + +/* Walk the nodes of a tree */ +void +twalk(const void *vroot, void (*action)(const void *, VISIT, int)) +{ + node *root = (node *)vroot; + + if (root != (node *)0 && action != (void (*)(const void *, VISIT, int))0) + trecurse(root, action, 0); +} + +/* find a node, or return 0 */ +void * +tfind(const void *vkey, void * const *vrootp, + int (*compar)(const void *, const void *)) +{ + char *key = (char *)vkey; + node **rootp = (node **)vrootp; + + if (rootp == (struct node_t **)0) + return ((struct node_t *)0); + while (*rootp != (struct node_t *)0) { /* T1: */ + int r; + if ((r = (*compar)(key, (*rootp)->key)) == 0) /* T2: */ + return (*rootp); /* key found */ + rootp = (r < 0) ? + &(*rootp)->left : /* T3: follow left branch */ + &(*rootp)->right; /* T4: follow right branch */ + } + return (node *)0; +} + +#endif + +static ndpi_default_ports_tree_node_t *tcpRoot = NULL, *udpRoot = NULL; + +/* Forward */ +static void addDefaultPort(u_int16_t port, ndpi_proto_defaults_t *def, ndpi_default_ports_tree_node_t **root); u_int32_t ndpi_detection_get_sizeof_ndpi_flow_struct(void) { @@ -96,73 +249,52 @@ { if(ndpi_struct != NULL) { int i; - + for(i=0; i<NDPI_MAX_SUPPORTED_PROTOCOLS; i++) { - if(ndpi_struct->proto_defaults[i].protoName) free(ndpi_struct->proto_defaults[i].protoName); - if(ndpi_struct->proto_defaults[i].tcpDefaultPorts) free(ndpi_struct->proto_defaults[i].tcpDefaultPorts); - if(ndpi_struct->proto_defaults[i].udpDefaultPorts) free(ndpi_struct->proto_defaults[i].udpDefaultPorts); + if(ndpi_struct->proto_defaults[i].protoName) + free(ndpi_struct->proto_defaults[i].protoName); } ndpi_free(ndpi_struct); } } -u_int16_t* ndpi_build_default_ports(u_int16_t portA, u_int16_t portB, u_int16_t portC) { - u_int8_t num = 0, i; - u_int16_t *ret; - - if(portA != 0) { - num++; - - if(portB != 0) { - num++; - - if(portC != 0) - num++; - } - } - - if(num >= MAX_DEFAULT_PORTS) { - printf("%s(%d) internal error\n", __FUNCTION__, num); - num = MAX_DEFAULT_PORTS-1; - } +/* ******************************************************************** */ - if(num == 0) return(NULL); +u_int16_t* ndpi_build_default_ports(u_int16_t *ports, + u_int16_t portA, u_int16_t portB, u_int16_t portC, + u_int16_t portD, u_int16_t portE) { + int i = 0; - ret = (u_int16_t*)malloc(sizeof(u_int16_t)*(num+1)); - if(ret == NULL) return(ret); + ports[i++] = portA; + ports[i++] = portB; + ports[i++] = portC; + ports[i++] = portD; + ports[i++] = portE; - ret[0] = portA; - if(portB != 0) - ret[1] = portB; - else { - ret[1] = 0; - return(ret); - } - - if(portC != 0) - ret[2] = portC, ret[3] = 0; - else { - ret[2] = 0; - return(ret); - } - - return(ret); + return(ports); } +/* ******************************************************************** */ + static void ndpi_set_proto_defaults(struct ndpi_detection_module_struct *ndpi_mod, u_int16_t protoId, char *protoName, u_int16_t *tcpDefPorts, u_int16_t *udpDefPorts) { char *name = strdup(protoName); + int j; if(protoId >= NDPI_MAX_SUPPORTED_PROTOCOLS) { printf("[NDPI] %s(protoId=%d): INTERNAL ERROR\n", __FUNCTION__, protoId); return; } - ndpi_mod->proto_defaults[protoId].protoName = name; - ndpi_mod->proto_defaults[protoId].tcpDefaultPorts = tcpDefPorts, - ndpi_mod->proto_defaults[protoId].udpDefaultPorts = udpDefPorts; + ndpi_mod->proto_defaults[protoId].protoName = name, + ndpi_mod->proto_defaults[protoId].protoId = protoId; + + for(j=0; j<MAX_DEFAULT_PORTS; j++) { + if(udpDefPorts[j] != 0) addDefaultPort(udpDefPorts[j], &ndpi_mod->proto_defaults[protoId], &udpRoot); + if(tcpDefPorts[j] != 0) addDefaultPort(tcpDefPorts[j], &ndpi_mod->proto_defaults[protoId], &tcpRoot); + } #if 0 printf("%s(%d, %s, %p) [%s]\n", @@ -174,182 +306,352 @@ #endif } +/* ******************************************************************** */ + +static int ndpi_default_ports_tree_node_t_cmp(const void *a, const void *b) { + ndpi_default_ports_tree_node_t *fa = (ndpi_default_ports_tree_node_t*)a; + ndpi_default_ports_tree_node_t *fb = (ndpi_default_ports_tree_node_t*)b; + + // printf("[NDPI] %s(%d, %d)\n", __FUNCTION__, fa->default_port, fb->default_port); + + return((fa->default_port == fb->default_port) ? 0 : ((fa->default_port < fb->default_port) ? -1 : 1)); +} + +/* ******************************************************************** */ + +void ndpi_default_ports_tree_node_t_walker(const void *node, const VISIT which, const int depth) { + ndpi_default_ports_tree_node_t *f = *(ndpi_default_ports_tree_node_t **)node; + + + printf("<%d>Walk on node %s (%u)\n", + depth, + which == preorder?"preorder": + which == postorder?"postorder": + which == endorder?"endorder": + which == leaf?"leaf": "unknown", + f->default_port); +} + +/* ******************************************************************** */ + +static void addDefaultPort(u_int16_t port, ndpi_proto_defaults_t *def, ndpi_default_ports_tree_node_t **root) { + ndpi_default_ports_tree_node_t *node = (ndpi_default_ports_tree_node_t*)malloc(sizeof(ndpi_default_ports_tree_node_t)); + + // printf("[NDPI] %s(%d)\n", __FUNCTION__, port); + + if(!node) { + printf("[NDPI] %s(): not enough memory\n", __FUNCTION__); + } else { + ndpi_default_ports_tree_node_t *ret; + + node->proto = def, node->default_port = port; + ret = *(ndpi_default_ports_tree_node_t**)tsearch(node, (void*)root, ndpi_default_ports_tree_node_t_cmp); /* Add it to the tree */ + + if(ret != node) { + printf("[NDPI] %s(): found duplicate for port %u\n", __FUNCTION__, port); + free(node); + } + } +} + +/* ******************************************************************** */ + /* This function is used to map protocol name and default ports and it MUST be updated whenever a new protocol is added to NDPI */ static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndpi_mod) { int i; + u_int16_t ports_a[MAX_DEFAULT_PORTS] , ports_b[MAX_DEFAULT_PORTS]; /* Reset all settings */ memset(ndpi_mod->proto_defaults, 0, sizeof(ndpi_mod->proto_defaults)); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_UNKNOWN, "UNKNOWN", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FTP, "FTP", ndpi_build_default_ports(20, 21, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MAIL_POP, "MAIL_POP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MAIL_SMTP, "MAIL_SMTP", ndpi_build_default_ports(25, 465, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MAIL_IMAP, "MAIL_IMAP", ndpi_build_default_ports(143, 993, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DNS, "DNS", ndpi_build_default_ports(53, 0, 0) /* TCP */, ndpi_build_default_ports(53, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IPP, "IPP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP, "HTTP", ndpi_build_default_ports(80, 3000 /* ntop */, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MDNS, "MDNS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(5353, 5354, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NTP, "NTP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NETBIOS, "NETBIOS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(137, 138, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NFS, "NFS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SSDP, "SSDP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_BGP, "BGP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SNMP, "SNMP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(161, 162, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_XDMCP, "XDMCP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SMB, "SMB", ndpi_build_default_ports(445, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SYSLOG, "SYSLOG", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DHCP, "DHCP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(67, 68, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_POSTGRES, "POSTGRES", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MYSQL, "MYSQL", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TDS, "TDS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK, "DIRECT_DOWNLOAD_LINK", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_I23V5, "I23V5", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_APPLEJUICE, "APPLEJUICE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DIRECTCONNECT, "DIRECTCONNECT", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SOCRATES, "SOCRATES", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WINMX, "WINMX", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MANOLITO, "MANOLITO", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PANDO, "PANDO", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FILETOPIA, "FILETOPIA", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IMESH, "IMESH", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_KONTIKI, "KONTIKI", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OPENFT, "OPENFT", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FASTTRACK, "FASTTRACK", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GNUTELLA, "GNUTELLA", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_EDONKEY, "EDONKEY", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_BITTORRENT, "BITTORRENT", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OFF, "OFF", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_AVI, "AVI", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FLASH, "FLASH", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OGG, "OGG", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MPEG, "MPEG", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_QUICKTIME, "QUICKTIME", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_REALMEDIA, "REALMEDIA", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WINDOWSMEDIA, "WINDOWSMEDIA", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MMS, "MMS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_XBOX, "XBOX", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_QQ, "QQ", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MOVE, "MOVE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_RTSP, "RTSP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FEIDIAN, "FEIDIAN", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ICECAST, "ICECAST", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PPLIVE, "PPLIVE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PPSTREAM, "PPSTREAM", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ZATTOO, "ZATTOO", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SHOUTCAST, "SHOUTCAST", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SOPCAST, "SOPCAST", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TVANTS, "TVANTS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TVUPLAYER, "TVUPLAYER", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP_APPLICATION_VEOHTV, "HTTP_APPLICATION_VEOHTV", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_QQLIVE, "QQLIVE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_THUNDER, "THUNDER", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SOULSEEK, "SOULSEEK", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GADUGADU, "GADUGADU", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IRC, "IRC", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_POPO, "POPO", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_UNENCRYPED_JABBER, "UNENCRYPED_JABBER", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MSN, "MSN", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OSCAR, "OSCAR", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_YAHOO, "YAHOO", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_BATTLEFIELD, "BATTLEFIELD", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_QUAKE, "QUAKE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SECONDLIFE, "SECONDLIFE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_STEAM, "STEAM", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HALFLIFE2, "HALFLIFE2", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WORLDOFWARCRAFT, "WORLDOFWARCRAFT", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TELNET, "TELNET", ndpi_build_default_ports(23, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_STUN, "STUN", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IPSEC, "IPSEC", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GRE, "GRE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ICMP, "ICMP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IGMP, "IGMP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_EGP, "EGP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SCTP, "SCTP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OSPF, "OSPF", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IP_IN_IP, "IP_IN_IP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_RTP, "RTP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_RDP, "RDP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_VNC, "VNC", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PCANYWHERE, "PCANYWHERE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SSL, "SSL", ndpi_build_default_ports(443, 3001 /* ntop */, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SSH, "SSH", ndpi_build_default_ports(22, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_USENET, "USENET", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MGCP, "MGCP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IAX, "IAX", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TFTP, "TFTP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_AFP, "AFP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_STEALTHNET, "STEALTHNET", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_AIMINI, "AIMINI", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SIP, "SIP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TRUPHONE, "TRUPHONE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ICMPV6, "ICMPV6", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DHCPV6, "DHCPV6", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ARMAGETRON, "ARMAGETRON", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_CROSSFIRE, "CROSSFIRE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DOFUS, "DOFUS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FIESTA, "FIESTA", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FLORENSIA, "FLORENSIA", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GUILDWARS, "GUILDWARS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP_APPLICATION_ACTIVESYNC, "HTTP_APPLICATION_ACTIVESYNC", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_KERBEROS, "KERBEROS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_LDAP, "LDAP", ndpi_build_default_ports(389, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MAPLESTORY, "MAPLESTORY", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MSSQL, "MSSQL", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PPTP, "PPTP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WARCRAFT3, "WARCRAFT3", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WORLD_OF_KUNG_FU, "WORLD_OF_KUNG_FU", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MEEBO, "MEEBO", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FACEBOOK, "FACEBOOK", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TWITTER, "TWITTER", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DROPBOX, "DROPBOX", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GMAIL, "GMAIL", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GOOGLE_MAPS, "GOOGLE_MAPS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_YOUTUBE, "YOUTUBE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SKYPE, "SKYPE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GOOGLE, "GOOGLE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DCERPC, "DCERPC", ndpi_build_default_ports(135, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NETFLOW, "NETFLOW", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SFLOW, "SFLOW", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP_CONNECT, "HTTP_CONNECT", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP_PROXY, "HTTP_PROXY", ndpi_build_default_ports(8080, 3128, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_CITRIX, "CITRIX", ndpi_build_default_ports(1494, 2598, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NETFLIX, "NETFLIX", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_LASTFM, "LASTFM", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GROOVESHARK, "GROOVESHARK", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SKYFILE_PREPAID, "SKYFILE_PREPAID", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SKYFILE_RUDICS, "SKYFILE_RUDICS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SKYFILE_POSTPAID, "SKYFILE_POSTPAID", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_CITRIX_ONLINE, "CITRIX_ONLINE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_APPLE, "APPLE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WEBEX, "WEBEX", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WHATSAPP, "WHATSAPP", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_APPLE_ICLOUD, "APPLE_ICLOUD", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_VIBER, "VIBER", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_APPLE_ITUNES, "APPLE_ITUNES", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_RADIUS, "RADIUS", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WINDOWS_UPDATE, "WINDOWS_UPDATE", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TEAMVIEWER, "TEAMVIEWER", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TUENTI, "TUENTI", ndpi_build_default_ports(0, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_LOTUS_NOTES, "LotusNotes", ndpi_build_default_ports(1352, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); - ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SAP, "SAP", ndpi_build_default_ports(3201, 0, 0) /* TCP */, ndpi_build_default_ports(0, 0, 0) /* UDP */); /* Missing dissector: port based only */ + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_UNKNOWN, "UNKNOWN", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FTP, "FTP", ndpi_build_default_ports(ports_a, 20, 21, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MAIL_POP, "MAIL_POP", ndpi_build_default_ports(ports_a, 110, 995, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MAIL_SMTP, "MAIL_SMTP", ndpi_build_default_ports(ports_a, 25, 465, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MAIL_IMAP, "MAIL_IMAP", ndpi_build_default_ports(ports_a, 143, 993, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DNS, "DNS", ndpi_build_default_ports(ports_a, 53, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 53, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IPP, "IPP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP, "HTTP", ndpi_build_default_ports(ports_a, 80, 3000 /* ntop */, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MDNS, "MDNS", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 5353, 5354, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NTP, "NTP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 123, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NETBIOS, "NETBIOS", ndpi_build_default_ports(ports_a, 139, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 137, 138, 139, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NFS, "NFS", ndpi_build_default_ports(ports_a, 2049, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 2049, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SSDP, "SSDP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_BGP, "BGP", ndpi_build_default_ports(ports_a, 2605, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SNMP, "SNMP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 161, 162, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_XDMCP, "XDMCP", ndpi_build_default_ports(ports_a, 177, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 177, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SMB, "SMB", ndpi_build_default_ports(ports_a, 445, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SYSLOG, "SYSLOG", ndpi_build_default_ports(ports_a, 514, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 514, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DHCP, "DHCP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 67, 68, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_POSTGRES, "POSTGRES", ndpi_build_default_ports(ports_a, 5432, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MYSQL, "MYSQL", ndpi_build_default_ports(ports_a, 3306, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TDS, "TDS", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK, "DIRECT_DOWNLOAD_LINK", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_I23V5, "I23V5", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_APPLEJUICE, "APPLEJUICE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DIRECTCONNECT, "DIRECTCONNECT", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SOCRATES, "SOCRATES", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WINMX, "WINMX", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MANOLITO, "MANOLITO", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PANDO, "PANDO", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FILETOPIA, "FILETOPIA", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IMESH, "IMESH", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_KONTIKI, "KONTIKI", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OPENFT, "OPENFT", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FASTTRACK, "FASTTRACK", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GNUTELLA, "GNUTELLA", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_EDONKEY, "EDONKEY", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_BITTORRENT, "BITTORRENT", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OFF, "OFF", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_AVI, "AVI", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FLASH, "FLASH", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OGG, "OGG", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MPEG, "MPEG", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_QUICKTIME, "QUICKTIME", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_REALMEDIA, "REALMEDIA", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WINDOWSMEDIA, "WINDOWSMEDIA", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MMS, "MMS", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_XBOX, "XBOX", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_QQ, "QQ", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MOVE, "MOVE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_RTSP, "RTSP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 554, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FEIDIAN, "FEIDIAN", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ICECAST, "ICECAST", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PPLIVE, "PPLIVE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PPSTREAM, "PPSTREAM", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ZATTOO, "ZATTOO", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SHOUTCAST, "SHOUTCAST", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SOPCAST, "SOPCAST", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TVANTS, "TVANTS", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TVUPLAYER, "TVUPLAYER", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP_APPLICATION_VEOHTV, "HTTP_APPLICATION_VEOHTV", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_QQLIVE, "QQLIVE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_THUNDER, "THUNDER", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SOULSEEK, "SOULSEEK", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GADUGADU, "GADUGADU", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IRC, "IRC", ndpi_build_default_ports(ports_a, 194, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 194, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_POPO, "POPO", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_UNENCRYPED_JABBER, "UNENCRYPED_JABBER", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MSN, "MSN", ndpi_build_default_ports(ports_a, 1863, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OSCAR, "OSCAR", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_YAHOO, "YAHOO", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_BATTLEFIELD, "BATTLEFIELD", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_QUAKE, "QUAKE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SECONDLIFE, "SECONDLIFE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_STEAM, "STEAM", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HALFLIFE2, "HALFLIFE2", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WORLDOFWARCRAFT, "WORLDOFWARCRAFT", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TELNET, "TELNET", ndpi_build_default_ports(ports_a, 23, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_STUN, "STUN", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IPSEC, "IPSEC", ndpi_build_default_ports(ports_a, 500, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 500, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GRE, "GRE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ICMP, "ICMP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IGMP, "IGMP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_EGP, "EGP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SCTP, "SCTP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_OSPF, "OSPF", ndpi_build_default_ports(ports_a, 2604, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IP_IN_IP, "IP_IN_IP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_RTP, "RTP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_RDP, "RDP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_VNC, "VNC", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PCANYWHERE, "PCANYWHERE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SSL, "SSL", ndpi_build_default_ports(ports_a, 443, 3001 /* ntop */, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SSH, "SSH", ndpi_build_default_ports(ports_a, 22, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_USENET, "USENET", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MGCP, "MGCP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_IAX, "IAX", ndpi_build_default_ports(ports_a, 4569, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 4569, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TFTP, "TFTP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_AFP, "AFP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_STEALTHNET, "STEALTHNET", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_AIMINI, "AIMINI", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SIP, "SIP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 5060, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TRUPHONE, "TRUPHONE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ICMPV6, "ICMPV6", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DHCPV6, "DHCPV6", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ARMAGETRON, "ARMAGETRON", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_CROSSFIRE, "CROSSFIRE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DOFUS, "DOFUS", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FIESTA, "FIESTA", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FLORENSIA, "FLORENSIA", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GUILDWARS, "GUILDWARS", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP_APPLICATION_ACTIVESYNC, "HTTP_APPLICATION_ACTIVESYNC", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_KERBEROS, "KERBEROS", ndpi_build_default_ports(ports_a, 88, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 88, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_LDAP, "LDAP", ndpi_build_default_ports(ports_a, 389, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MAPLESTORY, "MAPLESTORY", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MSSQL, "MSSQL", ndpi_build_default_ports(ports_a, 1433, 1434, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_PPTP, "PPTP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WARCRAFT3, "WARCRAFT3", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WORLD_OF_KUNG_FU, "WORLD_OF_KUNG_FU", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_MEEBO, "MEEBO", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_FACEBOOK, "FACEBOOK", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TWITTER, "TWITTER", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DROPBOX, "DROPBOX", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 17500 /* LanSync */, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GMAIL, "GMAIL", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GOOGLE_MAPS, "GOOGLE_MAPS", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_YOUTUBE, "YOUTUBE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SKYPE, "SKYPE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GOOGLE, "GOOGLE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_DCERPC, "DCERPC", ndpi_build_default_ports(ports_a, 135, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NETFLOW, "NETFLOW", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 2055, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SFLOW, "SFLOW", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 6343, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP_CONNECT, "HTTP_CONNECT", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_HTTP_PROXY, "HTTP_PROXY", ndpi_build_default_ports(ports_a, 8080, 3128, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_CITRIX, "CITRIX", ndpi_build_default_ports(ports_a, 1494, 2598, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_NETFLIX, "NETFLIX", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_LASTFM, "LASTFM", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GROOVESHARK, "GROOVESHARK", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SKYFILE_PREPAID, "SKYFILE_PREPAID", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SKYFILE_RUDICS, "SKYFILE_RUDICS", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SKYFILE_POSTPAID, "SKYFILE_POSTPAID", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_CITRIX_ONLINE, "CITRIX_ONLINE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_APPLE, "APPLE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WEBEX, "WEBEX", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WHATSAPP, "WHATSAPP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_APPLE_ICLOUD, "APPLE_ICLOUD", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_VIBER, "VIBER", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_APPLE_ITUNES, "APPLE_ITUNES", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_RADIUS, "RADIUS", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_WINDOWS_UPDATE, "WINDOWS_UPDATE", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TEAMVIEWER, "TEAMVIEWER", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_TUENTI, "TUENTI", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_LOTUS_NOTES, "LotusNotes", ndpi_build_default_ports(ports_a, 1352, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SAP, "SAP", ndpi_build_default_ports(ports_a, 3201, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */ + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_GTP, "GTP", ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 2152, 2123, 0, 0, 0) /* UDP */); + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_UPNP, "UPnP", ndpi_build_default_ports(ports_a, 1780, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 1900, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */ + + /* http://en.wikipedia.org/wiki/Link-local_Multicast_Name_Resolution */ + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_LLMNR, "LLMNR", ndpi_build_default_ports(ports_a, 5355, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 5355, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */ + ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_REMOTE_SCAN, "RemoteScan", ndpi_build_default_ports(ports_a, 6077, 0, 0, 0, 0) /* TCP */, ndpi_build_default_ports(ports_b, 6078, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */ for(i=0; i<NDPI_MAX_SUPPORTED_PROTOCOLS; i++) { if(ndpi_mod->proto_defaults[i].protoName == NULL) { printf("[NDPI] %s(missing protoId=%d) INTERNAL ERROR: not all protocols have been initialized\n", __FUNCTION__, i); - } else { - int debug = 0; + } + } +} + +/* ******************************************************************** */ + +static int add_proto_default_port(u_int16_t **ports, u_int16_t new_port, ndpi_proto_defaults_t *def, ndpi_default_ports_tree_node_t *root) { + u_int num_ports, i; + + if(*ports == NULL) { + addDefaultPort(new_port, def, &root); + return(0); + } + + for(num_ports=0; (*ports)[num_ports] != 0; num_ports++) + ; + + if(num_ports >= MAX_DEFAULT_PORTS) { + printf("Too many ports defined: ignored port %d\n", new_port); + return(-1); + } else { + u_int16_t *new_ports = (u_int16_t*)malloc(num_ports+1); + + if(new_ports == NULL) { + printf("Not enough memory\n"); + return(-2); + } + + for(i=0; i<num_ports; i++) + new_ports[i] = (*ports)[i]; + + new_ports[i++] = new_port; + new_ports[i++] = 0; + + free(*ports); + *ports = new_ports; + + addDefaultPort(new_port, def, &root); + return(0); + } +} + +/* ******************************************************************** */ + +/* + Format: + <tcp|udp>:<port>,<tcp|udp>:<port>,.....@<proto> + + Example: + tcp:80,tcp:3128@HTTP + udp:139@NETBIOS + + */ +int ndpi_load_protocols_file(struct ndpi_detection_module_struct *ndpi_mod, char* path) { + FILE *fd = fopen(path, "r"); + + if(fd == NULL) { + printf("Unable to open file %s [%s]", path, strerror(errno)); + return(-1); + } + + while(fd) { + char buffer[512], *line, *at, *proto, *elem, *holder; + ndpi_proto_defaults_t *def; + int i; + + if(!(line = fgets(buffer, sizeof(buffer), fd))) + break; + + if(((i = strlen(line)) <= 1) || (line[0] == '#')) + continue; + else + line[i-1] = '\0'; + + at = strchr(line, '@'); + if(at == NULL) { + printf("Invalid line '%s'\n", line); + continue; + } else + at[0] = 0, proto = &at[1]; + + for(i=0, def = NULL; i<NDPI_MAX_SUPPORTED_PROTOCOLS; i++) { + if(strcmp(ndpi_mod->proto_defaults[i].protoName, proto) == 0) { + def = &ndpi_mod->proto_defaults[i]; + break; + } + } + + if(def == NULL) { + printf("Skipping unknown protocol '%s'\n", proto); + continue; + } + + elem = strtok_r(line, ",", &holder); + while(elem != NULL) { + char *port; + + if((elem[0] != 't') && (elem[0] != 'u')) { + printf("Invalid protocol definition (tcp or udp) %s", elem); + continue; + } + + if(elem[3] != ':') { + printf("Invalid port definition %s", elem); + continue; + } - if(debug) - printf("[NDPI] (%p) %d/%s [%p/%p]\n", ndpi_mod, i, ndpi_mod->proto_defaults[i].protoName, - ndpi_mod->proto_defaults[i].tcpDefaultPorts, - ndpi_mod->proto_defaults[i].udpDefaultPorts); + port = &elem[4]; + addDefaultPort(atoi(port), def, (elem[0] == 't' /* TCP */) ? &tcpRoot : &udpRoot); + elem = strtok_r(NULL, ",", &holder); } } + + fclose(fd); + +#if 0 + printf("\nTCP:\n"); + twalk(tcpRoot, ndpi_default_ports_tree_node_t_walker); + printf("\nUDP:\n"); + twalk(udpRoot, ndpi_default_ports_tree_node_t_walker); +#endif } +/* ******************************************************************** */ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *ndpi_struct, const NDPI_PROTOCOL_BITMASK * dbm) @@ -2023,6 +2325,19 @@ } #endif +#ifdef NDPI_PROTOCOL_GTP + if (NDPI_COMPARE_PROTOCOL_TO_BITMASK(*detection_bitmask, NDPI_PROTOCOL_GTP) != 0) { + ndpi_struct->callback_buffer[a].func = ndpi_search_gtp; + ndpi_struct->callback_buffer[a].ndpi_selection_bitmask = + NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION; + + NDPI_SAVE_AS_BITMASK(ndpi_struct->callback_buffer[a].detection_bitmask, NDPI_PROTOCOL_UNKNOWN); + NDPI_ADD_PROTOCOL_TO_BITMASK(ndpi_struct->callback_buffer[a].detection_bitmask, NDPI_PROTOCOL_GTP); + NDPI_SAVE_AS_BITMASK(ndpi_struct->callback_buffer[a].excluded_protocol_bitmask, NDPI_PROTOCOL_GTP); + a++; + } +#endif + #ifdef NDPI_PROTOCOL_DCERPC if (NDPI_COMPARE_PROTOCOL_TO_BITMASK(*detection_bitmask, NDPI_PROTOCOL_DCERPC) != 0) { ndpi_struct->callback_buffer[a].func = ndpi_search_dcerpc; @@ -3823,24 +4138,20 @@ u_int8_t proto, u_int32_t shost, u_int16_t sport, u_int32_t dhost, u_int16_t dport) { - int i; + const void *ret; + ndpi_default_ports_tree_node_t node; - // printf("ndpi_guess_undetected_protocol (proto=%d, %d -> %d)\n", proto, sport, dport); + node.default_port = sport; + ret = tfind(&node, (proto == IPPROTO_TCP) ? (void*)&tcpRoot : (void*)&udpRoot, ndpi_default_ports_tree_node_t_cmp); - for(i=0; i<NDPI_MAX_SUPPORTED_PROTOCOLS; i++) { - u_int16_t *defaultPorts; - - defaultPorts = (proto == IPPROTO_TCP) ? ndpi_struct->proto_defaults[i].tcpDefaultPorts : ndpi_struct->proto_defaults[i].udpDefaultPorts; - - if(defaultPorts != NULL) { - int j; + if(ret == NULL) { + node.default_port = dport; + ret = tfind(&node, (proto == IPPROTO_TCP) ? (void*)&tcpRoot : (void*)&udpRoot, ndpi_default_ports_tree_node_t_cmp); + } - for(j=0; j<MAX_DEFAULT_PORTS; j++) { - if(defaultPorts[j] == 0) break; - if(is_port(sport, dport, defaultPorts[j])) - return(i /* protocolId */); - } - } + if(ret != NULL) { + ndpi_default_ports_tree_node_t *found = *(ndpi_default_ports_tree_node_t**)ret; + return(found->proto->protoId); } return(NDPI_PROTOCOL_UNKNOWN); | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/afp.c ^ |
@@ -1,22 +1,25 @@ /* * afp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/aimini.c ^ |
@@ -1,22 +1,24 @@ /* * aimini.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/applejuice.c ^ |
@@ -1,22 +1,24 @@ /* * applejuice.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/armagetron.c ^ |
@@ -1,23 +1,25 @@ /* * armagetron.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/battlefield.c ^ |
@@ -1,23 +1,25 @@ /* * battlefield.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/bgp.c ^ |
@@ -1,23 +1,25 @@ /* * bgp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/bittorrent.c ^ |
@@ -1,23 +1,25 @@ /* * bittorrent.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/citrix.c ^ |
@@ -1,19 +1,23 @@ /* * citrix.c - * Copyright (C) 2012 by ntop.org * - * This module is free software: you can redistribute it and/or modify + * Copyright (C) 2012-13 - 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. * - * This module is distributed in the hope that it will be useful, + * 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. - * If not, see <http://www.gnu.org/licenses/>. + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/crossfire.c ^ |
@@ -1,23 +1,24 @@ /* * crossfire.c - * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * + * Copyright (C) 2012-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/dcerpc.c ^ |
@@ -1,19 +1,23 @@ /* * dcerpc.c - * Copyright (C) 2011 by ntop.org - * - * This module is free software: you can redistribute it and/or modify + * + * Copyright (C) 2011-13 by 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. - * - * This module is distributed in the hope that it will be useful, + * + * 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. - * If not, see <http://www.gnu.org/licenses/>. + * + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/dhcp.c ^ |
@@ -1,22 +1,24 @@ /* * dhcp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/dhcpv6.c ^ |
@@ -1,23 +1,25 @@ /* * dhcpv6.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/directconnect.c ^ |
@@ -1,23 +1,25 @@ /* * directconnect.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/directdownloadlink.c ^ |
@@ -1,23 +1,25 @@ /* * directdownloadlink.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/dns.c ^ |
@@ -1,6 +1,23 @@ /* * dns.c - * Copyright (C) 2012 ntop.org + * + * Copyright (C) 2012-13 - 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/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/dofus.c ^ |
@@ -1,23 +1,25 @@ /* * dofus.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/dropbox.c ^ |
@@ -1,19 +1,23 @@ /* * dropbox.c - * Copyright (C) 2011 by ntop.org - * - * This module is free software: you can redistribute it and/or modify + * + * Copyright (C) 2011-13 by 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. - * - * This module is distributed in the hope that it will be useful, + * + * 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. - * If not, see <http://www.gnu.org/licenses/>. + * + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/edonkey.c ^ |
@@ -1,23 +1,25 @@ /* * edonkey.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ #include "ndpi_protocols.h" | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/fasttrack.c ^ |
@@ -1,23 +1,25 @@ /* * fasttrack.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/feidian.c ^ |
@@ -1,23 +1,25 @@ /* * feidian.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/fiesta.c ^ |
@@ -1,23 +1,25 @@ /* * fiesta.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/filetopia.c ^ |
@@ -1,23 +1,25 @@ /* * filetopia.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/flash.c ^ |
@@ -1,22 +1,24 @@ /* * flash.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/florensia.c ^ |
@@ -1,23 +1,25 @@ /* * florensia.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/ftp.c ^ |
@@ -1,22 +1,24 @@ /* * ftp.c + * * Copyright (C) 2009-2011 by ipoque GmbH + * Copyright (C) 2011-13 - ntop.org * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH + * This file is part of nDPI, an open source deep packet inspection + * library based on the OpenDPI and PACE technology by ipoque GmbH * - * OpenDPI is free software: you can redistribute it and/or modify + * 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. * - * OpenDPI is distributed in the hope that it will be useful, + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/gadu_gadu.c ^ |
@@ -1,23 +1,25 @@ /* * gadu_gadu.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/gnutella.c ^ |
@@ -1,22 +1,24 @@ /* * gnutella.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Added | nDPI.tar.bz2/src/lib/protocols/gtp.c ^ |
@@ -0,0 +1,81 @@ +/* + * gtp.c + * + * Copyright (C) 2011-13 - ntop.org + * + * 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/>. + * + */ + + +#include "ndpi_utils.h" + +#ifdef NDPI_PROTOCOL_GTP + +struct gtp_header_generic { + u_int8_t flags, message_type; + u_int16_t message_len; + u_int32_t teid; +}; + +static void ndpi_check_gtp(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow) +{ + struct ndpi_packet_struct *packet = &flow->packet; + + 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); + + if((packet->udp->source == gtp_u) || (packet->udp->dest == gtp_u) + || (packet->udp->source == gtp_c) || (packet->udp->dest == gtp_c)) { + struct gtp_header_generic *gtp = (struct gtp_header_generic*)packet->payload; + u_int8_t gtp_version = gtp->flags & 0xE0; + + if((gtp_version == 1) || (gtp_version == 2)) { + if(ntohs(gtp->message_len) <= (payload_len+sizeof(struct gtp_header_generic))) { + NDPI_LOG(NDPI_PROTOCOL_GTP, ndpi_struct, NDPI_LOG_DEBUG, "Found gtp.\n"); + ndpi_int_add_connection(ndpi_struct, flow, NDPI_PROTOCOL_GTP, NDPI_REAL_PROTOCOL); + return; + } + } + } + } + + NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_GTP); + return; +} + +void ndpi_search_gtp(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow) +{ + struct ndpi_packet_struct *packet = &flow->packet; + + NDPI_LOG(NDPI_PROTOCOL_GTP, ndpi_struct, NDPI_LOG_DEBUG, "gtp detection...\n"); + + /* skip marked packets */ + if(packet->detected_protocol_stack[0] != NDPI_PROTOCOL_GTP) + ndpi_check_gtp(ndpi_struct, flow); +} + +#endif | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/guildwars.c ^ |
@@ -1,22 +1,24 @@ /* * guildwars.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/halflife2_and_mods.c ^ |
@@ -1,23 +1,25 @@ /* * halflife2_and_mods.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/http.c ^ |
@@ -1,23 +1,25 @@ /* * http.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/http_activesync.c ^ |
@@ -1,23 +1,25 @@ /* * http_activesync.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/i23v5.c ^ |
@@ -1,22 +1,24 @@ /* * i23v5.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/iax.c ^ |
@@ -1,22 +1,24 @@ /* * iax.c + * * Copyright (C) 2009-2011 by ipoque GmbH + * Copyright (C) 2011-13 - ntop.org * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH + * This file is part of nDPI, an open source deep packet inspection + * library based on the OpenDPI and PACE technology by ipoque GmbH * - * OpenDPI is free software: you can redistribute it and/or modify + * 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. * - * OpenDPI is distributed in the hope that it will be useful, + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/icecast.c ^ |
@@ -1,22 +1,24 @@ /* * icecast.c + * * Copyright (C) 2009-2011 by ipoque GmbH + * Copyright (C) 2011-13 - ntop.org * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH + * This file is part of nDPI, an open source deep packet inspection + * library based on the OpenDPI and PACE technology by ipoque GmbH * - * OpenDPI is free software: you can redistribute it and/or modify + * 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. * - * OpenDPI is distributed in the hope that it will be useful, + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/imesh.c ^ |
@@ -1,22 +1,24 @@ /* * imesh.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/ipp.c ^ |
@@ -1,22 +1,24 @@ /* * ipp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/irc.c ^ |
@@ -1,22 +1,24 @@ /* * irc.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/jabber.c ^ |
@@ -1,22 +1,24 @@ /* * jabber.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/kerberos.c ^ |
@@ -1,22 +1,24 @@ /* * kerberos.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/kontiki.c ^ |
@@ -1,22 +1,24 @@ /* * kontiki.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/ldap.c ^ |
@@ -1,22 +1,24 @@ /* * ldap.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/lotus_notes.c ^ |
@@ -1,19 +1,20 @@ /* * lotus_notes.c - * Copyright (C) 2012 by ntop.org * - * This module is free software: you can redistribute it and/or modify + * Copyright (C) 2012-13 - ntop.org + * + * 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. * - * This module is distributed in the hope that it will be useful, + * 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. - * If not, see <http://www.gnu.org/licenses/>. + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/mail_imap.c ^ |
@@ -1,23 +1,25 @@ /* * mail_imap.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/mail_pop.c ^ |
@@ -1,22 +1,24 @@ /* * mail_pop.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/mail_smtp.c ^ |
@@ -1,22 +1,24 @@ /* * mail_smtp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/manolito.c ^ |
@@ -1,22 +1,24 @@ /* * manolito.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/maplestory.c ^ |
@@ -1,22 +1,24 @@ /* * maplestory.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/mdns.c ^ |
@@ -1,22 +1,24 @@ /* * mdns.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/meebo.c ^ |
@@ -1,22 +1,24 @@ /* * meebo.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/mgcp.c ^ |
@@ -1,22 +1,24 @@ /* * mgcp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/mms.c ^ |
@@ -1,22 +1,24 @@ /* * mms.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/msn.c ^ |
@@ -1,22 +1,24 @@ /* * msn.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/mssql.c ^ |
@@ -1,22 +1,24 @@ /* * mssql.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/mysql.c ^ |
@@ -1,23 +1,25 @@ /* * mysql.c - * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2009-2011 by ipoque GmbH + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/netbios.c ^ |
@@ -1,22 +1,24 @@ /* * netbios.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/netflow.c ^ |
@@ -1,20 +1,21 @@ /* * netflow.c - * Copyright (C) 2011 by ntop.org - * - * This module is free software: you can redistribute it and/or modify + * + * Copyright (C) 2011-13 - ntop.org + * + * 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. - * - * This module is distributed in the hope that it will be useful, + * + * 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. - * If not, see <http://www.gnu.org/licenses/>. - * + * + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/nfs.c ^ |
@@ -1,22 +1,24 @@ /* * nfs.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/non_tcp_udp.c ^ |
@@ -1,23 +1,25 @@ /* * non_tcp_udp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/ntp.c ^ |
@@ -1,22 +1,24 @@ /* * ntp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/openft.c ^ |
@@ -1,22 +1,24 @@ /* * openft.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/oscar.c ^ |
@@ -1,22 +1,24 @@ /* * oscar.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/pando.c ^ |
@@ -1,22 +1,24 @@ /* * pando.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/pcanywhere.c ^ |
@@ -1,22 +1,24 @@ /* * pcanywhere.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/popo.c ^ |
@@ -1,22 +1,24 @@ /* * popo.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/postgres.c ^ |
@@ -1,22 +1,24 @@ /* * postgres.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/pplive.c ^ |
@@ -1,22 +1,24 @@ /* * pplive.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/ppstream.c ^ |
@@ -1,22 +1,24 @@ /* * ppstream.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/pptp.c ^ |
@@ -1,22 +1,24 @@ /* * pptp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/qq.c ^ |
@@ -1,22 +1,24 @@ /* * qq.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/quake.c ^ |
@@ -1,22 +1,24 @@ /* * quake.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/radius.c ^ |
@@ -1,19 +1,20 @@ /* - * skype.c - * Copyright (C) 2012 by ntop.org + * radius.c * - * This module is free software: you can redistribute it and/or modify + * Copyright (C) 2012-13 - ntop.org + * + * 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. * - * This module is distributed in the hope that it will be useful, + * 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. - * If not, see <http://www.gnu.org/licenses/>. + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/rdp.c ^ |
@@ -1,22 +1,24 @@ /* * rdp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/rtp.c ^ |
@@ -1,22 +1,24 @@ /* * rtp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/rtsp.c ^ |
@@ -1,22 +1,24 @@ /* * rtsp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/secondlife.c ^ |
@@ -1,22 +1,24 @@ /* * secondlife.c + * * Copyright (C) 2009-2011 by ipoque GmbH + * Copyright (C) 2011-13 - ntop.org * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH + * This file is part of nDPI, an open source deep packet inspection + * library based on the OpenDPI and PACE technology by ipoque GmbH * - * OpenDPI is free software: you can redistribute it and/or modify + * 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. * - * OpenDPI is distributed in the hope that it will be useful, + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/sflow.c ^ |
@@ -1,19 +1,20 @@ /* * sflow.c - * Copyright (C) 2011 by ntop.org * - * This module is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - ntop.org + * + * 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. * - * This module is distributed in the hope that it will be useful, + * 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. - * If not, see <http://www.gnu.org/licenses/>. + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/shoutcast.c ^ |
@@ -1,22 +1,24 @@ /* * shoutcast.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/sip.c ^ |
@@ -1,22 +1,24 @@ /* * sip.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/skype.c ^ |
@@ -1,19 +1,20 @@ /* * skype.c - * Copyright (C) 2011 by ntop.org * - * This module is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - ntop.org + * + * 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. * - * This module is distributed in the hope that it will be useful, + * 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. - * If not, see <http://www.gnu.org/licenses/>. + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/smb.c ^ |
@@ -1,22 +1,24 @@ /* * smb.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/snmp.c ^ |
@@ -1,22 +1,24 @@ /* * snmp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/socrates.c ^ |
@@ -1,22 +1,24 @@ /* * socrates.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/sopcast.c ^ |
@@ -1,22 +1,24 @@ /* * sopcast.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/soulseek.c ^ |
@@ -1,22 +1,24 @@ /* * soulseek.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/ssdp.c ^ |
@@ -1,23 +1,25 @@ /* * ssdp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/ssh.c ^ |
@@ -1,22 +1,24 @@ /* * ssh.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/ssl.c ^ |
@@ -1,22 +1,24 @@ /* * ssl.c + * * Copyright (C) 2009-2011 by ipoque GmbH + * Copyright (C) 2011-13 - ntop.org * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH + * This file is part of nDPI, an open source deep packet inspection + * library based on the OpenDPI and PACE technology by ipoque GmbH * - * OpenDPI is free software: you can redistribute it and/or modify + * 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. * - * OpenDPI is distributed in the hope that it will be useful, + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/stealthnet.c ^ |
@@ -1,22 +1,24 @@ /* * stealthnet.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/steam.c ^ |
@@ -1,22 +1,24 @@ /* * steam.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/stun.c ^ |
@@ -1,22 +1,24 @@ /* * stun.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/syslog.c ^ |
@@ -1,22 +1,24 @@ /* * syslog.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/tds.c ^ |
@@ -1,22 +1,24 @@ /* * tds.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/teamviewer.c ^ |
@@ -1,24 +1,28 @@ /* * teamviewer.c + * * Copyright (C) 2012 by Gianluca Costa xplico.org - * - * This module is free software: you can redistribute it and/or modify + * Copyright (C) 2012-13 - 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. - * - * This module is distributed in the hope that it will be useful, + * + * 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. - * If not, see <http://www.gnu.org/licenses/>. + * + * You should have received a copy of the GNU Lesser General Public License + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ - #include "ndpi_protocols.h" #ifdef NDPI_PROTOCOL_TEAMVIEWER | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/telnet.c ^ |
@@ -1,22 +1,24 @@ /* * telnet.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/tftp.c ^ |
@@ -1,23 +1,25 @@ /* * tftp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/thunder.c ^ |
@@ -1,23 +1,25 @@ /* * thunder.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/tvants.c ^ |
@@ -1,22 +1,24 @@ /* * tvants.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/tvuplayer.c ^ |
@@ -1,23 +1,25 @@ /* * tvuplayer.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/usenet.c ^ |
@@ -1,22 +1,24 @@ /* * usenet.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/veohtv.c ^ |
@@ -1,22 +1,24 @@ /* * veohtv.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/vnc.c ^ |
@@ -1,22 +1,24 @@ /* * vnc.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/warcraft3.c ^ |
@@ -1,22 +1,24 @@ /* * warcraft3.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/winmx.c ^ |
@@ -1,22 +1,24 @@ /* * winmx.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/world_of_kung_fu.c ^ |
@@ -1,22 +1,24 @@ /* * world_of_kung_fu.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/world_of_warcraft.c ^ |
@@ -1,22 +1,24 @@ /* * world_of_warcraft.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/xbox.c ^ |
@@ -1,22 +1,24 @@ /* * xbox.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/xdmcp.c ^ |
@@ -1,22 +1,24 @@ /* * xdmcp.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/yahoo.c ^ |
@@ -1,22 +1,24 @@ /* * yahoo.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. * */ | ||
[-] [+] | Changed | nDPI.tar.bz2/src/lib/protocols/zattoo.c ^ |
@@ -1,23 +1,25 @@ /* * zattoo.c + * * Copyright (C) 2009-2011 by ipoque GmbH - * - * This file is part of OpenDPI, an open source deep packet inspection - * library based on the PACE technology by ipoque GmbH - * - * OpenDPI is free software: you can redistribute it and/or modify + * Copyright (C) 2011-13 - 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. - * - * OpenDPI is distributed in the hope that it will be useful, + * + * 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 OpenDPI. If not, see <http://www.gnu.org/licenses/>. - * + * along with nDPI. If not, see <http://www.gnu.org/licenses/>. + * */ | ||
Added | nprobe_6.9.13_011313_svn3023_proplugins.tgz ^ |