Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 830403 | Differences between
and this patch

Collapse All | Expand All

(-)a/src/include/ndpi_api.h.in (-1 / +3 lines)
Lines 1054-1060 extern "C" { Link Here
1054
  /* General purpose utilities */
1054
  /* General purpose utilities */
1055
  u_int64_t ndpi_htonll(u_int64_t v);
1055
  u_int64_t ndpi_htonll(u_int64_t v);
1056
  u_int64_t ndpi_ntohll(u_int64_t v);
1056
  u_int64_t ndpi_ntohll(u_int64_t v);
1057
1057
  u_int8_t ndpi_is_valid_protoId(u_int16_t protoId);
1058
  u_int8_t ndpi_is_encrypted_proto(struct ndpi_detection_module_struct *ndpi_str, ndpi_protocol proto);
1059
  
1058
  /* DGA */
1060
  /* DGA */
1059
  int ndpi_check_dga_name(struct ndpi_detection_module_struct *ndpi_str,
1061
  int ndpi_check_dga_name(struct ndpi_detection_module_struct *ndpi_str,
1060
			  struct ndpi_flow_struct *flow,
1062
			  struct ndpi_flow_struct *flow,
(-)a/src/include/ndpi_main.h (+1 lines)
Lines 103-108 extern "C" { Link Here
103
				      int protoId, ...);
103
				      int protoId, ...);
104
104
105
  extern void ndpi_set_proto_defaults(struct ndpi_detection_module_struct *ndpi_mod,
105
  extern void ndpi_set_proto_defaults(struct ndpi_detection_module_struct *ndpi_mod,
106
				      u_int8_t is_cleartext,
106
				      ndpi_protocol_breed_t protoBreed, u_int16_t protoId, char *protoName,
107
				      ndpi_protocol_breed_t protoBreed, u_int16_t protoId, char *protoName,
107
				      ndpi_protocol_category_t protoCategory,
108
				      ndpi_protocol_category_t protoCategory,
108
				      ndpi_port_range *tcpDefPorts,
109
				      ndpi_port_range *tcpDefPorts,
(-)a/src/include/ndpi_typedefs.h (-1 / +2 lines)
Lines 1046-1052 typedef enum { Link Here
1046
typedef struct ndpi_proto_defaults {
1046
typedef struct ndpi_proto_defaults {
1047
  char *protoName;
1047
  char *protoName;
1048
  ndpi_protocol_category_t protoCategory;
1048
  ndpi_protocol_category_t protoCategory;
1049
  u_int16_t * subprotocols;
1049
  u_int8_t isClearTextProto;
1050
  u_int16_t *subprotocols;
1050
  u_int32_t subprotocol_count;
1051
  u_int32_t subprotocol_count;
1051
  u_int16_t protoId, protoIdx;
1052
  u_int16_t protoId, protoIdx;
1052
  u_int16_t tcp_default_ports[MAX_DEFAULT_PORTS], udp_default_ports[MAX_DEFAULT_PORTS];
1053
  u_int16_t tcp_default_ports[MAX_DEFAULT_PORTS], udp_default_ports[MAX_DEFAULT_PORTS];
(-)a/src/lib/ndpi_main.c (-235 / +238 lines)
Lines 299-305 ndpi_port_range *ndpi_build_default_ports(ndpi_port_range *ports, u_int16_t port Link Here
299
/* ********************************************************************************** */
299
/* ********************************************************************************** */
300
300
301
void ndpi_set_proto_breed(struct ndpi_detection_module_struct *ndpi_str, u_int16_t protoId, ndpi_protocol_breed_t breed) {
301
void ndpi_set_proto_breed(struct ndpi_detection_module_struct *ndpi_str, u_int16_t protoId, ndpi_protocol_breed_t breed) {
302
  if(protoId >= NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS)
302
  if(!ndpi_is_valid_protoId(protoId))
303
    return;
303
    return;
304
  else
304
  else
305
    ndpi_str->proto_defaults[protoId].protoBreed = breed;
305
    ndpi_str->proto_defaults[protoId].protoBreed = breed;
Lines 309-315 void ndpi_set_proto_breed(struct ndpi_detection_module_struct *ndpi_str, u_int16 Link Here
309
309
310
void ndpi_set_proto_category(struct ndpi_detection_module_struct *ndpi_str, u_int16_t protoId,
310
void ndpi_set_proto_category(struct ndpi_detection_module_struct *ndpi_str, u_int16_t protoId,
311
                             ndpi_protocol_category_t protoCategory) {
311
                             ndpi_protocol_category_t protoCategory) {
312
  if(protoId >= NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS)
312
  if(!ndpi_is_valid_protoId(protoId))
313
    return;
313
    return;
314
  else
314
  else
315
    ndpi_str->proto_defaults[protoId].protoCategory = protoCategory;
315
    ndpi_str->proto_defaults[protoId].protoCategory = protoCategory;
Lines 329-335 void ndpi_set_proto_category(struct ndpi_detection_module_struct *ndpi_str, u_in Link Here
329
  SSL (HTTPS) traffic containg Facebook traffic.
329
  SSL (HTTPS) traffic containg Facebook traffic.
330
*/
330
*/
331
u_int8_t ndpi_is_subprotocol_informative(struct ndpi_detection_module_struct *ndpi_str, u_int16_t protoId) {
331
u_int8_t ndpi_is_subprotocol_informative(struct ndpi_detection_module_struct *ndpi_str, u_int16_t protoId) {
332
  if(protoId >= NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS)
332
  if(!ndpi_is_valid_protoId(protoId))
333
    return(0);
333
    return(0);
334
334
335
  switch(protoId) {
335
  switch(protoId) {
Lines 346-352 u_int8_t ndpi_is_subprotocol_informative(struct ndpi_detection_module_struct *nd Link Here
346
346
347
void ndpi_exclude_protocol(struct ndpi_detection_module_struct *ndpi_str, struct ndpi_flow_struct *flow,
347
void ndpi_exclude_protocol(struct ndpi_detection_module_struct *ndpi_str, struct ndpi_flow_struct *flow,
348
                           u_int16_t protocol_id, const char *_file, const char *_func, int _line) {
348
                           u_int16_t protocol_id, const char *_file, const char *_func, int _line) {
349
  if(protocol_id < NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS) {
349
  if(ndpi_is_valid_protoId(protocol_id)) {
350
#ifdef NDPI_ENABLE_DEBUG_MESSAGES
350
#ifdef NDPI_ENABLE_DEBUG_MESSAGES
351
    if(ndpi_str && ndpi_str->ndpi_log_level >= NDPI_LOG_DEBUG && ndpi_str->ndpi_debug_printf != NULL) {
351
    if(ndpi_str && ndpi_str->ndpi_log_level >= NDPI_LOG_DEBUG && ndpi_str->ndpi_debug_printf != NULL) {
352
      (*(ndpi_str->ndpi_debug_printf))(protocol_id, ndpi_str, NDPI_LOG_DEBUG, _file, _func, _line, "exclude %s\n",
352
      (*(ndpi_str->ndpi_debug_printf))(protocol_id, ndpi_str, NDPI_LOG_DEBUG, _file, _func, _line, "exclude %s\n",
Lines 398-410 void ndpi_set_proto_subprotocols(struct ndpi_detection_module_struct *ndpi_str, Link Here
398
398
399
/* ********************************************************************************** */
399
/* ********************************************************************************** */
400
400
401
void ndpi_set_proto_defaults(struct ndpi_detection_module_struct *ndpi_str, ndpi_protocol_breed_t breed,
401
void ndpi_set_proto_defaults(struct ndpi_detection_module_struct *ndpi_str,
402
			     u_int8_t is_cleartext, ndpi_protocol_breed_t breed,
402
                             u_int16_t protoId, char *protoName, ndpi_protocol_category_t protoCategory,
403
                             u_int16_t protoId, char *protoName, ndpi_protocol_category_t protoCategory,
403
                             ndpi_port_range *tcpDefPorts, ndpi_port_range *udpDefPorts) {
404
                             ndpi_port_range *tcpDefPorts, ndpi_port_range *udpDefPorts) {
404
  char *name;
405
  char *name;
405
  int j;
406
  int j;
406
407
407
  if(protoId >= NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS) {
408
  if(!ndpi_is_valid_protoId(protoId)) {
408
#ifdef DEBUG
409
#ifdef DEBUG
409
    NDPI_LOG_ERR(ndpi_str, "[NDPI] %s/protoId=%d: INTERNAL ERROR\n", protoName, protoId);
410
    NDPI_LOG_ERR(ndpi_str, "[NDPI] %s/protoId=%d: INTERNAL ERROR\n", protoName, protoId);
410
#endif
411
#endif
Lines 423-435 void ndpi_set_proto_defaults(struct ndpi_detection_module_struct *ndpi_str, ndpi Link Here
423
  if(ndpi_str->proto_defaults[protoId].protoName)
424
  if(ndpi_str->proto_defaults[protoId].protoName)
424
    ndpi_free(ndpi_str->proto_defaults[protoId].protoName);
425
    ndpi_free(ndpi_str->proto_defaults[protoId].protoName);
425
426
427
  ndpi_str->proto_defaults[protoId].isClearTextProto = is_cleartext;
426
  ndpi_str->proto_defaults[protoId].protoName = name;
428
  ndpi_str->proto_defaults[protoId].protoName = name;
427
  ndpi_str->proto_defaults[protoId].protoCategory = protoCategory;
429
  ndpi_str->proto_defaults[protoId].protoCategory = protoCategory;
428
  ndpi_str->proto_defaults[protoId].protoId = protoId;
430
  ndpi_str->proto_defaults[protoId].protoId = protoId;
429
  ndpi_str->proto_defaults[protoId].protoBreed = breed;
431
  ndpi_str->proto_defaults[protoId].protoBreed = breed;
430
  ndpi_str->proto_defaults[protoId].subprotocols = NULL;
432
  ndpi_str->proto_defaults[protoId].subprotocols = NULL;
431
  ndpi_str->proto_defaults[protoId].subprotocol_count = 0;
433
  ndpi_str->proto_defaults[protoId].subprotocol_count = 0;
432
434
  
433
  for(j = 0; j < MAX_DEFAULT_PORTS; j++) {
435
  for(j = 0; j < MAX_DEFAULT_PORTS; j++) {
434
    if(udpDefPorts[j].port_low != 0)
436
    if(udpDefPorts[j].port_low != 0)
435
      addDefaultPort(ndpi_str, &udpDefPorts[j], &ndpi_str->proto_defaults[protoId], 0, &ndpi_str->udpRoot,
437
      addDefaultPort(ndpi_str, &udpDefPorts[j], &ndpi_str->proto_defaults[protoId], 0, &ndpi_str->udpRoot,
Lines 593-599 static int ndpi_string_to_automa(struct ndpi_detection_module_struct *ndpi_str, Link Here
593
  u_int len;
595
  u_int len;
594
  char *value_dup = NULL;
596
  char *value_dup = NULL;
595
597
596
  if(protocol_id >= (NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS)) {
598
  if(!ndpi_is_valid_protoId(protocol_id)) {
597
    NDPI_LOG_ERR(ndpi_str, "[NDPI] protoId=%d: INTERNAL ERROR\n", protocol_id);
599
    NDPI_LOG_ERR(ndpi_str, "[NDPI] protoId=%d: INTERNAL ERROR\n", protocol_id);
598
    return(-1);
600
    return(-1);
599
  }
601
  }
Lines 677-683 void ndpi_init_protocol_match(struct ndpi_detection_module_struct *ndpi_str, Link Here
677
    ndpi_str->proto_defaults[match->protocol_id].protoCategory = match->protocol_category;
679
    ndpi_str->proto_defaults[match->protocol_id].protoCategory = match->protocol_category;
678
    ndpi_str->proto_defaults[match->protocol_id].protoBreed = match->protocol_breed;
680
    ndpi_str->proto_defaults[match->protocol_id].protoBreed = match->protocol_breed;
679
681
680
    ndpi_set_proto_defaults(ndpi_str, ndpi_str->proto_defaults[match->protocol_id].protoBreed,
682
    ndpi_set_proto_defaults(ndpi_str,
683
			    ndpi_str->proto_defaults[match->protocol_id].isClearTextProto,
684
			    ndpi_str->proto_defaults[match->protocol_id].protoBreed,
681
			    ndpi_str->proto_defaults[match->protocol_id].protoId,
685
			    ndpi_str->proto_defaults[match->protocol_id].protoId,
682
			    ndpi_str->proto_defaults[match->protocol_id].protoName,
686
			    ndpi_str->proto_defaults[match->protocol_id].protoName,
683
			    ndpi_str->proto_defaults[match->protocol_id].protoCategory,
687
			    ndpi_str->proto_defaults[match->protocol_id].protoCategory,
Lines 839-896 static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndp Link Here
839
  /* Reset all settings */
843
  /* Reset all settings */
840
  memset(ndpi_str->proto_defaults, 0, sizeof(ndpi_str->proto_defaults));
844
  memset(ndpi_str->proto_defaults, 0, sizeof(ndpi_str->proto_defaults));
841
845
842
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_UNRATED, NDPI_PROTOCOL_UNKNOWN,
846
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_UNRATED, NDPI_PROTOCOL_UNKNOWN,
843
			  "Unknown", NDPI_PROTOCOL_CATEGORY_UNSPECIFIED,
847
			  "Unknown", NDPI_PROTOCOL_CATEGORY_UNSPECIFIED,
844
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
848
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
845
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
849
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
846
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_FTP_CONTROL,
850
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_FTP_CONTROL,
847
			  "FTP_CONTROL", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
851
			  "FTP_CONTROL", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
848
			  ndpi_build_default_ports(ports_a, 21, 0, 0, 0, 0) /* TCP */,
852
			  ndpi_build_default_ports(ports_a, 21, 0, 0, 0, 0) /* TCP */,
849
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
853
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
850
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_FTP_DATA,
854
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_FTP_DATA,
851
			  "FTP_DATA", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
855
			  "FTP_DATA", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
852
			  ndpi_build_default_ports(ports_a, 20, 0, 0, 0, 0) /* TCP */,
856
			  ndpi_build_default_ports(ports_a, 20, 0, 0, 0, 0) /* TCP */,
853
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
857
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
854
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_MAIL_POP,
858
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_MAIL_POP,
855
			  "POP3", NDPI_PROTOCOL_CATEGORY_MAIL,
859
			  "POP3", NDPI_PROTOCOL_CATEGORY_MAIL,
856
			  ndpi_build_default_ports(ports_a, 110, 0, 0, 0, 0) /* TCP */,
860
			  ndpi_build_default_ports(ports_a, 110, 0, 0, 0, 0) /* TCP */,
857
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
861
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
858
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_MAIL_POPS,
862
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_MAIL_POPS,
859
			  "POPS", NDPI_PROTOCOL_CATEGORY_MAIL,
863
			  "POPS", NDPI_PROTOCOL_CATEGORY_MAIL,
860
			  ndpi_build_default_ports(ports_a, 995, 0, 0, 0, 0) /* TCP */,
864
			  ndpi_build_default_ports(ports_a, 995, 0, 0, 0, 0) /* TCP */,
861
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
865
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
862
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MAIL_SMTP,
866
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MAIL_SMTP,
863
			  "SMTP", NDPI_PROTOCOL_CATEGORY_MAIL,
867
			  "SMTP", NDPI_PROTOCOL_CATEGORY_MAIL,
864
			  ndpi_build_default_ports(ports_a, 25, 0, 0, 0, 0) /* TCP */,
868
			  ndpi_build_default_ports(ports_a, 25, 0, 0, 0, 0) /* TCP */,
865
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
869
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
866
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_MAIL_SMTPS,
870
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_MAIL_SMTPS,
867
			  "SMTPS", NDPI_PROTOCOL_CATEGORY_MAIL,
871
			  "SMTPS", NDPI_PROTOCOL_CATEGORY_MAIL,
868
			  ndpi_build_default_ports(ports_a, 465, 587, 0, 0, 0) /* TCP */,
872
			  ndpi_build_default_ports(ports_a, 465, 587, 0, 0, 0) /* TCP */,
869
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
873
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
870
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_MAIL_IMAP,
874
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_MAIL_IMAP,
871
			  "IMAP", NDPI_PROTOCOL_CATEGORY_MAIL,
875
			  "IMAP", NDPI_PROTOCOL_CATEGORY_MAIL,
872
			  ndpi_build_default_ports(ports_a, 143, 0, 0, 0, 0) /* TCP */,
876
			  ndpi_build_default_ports(ports_a, 143, 0, 0, 0, 0) /* TCP */,
873
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
877
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
874
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_MAIL_IMAPS,
878
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_MAIL_IMAPS,
875
			  "IMAPS", NDPI_PROTOCOL_CATEGORY_MAIL,
879
			  "IMAPS", NDPI_PROTOCOL_CATEGORY_MAIL,
876
			  ndpi_build_default_ports(ports_a, 993, 0, 0, 0, 0) /* TCP */,
880
			  ndpi_build_default_ports(ports_a, 993, 0, 0, 0, 0) /* TCP */,
877
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
881
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
878
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DNS,
882
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DNS,
879
			  "DNS", NDPI_PROTOCOL_CATEGORY_NETWORK,
883
			  "DNS", NDPI_PROTOCOL_CATEGORY_NETWORK,
880
			  ndpi_build_default_ports(ports_a, 53, 0, 0, 0, 0) /* TCP */,
884
			  ndpi_build_default_ports(ports_a, 53, 0, 0, 0, 0) /* TCP */,
881
			  ndpi_build_default_ports(ports_b, 53, 0, 0, 0, 0) /* UDP */);
885
			  ndpi_build_default_ports(ports_b, 53, 0, 0, 0, 0) /* UDP */);
882
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_DNS,
886
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_DNS,
883
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
887
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
884
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_DNS can have (content-matched) subprotocols */
888
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_DNS can have (content-matched) subprotocols */
885
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IPP,
889
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IPP,
886
			  "IPP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
890
			  "IPP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
887
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
891
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
888
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
892
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
889
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IMO,
893
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IMO,
890
			  "IMO", NDPI_PROTOCOL_CATEGORY_VOIP,
894
			  "IMO", NDPI_PROTOCOL_CATEGORY_VOIP,
891
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
895
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
892
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
896
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
893
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HTTP,
897
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HTTP,
894
			  "HTTP", NDPI_PROTOCOL_CATEGORY_WEB,
898
			  "HTTP", NDPI_PROTOCOL_CATEGORY_WEB,
895
			  ndpi_build_default_ports(ports_a, 80, 0 /* ntop */, 0, 0, 0) /* TCP */,
899
			  ndpi_build_default_ports(ports_a, 80, 0 /* ntop */, 0, 0, 0) /* TCP */,
896
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
900
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
Lines 901-1738 static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndp Link Here
901
			      NDPI_PROTOCOL_THUNDER, NDPI_PROTOCOL_IRC,
905
			      NDPI_PROTOCOL_THUNDER, NDPI_PROTOCOL_IRC,
902
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
906
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
903
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_HTTP can have (content-matched) subprotocols */
907
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_HTTP can have (content-matched) subprotocols */
904
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MDNS,
908
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MDNS,
905
			  "MDNS", NDPI_PROTOCOL_CATEGORY_NETWORK,
909
			  "MDNS", NDPI_PROTOCOL_CATEGORY_NETWORK,
906
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
910
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
907
			  ndpi_build_default_ports(ports_b, 5353, 5354, 0, 0, 0) /* UDP */);
911
			  ndpi_build_default_ports(ports_b, 5353, 5354, 0, 0, 0) /* UDP */);
908
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_MDNS,
912
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_MDNS,
909
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
913
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
910
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_MDNS can have (content-matched) subprotocols */
914
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_MDNS can have (content-matched) subprotocols */
911
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NTP,
915
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NTP,
912
			  "NTP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
916
			  "NTP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
913
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
917
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
914
			  ndpi_build_default_ports(ports_b, 123, 0, 0, 0, 0) /* UDP */);
918
			  ndpi_build_default_ports(ports_b, 123, 0, 0, 0, 0) /* UDP */);
915
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NETBIOS,
919
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NETBIOS,
916
			  "NetBIOS", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
920
			  "NetBIOS", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
917
			  ndpi_build_default_ports(ports_a, 139, 0, 0, 0, 0) /* TCP */,
921
			  ndpi_build_default_ports(ports_a, 139, 0, 0, 0, 0) /* TCP */,
918
			  ndpi_build_default_ports(ports_b, 137, 138, 139, 0, 0) /* UDP */);
922
			  ndpi_build_default_ports(ports_b, 137, 138, 139, 0, 0) /* UDP */);
919
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NFS,
923
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NFS,
920
			  "NFS", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
924
			  "NFS", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
921
			  ndpi_build_default_ports(ports_a, 2049, 0, 0, 0, 0) /* TCP */,
925
			  ndpi_build_default_ports(ports_a, 2049, 0, 0, 0, 0) /* TCP */,
922
			  ndpi_build_default_ports(ports_b, 2049, 0, 0, 0, 0) /* UDP */);
926
			  ndpi_build_default_ports(ports_b, 2049, 0, 0, 0, 0) /* UDP */);
923
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SSDP,
927
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SSDP,
924
			  "SSDP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
928
			  "SSDP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
925
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
929
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
926
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
930
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
927
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_BGP,
931
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_BGP,
928
			  "BGP", NDPI_PROTOCOL_CATEGORY_NETWORK,
932
			  "BGP", NDPI_PROTOCOL_CATEGORY_NETWORK,
929
			  ndpi_build_default_ports(ports_a, 179, 2605, 0, 0, 0) /* TCP */,
933
			  ndpi_build_default_ports(ports_a, 179, 2605, 0, 0, 0) /* TCP */,
930
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
934
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
931
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SNMP,
935
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SNMP,
932
			  "SNMP", NDPI_PROTOCOL_CATEGORY_NETWORK,
936
			  "SNMP", NDPI_PROTOCOL_CATEGORY_NETWORK,
933
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
937
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
934
			  ndpi_build_default_ports(ports_b, 161, 162, 0, 0, 0) /* UDP */);
938
			  ndpi_build_default_ports(ports_b, 161, 162, 0, 0, 0) /* UDP */);
935
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_XDMCP,
939
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_XDMCP,
936
			  "XDMCP", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
940
			  "XDMCP", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
937
			  ndpi_build_default_ports(ports_a, 177, 0, 0, 0, 0) /* TCP */,
941
			  ndpi_build_default_ports(ports_a, 177, 0, 0, 0, 0) /* TCP */,
938
			  ndpi_build_default_ports(ports_b, 177, 0, 0, 0, 0) /* UDP */);
942
			  ndpi_build_default_ports(ports_b, 177, 0, 0, 0, 0) /* UDP */);
939
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_DANGEROUS, NDPI_PROTOCOL_SMBV1,
943
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_DANGEROUS, NDPI_PROTOCOL_SMBV1,
940
			  "SMBv1", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
944
			  "SMBv1", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
941
			  ndpi_build_default_ports(ports_a, 445, 0, 0, 0, 0) /* TCP */,
945
			  ndpi_build_default_ports(ports_a, 445, 0, 0, 0, 0) /* TCP */,
942
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
946
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
943
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SYSLOG,
947
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SYSLOG,
944
			  "Syslog", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
948
			  "Syslog", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
945
			  ndpi_build_default_ports(ports_a, 514, 0, 0, 0, 0) /* TCP */,
949
			  ndpi_build_default_ports(ports_a, 514, 0, 0, 0, 0) /* TCP */,
946
			  ndpi_build_default_ports(ports_b, 514, 0, 0, 0, 0) /* UDP */);
950
			  ndpi_build_default_ports(ports_b, 514, 0, 0, 0, 0) /* UDP */);
947
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DHCP,
951
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DHCP,
948
			  "DHCP", NDPI_PROTOCOL_CATEGORY_NETWORK,
952
			  "DHCP", NDPI_PROTOCOL_CATEGORY_NETWORK,
949
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
953
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
950
			  ndpi_build_default_ports(ports_b, 67, 68, 0, 0, 0) /* UDP */);
954
			  ndpi_build_default_ports(ports_b, 67, 68, 0, 0, 0) /* UDP */);
951
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_POSTGRES,
955
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_POSTGRES,
952
			  "PostgreSQL", NDPI_PROTOCOL_CATEGORY_DATABASE,
956
			  "PostgreSQL", NDPI_PROTOCOL_CATEGORY_DATABASE,
953
			  ndpi_build_default_ports(ports_a, 5432, 0, 0, 0, 0) /* TCP */,
957
			  ndpi_build_default_ports(ports_a, 5432, 0, 0, 0, 0) /* TCP */,
954
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
958
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
955
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MYSQL,
959
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MYSQL,
956
			  "MySQL", NDPI_PROTOCOL_CATEGORY_DATABASE,
960
			  "MySQL", NDPI_PROTOCOL_CATEGORY_DATABASE,
957
			  ndpi_build_default_ports(ports_a, 3306, 0, 0, 0, 0) /* TCP */,
961
			  ndpi_build_default_ports(ports_a, 3306, 0, 0, 0, 0) /* TCP */,
958
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
962
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
959
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK,
963
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_DIRECT_DOWNLOAD_LINK,
960
			  "Direct_Download_Link", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
964
			  "Direct_Download_Link", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
961
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
965
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
962
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
966
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
963
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_APPLEJUICE,
967
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_APPLEJUICE,
964
			  "AppleJuice", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
968
			  "AppleJuice", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
965
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
969
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
966
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
970
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
967
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_DIRECTCONNECT,
971
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_DIRECTCONNECT,
968
			  "DirectConnect", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
972
			  "DirectConnect", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
969
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
973
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
970
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
974
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
971
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NATS,
975
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NATS,
972
			  "Nats", NDPI_PROTOCOL_CATEGORY_RPC,
976
			  "Nats", NDPI_PROTOCOL_CATEGORY_RPC,
973
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
977
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
974
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
978
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
975
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_AMONG_US,
979
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_AMONG_US,
976
			  "AmongUs", NDPI_PROTOCOL_CATEGORY_GAME,
980
			  "AmongUs", NDPI_PROTOCOL_CATEGORY_GAME,
977
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
981
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
978
			  ndpi_build_default_ports(ports_b, 22023, 0, 0, 0, 0) /* UDP */);
982
			  ndpi_build_default_ports(ports_b, 22023, 0, 0, 0, 0) /* UDP */);
979
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_NTOP,
983
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_NTOP,
980
			  "ntop", NDPI_PROTOCOL_CATEGORY_NETWORK,
984
			  "ntop", NDPI_PROTOCOL_CATEGORY_NETWORK,
981
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
985
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
982
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
986
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
983
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_VMWARE,
987
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_VMWARE,
984
			  "VMware", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
988
			  "VMware", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
985
			  ndpi_build_default_ports(ports_a, 903, 0, 0, 0, 0) /* TCP */,
989
			  ndpi_build_default_ports(ports_a, 903, 0, 0, 0, 0) /* TCP */,
986
			  ndpi_build_default_ports(ports_b, 902, 903, 0, 0, 0) /* UDP */);
990
			  ndpi_build_default_ports(ports_b, 902, 903, 0, 0, 0) /* UDP */);
987
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_KONTIKI,
991
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_KONTIKI,
988
			  "Kontiki", NDPI_PROTOCOL_CATEGORY_MEDIA,
992
			  "Kontiki", NDPI_PROTOCOL_CATEGORY_MEDIA,
989
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
993
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
990
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
994
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
991
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_OPENFT,
995
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_OPENFT,
992
			  "OpenFT", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
996
			  "OpenFT", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
993
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
997
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
994
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
998
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
995
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_FASTTRACK,
999
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_FASTTRACK,
996
			  "FastTrack", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1000
			  "FastTrack", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
997
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1001
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
998
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1002
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
999
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_GNUTELLA,
1003
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_GNUTELLA,
1000
			  "Gnutella", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1004
			  "Gnutella", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1001
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1005
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1002
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1006
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1003
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_EDONKEY,
1007
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_EDONKEY,
1004
			  "eDonkey", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1008
			  "eDonkey", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1005
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1009
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1006
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1010
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1007
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_BITTORRENT,
1011
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_BITTORRENT,
1008
			  "BitTorrent", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1012
			  "BitTorrent", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1009
			  ndpi_build_default_ports(ports_a, 51413, 53646, 0, 0, 0) /* TCP */,
1013
			  ndpi_build_default_ports(ports_a, 51413, 53646, 0, 0, 0) /* TCP */,
1010
			  ndpi_build_default_ports(ports_b, 6771, 51413, 0, 0, 0) /* UDP */);
1014
			  ndpi_build_default_ports(ports_b, 6771, 51413, 0, 0, 0) /* UDP */);
1011
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SKYPE_TEAMS,
1015
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SKYPE_TEAMS,
1012
			  "Skype_Teams", NDPI_PROTOCOL_CATEGORY_VOIP,
1016
			  "Skype_Teams", NDPI_PROTOCOL_CATEGORY_VOIP,
1013
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1017
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1014
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1018
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1015
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SKYPE_CALL,
1019
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SKYPE_CALL,
1016
			  "SkypeCall", NDPI_PROTOCOL_CATEGORY_VOIP,
1020
			  "SkypeCall", NDPI_PROTOCOL_CATEGORY_VOIP,
1017
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1021
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1018
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1022
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1019
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_TIKTOK,
1023
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_TIKTOK,
1020
			  "TikTok", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1024
			  "TikTok", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1021
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1025
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1022
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1026
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1023
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TEREDO,
1027
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TEREDO,
1024
			  "Teredo", NDPI_PROTOCOL_CATEGORY_NETWORK,
1028
			  "Teredo", NDPI_PROTOCOL_CATEGORY_NETWORK,
1025
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1029
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1026
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1030
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1027
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_WECHAT,
1031
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_WECHAT,
1028
			  "WeChat", NDPI_PROTOCOL_CATEGORY_CHAT,
1032
			  "WeChat", NDPI_PROTOCOL_CATEGORY_CHAT,
1029
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1033
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1030
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1034
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1031
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MEMCACHED,
1035
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MEMCACHED,
1032
			  "Memcached", NDPI_PROTOCOL_CATEGORY_NETWORK,
1036
			  "Memcached", NDPI_PROTOCOL_CATEGORY_NETWORK,
1033
			  ndpi_build_default_ports(ports_a, 11211, 0, 0, 0, 0) /* TCP */,
1037
			  ndpi_build_default_ports(ports_a, 11211, 0, 0, 0, 0) /* TCP */,
1034
			  ndpi_build_default_ports(ports_b, 11211, 0, 0, 0, 0) /* UDP */);
1038
			  ndpi_build_default_ports(ports_b, 11211, 0, 0, 0, 0) /* UDP */);
1035
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SMBV23,
1039
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SMBV23,
1036
			  "SMBv23", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
1040
			  "SMBv23", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
1037
			  ndpi_build_default_ports(ports_a, 445, 0, 0, 0, 0) /* TCP */,
1041
			  ndpi_build_default_ports(ports_a, 445, 0, 0, 0, 0) /* TCP */,
1038
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1042
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1039
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_MINING,
1043
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_MINING,
1040
			  "Mining", CUSTOM_CATEGORY_MINING,
1044
			  "Mining", CUSTOM_CATEGORY_MINING,
1041
			  ndpi_build_default_ports(ports_a, 8333, 30303, 0, 0, 0) /* TCP */,
1045
			  ndpi_build_default_ports(ports_a, 8333, 30303, 0, 0, 0) /* TCP */,
1042
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1046
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1043
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NEST_LOG_SINK,
1047
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NEST_LOG_SINK,
1044
			  "NestLogSink", NDPI_PROTOCOL_CATEGORY_CLOUD,
1048
			  "NestLogSink", NDPI_PROTOCOL_CATEGORY_CLOUD,
1045
			  ndpi_build_default_ports(ports_a, 11095, 0, 0, 0, 0) /* TCP */,
1049
			  ndpi_build_default_ports(ports_a, 11095, 0, 0, 0, 0) /* TCP */,
1046
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1050
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1047
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MODBUS,
1051
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MODBUS,
1048
			  "Modbus", NDPI_PROTOCOL_CATEGORY_IOT_SCADA,
1052
			  "Modbus", NDPI_PROTOCOL_CATEGORY_IOT_SCADA,
1049
			  ndpi_build_default_ports(ports_a, 502, 0, 0, 0, 0) /* TCP */,
1053
			  ndpi_build_default_ports(ports_a, 502, 0, 0, 0, 0) /* TCP */,
1050
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1054
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1051
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WHATSAPP_CALL,
1055
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WHATSAPP_CALL,
1052
			  "WhatsAppCall", NDPI_PROTOCOL_CATEGORY_VOIP,
1056
			  "WhatsAppCall", NDPI_PROTOCOL_CATEGORY_VOIP,
1053
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1057
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1054
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1058
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1055
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DATASAVER,
1059
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DATASAVER,
1056
			  "DataSaver", NDPI_PROTOCOL_CATEGORY_WEB /* dummy */,
1060
			  "DataSaver", NDPI_PROTOCOL_CATEGORY_WEB /* dummy */,
1057
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1061
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1058
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1062
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1059
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_SIGNAL,
1063
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_SIGNAL,
1060
			  "Signal", NDPI_PROTOCOL_CATEGORY_CHAT,
1064
			  "Signal", NDPI_PROTOCOL_CATEGORY_CHAT,
1061
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1065
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1062
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1066
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1063
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DOH_DOT,
1067
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DOH_DOT,
1064
			  "DoH_DoT", NDPI_PROTOCOL_CATEGORY_NETWORK /* dummy */,
1068
			  "DoH_DoT", NDPI_PROTOCOL_CATEGORY_NETWORK /* dummy */,
1065
			  ndpi_build_default_ports(ports_a, 853, 0, 0, 0, 0) /* TCP */,
1069
			  ndpi_build_default_ports(ports_a, 853, 0, 0, 0, 0) /* TCP */,
1066
			  ndpi_build_default_ports(ports_b, 784, 0, 0, 0, 0) /* UDP */);
1070
			  ndpi_build_default_ports(ports_b, 784, 0, 0, 0, 0) /* UDP */);
1067
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_REDDIT,
1071
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_REDDIT,
1068
			  "Reddit", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1072
			  "Reddit", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1069
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1073
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1070
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1074
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1071
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WIREGUARD,
1075
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WIREGUARD,
1072
			  "WireGuard", NDPI_PROTOCOL_CATEGORY_VPN,
1076
			  "WireGuard", NDPI_PROTOCOL_CATEGORY_VPN,
1073
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1077
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1074
			  ndpi_build_default_ports(ports_b, 51820, 0, 0, 0, 0) /* UDP */);
1078
			  ndpi_build_default_ports(ports_b, 51820, 0, 0, 0, 0) /* UDP */);
1075
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_PPSTREAM,
1079
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_PPSTREAM,
1076
			  "PPStream", NDPI_PROTOCOL_CATEGORY_STREAMING,
1080
			  "PPStream", NDPI_PROTOCOL_CATEGORY_STREAMING,
1077
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1081
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1078
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1082
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1079
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_XBOX,
1083
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_XBOX,
1080
			  "Xbox", NDPI_PROTOCOL_CATEGORY_GAME,
1084
			  "Xbox", NDPI_PROTOCOL_CATEGORY_GAME,
1081
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1085
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1082
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1086
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1083
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_PLAYSTATION,
1087
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_PLAYSTATION,
1084
			  "Playstation", NDPI_PROTOCOL_CATEGORY_GAME,
1088
			  "Playstation", NDPI_PROTOCOL_CATEGORY_GAME,
1085
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1089
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1086
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1090
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1087
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_QQ,
1091
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_QQ,
1088
			  "QQ", NDPI_PROTOCOL_CATEGORY_CHAT,
1092
			  "QQ", NDPI_PROTOCOL_CATEGORY_CHAT,
1089
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1093
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1090
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1094
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1091
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_RTSP,
1095
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_RTSP,
1092
			  "RTSP", NDPI_PROTOCOL_CATEGORY_MEDIA,
1096
			  "RTSP", NDPI_PROTOCOL_CATEGORY_MEDIA,
1093
			  ndpi_build_default_ports(ports_a, 554, 0, 0, 0, 0) /* TCP */,
1097
			  ndpi_build_default_ports(ports_a, 554, 0, 0, 0, 0) /* TCP */,
1094
			  ndpi_build_default_ports(ports_b, 554, 0, 0, 0, 0) /* UDP */);
1098
			  ndpi_build_default_ports(ports_b, 554, 0, 0, 0, 0) /* UDP */);
1095
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_ICECAST,
1099
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_ICECAST,
1096
			  "IceCast", NDPI_PROTOCOL_CATEGORY_MEDIA,
1100
			  "IceCast", NDPI_PROTOCOL_CATEGORY_MEDIA,
1097
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1101
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1098
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1102
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1099
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_CPHA,
1103
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_CPHA,
1100
			  "CPHA", NDPI_PROTOCOL_CATEGORY_NETWORK,
1104
			  "CPHA", NDPI_PROTOCOL_CATEGORY_NETWORK,
1101
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1105
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1102
			  ndpi_build_default_ports(ports_b, 8116, 0, 0, 0, 0) /* UDP */);
1106
			  ndpi_build_default_ports(ports_b, 8116, 0, 0, 0, 0) /* UDP */);
1103
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_ZATTOO,
1107
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_ZATTOO,
1104
			  "Zattoo", NDPI_PROTOCOL_CATEGORY_VIDEO,
1108
			  "Zattoo", NDPI_PROTOCOL_CATEGORY_VIDEO,
1105
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1109
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1106
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1110
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1107
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_SHOUTCAST,
1111
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_SHOUTCAST,
1108
			  "ShoutCast", NDPI_PROTOCOL_CATEGORY_MUSIC,
1112
			  "ShoutCast", NDPI_PROTOCOL_CATEGORY_MUSIC,
1109
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1113
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1110
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1114
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1111
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_SOPCAST,
1115
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_SOPCAST,
1112
			  "Sopcast", NDPI_PROTOCOL_CATEGORY_VIDEO,
1116
			  "Sopcast", NDPI_PROTOCOL_CATEGORY_VIDEO,
1113
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1117
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1114
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1118
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1115
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DISCORD,
1119
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DISCORD,
1116
			  "Discord", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1120
			  "Discord", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1117
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1121
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1118
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1122
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1119
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_TVUPLAYER,
1123
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_TVUPLAYER,
1120
			  "TVUplayer", NDPI_PROTOCOL_CATEGORY_VIDEO,
1124
			  "TVUplayer", NDPI_PROTOCOL_CATEGORY_VIDEO,
1121
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1125
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1122
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1126
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1123
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_QQLIVE,
1127
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_QQLIVE,
1124
			  "QQLive", NDPI_PROTOCOL_CATEGORY_VIDEO,
1128
			  "QQLive", NDPI_PROTOCOL_CATEGORY_VIDEO,
1125
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1129
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1126
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1130
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1127
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_THUNDER,
1131
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_THUNDER,
1128
			  "Thunder", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1132
			  "Thunder", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1129
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1133
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1130
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1134
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1131
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_SOULSEEK,
1135
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_SOULSEEK,
1132
			  "Soulseek", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1136
			  "Soulseek", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1133
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1137
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1134
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1138
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1135
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_PS_VUE,
1139
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_PS_VUE,
1136
			  "PS_VUE", NDPI_PROTOCOL_CATEGORY_VIDEO,
1140
			  "PS_VUE", NDPI_PROTOCOL_CATEGORY_VIDEO,
1137
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1141
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1138
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1142
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1139
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_IRC,
1143
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_IRC,
1140
			  "IRC", NDPI_PROTOCOL_CATEGORY_CHAT,
1144
			  "IRC", NDPI_PROTOCOL_CATEGORY_CHAT,
1141
			  ndpi_build_default_ports(ports_a, 194, 0, 0, 0, 0) /* TCP */,
1145
			  ndpi_build_default_ports(ports_a, 194, 0, 0, 0, 0) /* TCP */,
1142
			  ndpi_build_default_ports(ports_b, 194, 0, 0, 0, 0) /* UDP */);
1146
			  ndpi_build_default_ports(ports_b, 194, 0, 0, 0, 0) /* UDP */);
1143
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AYIYA,
1147
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AYIYA,
1144
			  "Ayiya", NDPI_PROTOCOL_CATEGORY_NETWORK,
1148
			  "Ayiya", NDPI_PROTOCOL_CATEGORY_NETWORK,
1145
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1149
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1146
			  ndpi_build_default_ports(ports_b, 5072, 0, 0, 0, 0) /* UDP */);
1150
			  ndpi_build_default_ports(ports_b, 5072, 0, 0, 0, 0) /* UDP */);
1147
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_JABBER,
1151
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_JABBER,
1148
			  "Jabber", NDPI_PROTOCOL_CATEGORY_WEB,
1152
			  "Jabber", NDPI_PROTOCOL_CATEGORY_WEB,
1149
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1153
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1150
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1154
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1151
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DISNEYPLUS,
1155
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DISNEYPLUS,
1152
			  "DisneyPlus", NDPI_PROTOCOL_CATEGORY_STREAMING,
1156
			  "DisneyPlus", NDPI_PROTOCOL_CATEGORY_STREAMING,
1153
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1157
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1154
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1158
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1155
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_VRRP,
1159
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_VRRP,
1156
			  "VRRP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1160
			  "VRRP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1157
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1161
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1158
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1162
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1159
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_STEAM,
1163
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_STEAM,
1160
			  "Steam", NDPI_PROTOCOL_CATEGORY_GAME,
1164
			  "Steam", NDPI_PROTOCOL_CATEGORY_GAME,
1161
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1165
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1162
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1166
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1163
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_HALFLIFE2,
1167
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_HALFLIFE2,
1164
			  "HalfLife2", NDPI_PROTOCOL_CATEGORY_GAME,
1168
			  "HalfLife2", NDPI_PROTOCOL_CATEGORY_GAME,
1165
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1169
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1166
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1170
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1167
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_WORLDOFWARCRAFT,
1171
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_WORLDOFWARCRAFT,
1168
			  "WorldOfWarcraft", NDPI_PROTOCOL_CATEGORY_GAME,
1172
			  "WorldOfWarcraft", NDPI_PROTOCOL_CATEGORY_GAME,
1169
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1173
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1170
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1174
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1171
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_HOTSPOT_SHIELD,
1175
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_HOTSPOT_SHIELD,
1172
			  "HotspotShield", NDPI_PROTOCOL_CATEGORY_VPN,
1176
			  "HotspotShield", NDPI_PROTOCOL_CATEGORY_VPN,
1173
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1177
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1174
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1178
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1175
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_TELNET,
1179
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_UNSAFE, NDPI_PROTOCOL_TELNET,
1176
			  "Telnet", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1180
			  "Telnet", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1177
			  ndpi_build_default_ports(ports_a, 23, 0, 0, 0, 0) /* TCP */,
1181
			  ndpi_build_default_ports(ports_a, 23, 0, 0, 0, 0) /* TCP */,
1178
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1182
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1179
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_STUN,
1183
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_STUN,
1180
			  "STUN", NDPI_PROTOCOL_CATEGORY_NETWORK,
1184
			  "STUN", NDPI_PROTOCOL_CATEGORY_NETWORK,
1181
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1185
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1182
			  ndpi_build_default_ports(ports_b, 3478, 0, 0, 0, 0) /* UDP */);
1186
			  ndpi_build_default_ports(ports_b, 3478, 0, 0, 0, 0) /* UDP */);
1183
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_IP_IPSEC,
1187
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_IP_IPSEC,
1184
			  "IPsec", NDPI_PROTOCOL_CATEGORY_VPN,
1188
			  "IPsec", NDPI_PROTOCOL_CATEGORY_VPN,
1185
			  ndpi_build_default_ports(ports_a, 500, 0, 0, 0, 0) /* TCP */,
1189
			  ndpi_build_default_ports(ports_a, 500, 0, 0, 0, 0) /* TCP */,
1186
			  ndpi_build_default_ports(ports_b, 500, 4500, 0, 0, 0) /* UDP */);
1190
			  ndpi_build_default_ports(ports_b, 500, 4500, 0, 0, 0) /* UDP */);
1187
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_GRE,
1191
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_GRE,
1188
			  "GRE", NDPI_PROTOCOL_CATEGORY_NETWORK,
1192
			  "GRE", NDPI_PROTOCOL_CATEGORY_NETWORK,
1189
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1193
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1190
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1194
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1191
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_ICMP,
1195
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_ICMP,
1192
			  "ICMP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1196
			  "ICMP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1193
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1197
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1194
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1198
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1195
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_IGMP,
1199
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_IGMP,
1196
			  "IGMP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1200
			  "IGMP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1197
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1201
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1198
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1202
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1199
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_EGP,
1203
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_EGP,
1200
			  "EGP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1204
			  "EGP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1201
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1205
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1202
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1206
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1203
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_SCTP,
1207
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_SCTP,
1204
			  "SCTP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1208
			  "SCTP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1205
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1209
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1206
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1210
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1207
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_OSPF,
1211
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_OSPF,
1208
			  "OSPF", NDPI_PROTOCOL_CATEGORY_NETWORK,
1212
			  "OSPF", NDPI_PROTOCOL_CATEGORY_NETWORK,
1209
			  ndpi_build_default_ports(ports_a, 2604, 0, 0, 0, 0) /* TCP */,
1213
			  ndpi_build_default_ports(ports_a, 2604, 0, 0, 0, 0) /* TCP */,
1210
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1214
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1211
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_IP_IN_IP,
1215
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_IP_IN_IP,
1212
			  "IP_in_IP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1216
			  "IP_in_IP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1213
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1217
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1214
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1218
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1215
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RTP,
1219
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RTP,
1216
			  "RTP", NDPI_PROTOCOL_CATEGORY_MEDIA,
1220
			  "RTP", NDPI_PROTOCOL_CATEGORY_MEDIA,
1217
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1221
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1218
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1222
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1219
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RDP,
1223
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RDP,
1220
			  "RDP", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1224
			  "RDP", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1221
			  ndpi_build_default_ports(ports_a, 3389, 0, 0, 0, 0) /* TCP */,
1225
			  ndpi_build_default_ports(ports_a, 3389, 0, 0, 0, 0) /* TCP */,
1222
			  ndpi_build_default_ports(ports_b, 3389, 0, 0, 0, 0) /* UDP */);
1226
			  ndpi_build_default_ports(ports_b, 3389, 0, 0, 0, 0) /* UDP */);
1223
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_VNC,
1227
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_VNC,
1224
			  "VNC", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1228
			  "VNC", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1225
			  ndpi_build_default_ports(ports_a, 5900, 5901, 5800, 0, 0) /* TCP */,
1229
			  ndpi_build_default_ports(ports_a, 5900, 5901, 5800, 0, 0) /* TCP */,
1226
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1230
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1227
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_TUMBLR,
1231
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_TUMBLR,
1228
			  "Tumblr", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1232
			  "Tumblr", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1229
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1233
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1230
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1234
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1231
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ZOOM,
1235
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ZOOM,
1232
			  "Zoom", NDPI_PROTOCOL_CATEGORY_VIDEO,
1236
			  "Zoom", NDPI_PROTOCOL_CATEGORY_VIDEO,
1233
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1237
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1234
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1238
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1235
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WHATSAPP_FILES,
1239
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WHATSAPP_FILES,
1236
			  "WhatsAppFiles", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1240
			  "WhatsAppFiles", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1237
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1241
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1238
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1242
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1239
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WHATSAPP,
1243
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WHATSAPP,
1240
			  "WhatsApp", NDPI_PROTOCOL_CATEGORY_CHAT,
1244
			  "WhatsApp", NDPI_PROTOCOL_CATEGORY_CHAT,
1241
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1245
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1242
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1246
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1243
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_TLS,
1247
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_TLS,
1244
			  "TLS", NDPI_PROTOCOL_CATEGORY_WEB,
1248
			  "TLS", NDPI_PROTOCOL_CATEGORY_WEB,
1245
			  ndpi_build_default_ports(ports_a, 443, 0, 0, 0, 0) /* TCP */,
1249
			  ndpi_build_default_ports(ports_a, 443, 0, 0, 0, 0) /* TCP */,
1246
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1250
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1247
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_TLS,
1251
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_TLS,
1248
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1252
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1249
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_TLS can have (content-matched) subprotocols */
1253
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_TLS can have (content-matched) subprotocols */
1250
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_DTLS,
1254
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_DTLS,
1251
			  "DTLS", NDPI_PROTOCOL_CATEGORY_WEB,
1255
			  "DTLS", NDPI_PROTOCOL_CATEGORY_WEB,
1252
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1256
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1253
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1257
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1254
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_DTLS,
1258
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_DTLS,
1255
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1259
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1256
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_DTLS can have (content-matched) subprotocols */
1260
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_DTLS can have (content-matched) subprotocols */
1257
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SSH,
1261
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SSH,
1258
			  "SSH", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1262
			  "SSH", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1259
			  ndpi_build_default_ports(ports_a, 22, 0, 0, 0, 0) /* TCP */,
1263
			  ndpi_build_default_ports(ports_a, 22, 0, 0, 0, 0) /* TCP */,
1260
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1264
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1261
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_USENET,
1265
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_USENET,
1262
			  "Usenet", NDPI_PROTOCOL_CATEGORY_WEB,
1266
			  "Usenet", NDPI_PROTOCOL_CATEGORY_WEB,
1263
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1267
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1264
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1268
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1265
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MGCP,
1269
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MGCP,
1266
			  "MGCP", NDPI_PROTOCOL_CATEGORY_VOIP,
1270
			  "MGCP", NDPI_PROTOCOL_CATEGORY_VOIP,
1267
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1271
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1268
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1272
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1269
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IAX,
1273
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IAX,
1270
			  "IAX", NDPI_PROTOCOL_CATEGORY_VOIP,
1274
			  "IAX", NDPI_PROTOCOL_CATEGORY_VOIP,
1271
			  ndpi_build_default_ports(ports_a, 4569, 0, 0, 0, 0) /* TCP */,
1275
			  ndpi_build_default_ports(ports_a, 4569, 0, 0, 0, 0) /* TCP */,
1272
			  ndpi_build_default_ports(ports_b, 4569, 0, 0, 0, 0) /* UDP */);
1276
			  ndpi_build_default_ports(ports_b, 4569, 0, 0, 0, 0) /* UDP */);
1273
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AFP,
1277
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AFP,
1274
			  "AFP", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
1278
			  "AFP", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
1275
			  ndpi_build_default_ports(ports_a, 548, 0, 0, 0, 0) /* TCP */,
1279
			  ndpi_build_default_ports(ports_a, 548, 0, 0, 0, 0) /* TCP */,
1276
			  ndpi_build_default_ports(ports_b, 548, 0, 0, 0, 0) /* UDP */);
1280
			  ndpi_build_default_ports(ports_b, 548, 0, 0, 0, 0) /* UDP */);
1277
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_HULU,
1281
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_HULU,
1278
			  "Hulu", NDPI_PROTOCOL_CATEGORY_STREAMING,
1282
			  "Hulu", NDPI_PROTOCOL_CATEGORY_STREAMING,
1279
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1283
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1280
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1284
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1281
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CHECKMK,
1285
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CHECKMK,
1282
			  "CHECKMK", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
1286
			  "CHECKMK", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
1283
			  ndpi_build_default_ports(ports_a, 6556, 0, 0, 0, 0) /* TCP */,
1287
			  ndpi_build_default_ports(ports_a, 6556, 0, 0, 0, 0) /* TCP */,
1284
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1288
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1285
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_STEALTHNET,
1289
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_STEALTHNET,
1286
			  "Stealthnet", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1290
			  "Stealthnet", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1287
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1291
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1288
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1292
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1289
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_AIMINI,
1293
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_AIMINI,
1290
			  "Aimini", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1294
			  "Aimini", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1291
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1295
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1292
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1296
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1293
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SIP,
1297
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SIP,
1294
			  "SIP", NDPI_PROTOCOL_CATEGORY_VOIP,
1298
			  "SIP", NDPI_PROTOCOL_CATEGORY_VOIP,
1295
			  ndpi_build_default_ports(ports_a, 5060, 5061, 0, 0, 0) /* TCP */,
1299
			  ndpi_build_default_ports(ports_a, 5060, 5061, 0, 0, 0) /* TCP */,
1296
			  ndpi_build_default_ports(ports_b, 5060, 5061, 0, 0, 0) /* UDP */);
1300
			  ndpi_build_default_ports(ports_b, 5060, 5061, 0, 0, 0) /* UDP */);
1297
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TRUPHONE,
1301
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TRUPHONE,
1298
			  "TruPhone", NDPI_PROTOCOL_CATEGORY_VOIP,
1302
			  "TruPhone", NDPI_PROTOCOL_CATEGORY_VOIP,
1299
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1303
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1300
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1304
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1301
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_ICMPV6,
1305
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_ICMPV6,
1302
			  "ICMPV6", NDPI_PROTOCOL_CATEGORY_NETWORK,
1306
			  "ICMPV6", NDPI_PROTOCOL_CATEGORY_NETWORK,
1303
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1307
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1304
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1308
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1305
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DHCPV6,
1309
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DHCPV6,
1306
			  "DHCPV6", NDPI_PROTOCOL_CATEGORY_NETWORK,
1310
			  "DHCPV6", NDPI_PROTOCOL_CATEGORY_NETWORK,
1307
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1311
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1308
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1312
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1309
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_ARMAGETRON,
1313
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_ARMAGETRON,
1310
			  "Armagetron", NDPI_PROTOCOL_CATEGORY_GAME,
1314
			  "Armagetron", NDPI_PROTOCOL_CATEGORY_GAME,
1311
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1315
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1312
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1316
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1313
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_CROSSFIRE,
1317
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_CROSSFIRE,
1314
			  "Crossfire", NDPI_PROTOCOL_CATEGORY_RPC,
1318
			  "Crossfire", NDPI_PROTOCOL_CATEGORY_RPC,
1315
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1319
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1316
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1320
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1317
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DOFUS,
1321
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_DOFUS,
1318
			  "Dofus", NDPI_PROTOCOL_CATEGORY_GAME,
1322
			  "Dofus", NDPI_PROTOCOL_CATEGORY_GAME,
1319
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1323
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1320
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1324
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1321
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_FIESTA,
1325
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_FIESTA,
1322
			  "Fiesta", NDPI_PROTOCOL_CATEGORY_GAME,
1326
			  "Fiesta", NDPI_PROTOCOL_CATEGORY_GAME,
1323
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1327
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1324
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1328
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1325
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_FLORENSIA,
1329
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_FLORENSIA,
1326
			  "Florensia", NDPI_PROTOCOL_CATEGORY_GAME,
1330
			  "Florensia", NDPI_PROTOCOL_CATEGORY_GAME,
1327
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1331
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1328
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1332
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1329
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_GUILDWARS,
1333
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_GUILDWARS,
1330
			  "Guildwars", NDPI_PROTOCOL_CATEGORY_GAME,
1334
			  "Guildwars", NDPI_PROTOCOL_CATEGORY_GAME,
1331
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1335
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1332
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1336
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1333
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AMAZON_ALEXA,
1337
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AMAZON_ALEXA,
1334
			  "AmazonAlexa", NDPI_PROTOCOL_CATEGORY_VIRTUAL_ASSISTANT,
1338
			  "AmazonAlexa", NDPI_PROTOCOL_CATEGORY_VIRTUAL_ASSISTANT,
1335
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1339
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1336
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1340
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1337
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_KERBEROS,
1341
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_KERBEROS,
1338
			  "Kerberos", NDPI_PROTOCOL_CATEGORY_NETWORK,
1342
			  "Kerberos", NDPI_PROTOCOL_CATEGORY_NETWORK,
1339
			  ndpi_build_default_ports(ports_a, 88, 0, 0, 0, 0) /* TCP */,
1343
			  ndpi_build_default_ports(ports_a, 88, 0, 0, 0, 0) /* TCP */,
1340
			  ndpi_build_default_ports(ports_b, 88, 0, 0, 0, 0) /* UDP */);
1344
			  ndpi_build_default_ports(ports_b, 88, 0, 0, 0, 0) /* UDP */);
1341
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_LDAP,
1345
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_LDAP,
1342
			  "LDAP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
1346
			  "LDAP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
1343
			  ndpi_build_default_ports(ports_a, 389, 0, 0, 0, 0) /* TCP */,
1347
			  ndpi_build_default_ports(ports_a, 389, 0, 0, 0, 0) /* TCP */,
1344
			  ndpi_build_default_ports(ports_b, 389, 0, 0, 0, 0) /* UDP */);
1348
			  ndpi_build_default_ports(ports_b, 389, 0, 0, 0, 0) /* UDP */);
1345
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_MAPLESTORY,
1349
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_MAPLESTORY,
1346
			  "MapleStory", NDPI_PROTOCOL_CATEGORY_GAME,
1350
			  "MapleStory", NDPI_PROTOCOL_CATEGORY_GAME,
1347
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1351
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1348
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1352
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1349
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MSSQL_TDS,
1353
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MSSQL_TDS,
1350
			  "MsSQL-TDS", NDPI_PROTOCOL_CATEGORY_DATABASE,
1354
			  "MsSQL-TDS", NDPI_PROTOCOL_CATEGORY_DATABASE,
1351
			  ndpi_build_default_ports(ports_a, 1433, 1434, 0, 0, 0) /* TCP */,
1355
			  ndpi_build_default_ports(ports_a, 1433, 1434, 0, 0, 0) /* TCP */,
1352
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1356
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1353
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_PPTP,
1357
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_PPTP,
1354
			  "PPTP", NDPI_PROTOCOL_CATEGORY_VPN,
1358
			  "PPTP", NDPI_PROTOCOL_CATEGORY_VPN,
1355
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1359
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1356
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1360
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1357
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_WARCRAFT3,
1361
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_WARCRAFT3,
1358
			  "Warcraft3", NDPI_PROTOCOL_CATEGORY_GAME,
1362
			  "Warcraft3", NDPI_PROTOCOL_CATEGORY_GAME,
1359
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1363
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1360
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1364
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1361
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_WORLD_OF_KUNG_FU,
1365
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_WORLD_OF_KUNG_FU,
1362
			  "WorldOfKungFu", NDPI_PROTOCOL_CATEGORY_GAME,
1366
			  "WorldOfKungFu", NDPI_PROTOCOL_CATEGORY_GAME,
1363
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1367
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1364
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1368
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1365
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DCERPC,
1369
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DCERPC,
1366
			  "DCE_RPC", NDPI_PROTOCOL_CATEGORY_RPC,
1370
			  "DCE_RPC", NDPI_PROTOCOL_CATEGORY_RPC,
1367
			  ndpi_build_default_ports(ports_a, 135, 0, 0, 0, 0) /* TCP */,
1371
			  ndpi_build_default_ports(ports_a, 135, 0, 0, 0, 0) /* TCP */,
1368
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1372
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1369
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NETFLOW,
1373
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NETFLOW,
1370
			  "NetFlow", NDPI_PROTOCOL_CATEGORY_NETWORK,
1374
			  "NetFlow", NDPI_PROTOCOL_CATEGORY_NETWORK,
1371
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1375
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1372
			  ndpi_build_default_ports(ports_b, 2055, 0, 0, 0, 0) /* UDP */);
1376
			  ndpi_build_default_ports(ports_b, 2055, 0, 0, 0, 0) /* UDP */);
1373
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SFLOW,
1377
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SFLOW,
1374
			  "sFlow", NDPI_PROTOCOL_CATEGORY_NETWORK,
1378
			  "sFlow", NDPI_PROTOCOL_CATEGORY_NETWORK,
1375
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1379
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1376
			  ndpi_build_default_ports(ports_b, 6343, 0, 0, 0, 0) /* UDP */);
1380
			  ndpi_build_default_ports(ports_b, 6343, 0, 0, 0, 0) /* UDP */);
1377
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HTTP_CONNECT,
1381
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HTTP_CONNECT,
1378
			  "HTTP_Connect", NDPI_PROTOCOL_CATEGORY_WEB,
1382
			  "HTTP_Connect", NDPI_PROTOCOL_CATEGORY_WEB,
1379
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1383
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1380
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1384
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1381
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_HTTP_CONNECT,
1385
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_HTTP_CONNECT,
1382
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1386
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1383
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_HTTP_CONNECT can have (content-matched) subprotocols */
1387
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_HTTP_CONNECT can have (content-matched) subprotocols */
1384
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HTTP_PROXY,
1388
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HTTP_PROXY,
1385
			  "HTTP_Proxy", NDPI_PROTOCOL_CATEGORY_WEB,
1389
			  "HTTP_Proxy", NDPI_PROTOCOL_CATEGORY_WEB,
1386
			  ndpi_build_default_ports(ports_a, 8080, 3128, 0, 0, 0) /* TCP */,
1390
			  ndpi_build_default_ports(ports_a, 8080, 3128, 0, 0, 0) /* TCP */,
1387
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1391
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1388
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_HTTP_PROXY,
1392
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_HTTP_PROXY,
1389
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1393
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1390
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_HTTP_PROXY can have (content-matched) subprotocols */
1394
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_HTTP_PROXY can have (content-matched) subprotocols */
1391
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CITRIX,
1395
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CITRIX,
1392
			  "Citrix", NDPI_PROTOCOL_CATEGORY_NETWORK,
1396
			  "Citrix", NDPI_PROTOCOL_CATEGORY_NETWORK,
1393
			  ndpi_build_default_ports(ports_a, 1494, 2598, 0, 0, 0) /* TCP */,
1397
			  ndpi_build_default_ports(ports_a, 1494, 2598, 0, 0, 0) /* TCP */,
1394
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1398
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1395
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WEBEX,
1399
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WEBEX,
1396
			  "Webex", NDPI_PROTOCOL_CATEGORY_VOIP,
1400
			  "Webex", NDPI_PROTOCOL_CATEGORY_VOIP,
1397
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1401
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1398
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1402
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1399
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RADIUS,
1403
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RADIUS,
1400
			  "Radius", NDPI_PROTOCOL_CATEGORY_NETWORK,
1404
			  "Radius", NDPI_PROTOCOL_CATEGORY_NETWORK,
1401
			  ndpi_build_default_ports(ports_a, 1812, 1813, 0, 0, 0) /* TCP */,
1405
			  ndpi_build_default_ports(ports_a, 1812, 1813, 0, 0, 0) /* TCP */,
1402
			  ndpi_build_default_ports(ports_b, 1812, 1813, 0, 0, 0) /* UDP */);
1406
			  ndpi_build_default_ports(ports_b, 1812, 1813, 0, 0, 0) /* UDP */);
1403
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TEAMVIEWER,
1407
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TEAMVIEWER,
1404
			  "TeamViewer", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1408
			  "TeamViewer", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1405
			  ndpi_build_default_ports(ports_a, 5938, 0, 0, 0, 0) /* TCP */,
1409
			  ndpi_build_default_ports(ports_a, 5938, 0, 0, 0, 0) /* TCP */,
1406
			  ndpi_build_default_ports(ports_b, 5938, 0, 0, 0, 0) /* UDP */);
1410
			  ndpi_build_default_ports(ports_b, 5938, 0, 0, 0, 0) /* UDP */);
1407
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_LOTUS_NOTES,
1411
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_LOTUS_NOTES,
1408
			  "LotusNotes", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1412
			  "LotusNotes", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1409
			  ndpi_build_default_ports(ports_a, 1352, 0, 0, 0, 0) /* TCP */,
1413
			  ndpi_build_default_ports(ports_a, 1352, 0, 0, 0, 0) /* TCP */,
1410
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1414
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1411
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SAP,
1415
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SAP,
1412
			  "SAP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1416
			  "SAP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1413
			  ndpi_build_default_ports(ports_a, 3201, 0, 0, 0, 0) /* TCP */,
1417
			  ndpi_build_default_ports(ports_a, 3201, 0, 0, 0, 0) /* TCP */,
1414
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */
1418
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */
1415
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_GTP,
1419
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_GTP,
1416
			  "GTP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1420
			  "GTP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1417
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1421
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1418
			  ndpi_build_default_ports(ports_b, 2152, 2123, 0, 0, 0) /* UDP */);
1422
			  ndpi_build_default_ports(ports_b, 2152, 2123, 0, 0, 0) /* UDP */);
1419
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WSD,
1423
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WSD,
1420
			  "WSD", NDPI_PROTOCOL_CATEGORY_NETWORK,
1424
			  "WSD", NDPI_PROTOCOL_CATEGORY_NETWORK,
1421
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1425
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1422
			  ndpi_build_default_ports(ports_b, 3702, 0, 0, 0, 0) /* UDP */);
1426
			  ndpi_build_default_ports(ports_b, 3702, 0, 0, 0, 0) /* UDP */);
1423
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TELEGRAM,
1427
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TELEGRAM,
1424
			  "Telegram", NDPI_PROTOCOL_CATEGORY_CHAT,
1428
			  "Telegram", NDPI_PROTOCOL_CATEGORY_CHAT,
1425
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1429
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1426
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1430
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1427
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_QUIC,
1431
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_QUIC,
1428
			  "QUIC", NDPI_PROTOCOL_CATEGORY_WEB,
1432
			  "QUIC", NDPI_PROTOCOL_CATEGORY_WEB,
1429
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1433
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1430
			  ndpi_build_default_ports(ports_b, 443, 80, 0, 0, 0) /* UDP */);
1434
			  ndpi_build_default_ports(ports_b, 443, 80, 0, 0, 0) /* UDP */);
1431
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_QUIC,
1435
  ndpi_set_proto_subprotocols(ndpi_str, NDPI_PROTOCOL_QUIC,
1432
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1436
			      NDPI_PROTOCOL_MATCHED_BY_CONTENT,
1433
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_QUIC can have (content-matched) subprotocols */
1437
			      NDPI_PROTOCOL_NO_MORE_SUBPROTOCOLS); /* NDPI_PROTOCOL_QUIC can have (content-matched) subprotocols */
1434
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DIAMETER,
1438
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DIAMETER,
1435
			  "Diameter", NDPI_PROTOCOL_CATEGORY_NETWORK,
1439
			  "Diameter", NDPI_PROTOCOL_CATEGORY_NETWORK,
1436
			  ndpi_build_default_ports(ports_a, 3868, 0, 0, 0, 0) /* TCP */,
1440
			  ndpi_build_default_ports(ports_a, 3868, 0, 0, 0, 0) /* TCP */,
1437
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1441
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1438
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_APPLE_PUSH,
1442
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_APPLE_PUSH,
1439
			  "ApplePush", NDPI_PROTOCOL_CATEGORY_CLOUD,
1443
			  "ApplePush", NDPI_PROTOCOL_CATEGORY_CLOUD,
1440
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1444
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1441
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1445
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1442
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DROPBOX,
1446
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DROPBOX,
1443
			  "Dropbox", NDPI_PROTOCOL_CATEGORY_CLOUD,
1447
			  "Dropbox", NDPI_PROTOCOL_CATEGORY_CLOUD,
1444
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1448
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1445
			  ndpi_build_default_ports(ports_b, 17500, 0, 0, 0, 0) /* UDP */);
1449
			  ndpi_build_default_ports(ports_b, 17500, 0, 0, 0, 0) /* UDP */);
1446
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SPOTIFY,
1450
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SPOTIFY,
1447
			  "Spotify", NDPI_PROTOCOL_CATEGORY_MUSIC,
1451
			  "Spotify", NDPI_PROTOCOL_CATEGORY_MUSIC,
1448
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1452
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1449
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1453
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1450
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MESSENGER,
1454
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MESSENGER,
1451
			  "Messenger", NDPI_PROTOCOL_CATEGORY_VOIP,
1455
			  "Messenger", NDPI_PROTOCOL_CATEGORY_VOIP,
1452
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1456
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1453
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1457
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1454
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_LISP,
1458
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_LISP,
1455
			  "LISP", NDPI_PROTOCOL_CATEGORY_CLOUD,
1459
			  "LISP", NDPI_PROTOCOL_CATEGORY_CLOUD,
1456
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1460
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1457
			  ndpi_build_default_ports(ports_b, 4342, 4341, 0, 0, 0) /* UDP */);
1461
			  ndpi_build_default_ports(ports_b, 4342, 4341, 0, 0, 0) /* UDP */);
1458
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_EAQ,
1462
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_EAQ,
1459
			  "EAQ", NDPI_PROTOCOL_CATEGORY_NETWORK,
1463
			  "EAQ", NDPI_PROTOCOL_CATEGORY_NETWORK,
1460
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1464
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1461
			  ndpi_build_default_ports(ports_b, 6000, 0, 0, 0, 0) /* UDP */);
1465
			  ndpi_build_default_ports(ports_b, 6000, 0, 0, 0, 0) /* UDP */);
1462
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_KAKAOTALK_VOICE,
1466
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_KAKAOTALK_VOICE,
1463
			  "KakaoTalk_Voice", NDPI_PROTOCOL_CATEGORY_VOIP,
1467
			  "KakaoTalk_Voice", NDPI_PROTOCOL_CATEGORY_VOIP,
1464
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1468
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1465
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1469
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1466
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_MPEGTS,
1470
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_MPEGTS,
1467
			  "MPEG_TS", NDPI_PROTOCOL_CATEGORY_MEDIA,
1471
			  "MPEG_TS", NDPI_PROTOCOL_CATEGORY_MEDIA,
1468
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1472
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1469
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1473
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1470
  /* http://en.wikipedia.org/wiki/Link-local_Multicast_Name_Resolution */
1474
  /* http://en.wikipedia.org/wiki/Link-local_Multicast_Name_Resolution */
1471
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_LLMNR,
1475
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_LLMNR,
1472
			  "LLMNR", NDPI_PROTOCOL_CATEGORY_NETWORK,
1476
			  "LLMNR", NDPI_PROTOCOL_CATEGORY_NETWORK,
1473
			  ndpi_build_default_ports(ports_a, 5355, 0, 0, 0, 0) /* TCP */,
1477
			  ndpi_build_default_ports(ports_a, 5355, 0, 0, 0, 0) /* TCP */,
1474
			  ndpi_build_default_ports(ports_b, 5355, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */
1478
			  ndpi_build_default_ports(ports_b, 5355, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */
1475
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_REMOTE_SCAN,
1479
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_REMOTE_SCAN,
1476
			  "RemoteScan", NDPI_PROTOCOL_CATEGORY_NETWORK,
1480
			  "RemoteScan", NDPI_PROTOCOL_CATEGORY_NETWORK,
1477
			  ndpi_build_default_ports(ports_a, 6077, 0, 0, 0, 0) /* TCP */,
1481
			  ndpi_build_default_ports(ports_a, 6077, 0, 0, 0, 0) /* TCP */,
1478
			  ndpi_build_default_ports(ports_b, 6078, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */
1482
			  ndpi_build_default_ports(ports_b, 6078, 0, 0, 0, 0) /* UDP */); /* Missing dissector: port based only */
1479
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_H323,
1483
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_H323,
1480
			  "H323", NDPI_PROTOCOL_CATEGORY_VOIP,
1484
			  "H323", NDPI_PROTOCOL_CATEGORY_VOIP,
1481
			  ndpi_build_default_ports(ports_a, 1719, 1720, 0, 0, 0) /* TCP */,
1485
			  ndpi_build_default_ports(ports_a, 1719, 1720, 0, 0, 0) /* TCP */,
1482
			  ndpi_build_default_ports(ports_b, 1719, 1720, 0, 0, 0) /* UDP */);
1486
			  ndpi_build_default_ports(ports_b, 1719, 1720, 0, 0, 0) /* UDP */);
1483
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_OPENVPN,
1487
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_OPENVPN,
1484
			  "OpenVPN", NDPI_PROTOCOL_CATEGORY_VPN,
1488
			  "OpenVPN", NDPI_PROTOCOL_CATEGORY_VPN,
1485
			  ndpi_build_default_ports(ports_a, 1194, 0, 0, 0, 0) /* TCP */,
1489
			  ndpi_build_default_ports(ports_a, 1194, 0, 0, 0, 0) /* TCP */,
1486
			  ndpi_build_default_ports(ports_b, 1194, 0, 0, 0, 0) /* UDP */);
1490
			  ndpi_build_default_ports(ports_b, 1194, 0, 0, 0, 0) /* UDP */);
1487
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NOE,
1491
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_NOE,
1488
			  "NOE", NDPI_PROTOCOL_CATEGORY_VOIP,
1492
			  "NOE", NDPI_PROTOCOL_CATEGORY_VOIP,
1489
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1493
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1490
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1494
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1491
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CISCOVPN,
1495
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CISCOVPN,
1492
			  "CiscoVPN", NDPI_PROTOCOL_CATEGORY_VPN,
1496
			  "CiscoVPN", NDPI_PROTOCOL_CATEGORY_VPN,
1493
			  ndpi_build_default_ports(ports_a, 10000, 8008, 8009, 0, 0) /* TCP */,
1497
			  ndpi_build_default_ports(ports_a, 10000, 8008, 8009, 0, 0) /* TCP */,
1494
			  ndpi_build_default_ports(ports_b, 10000, 0, 0, 0, 0) /* UDP */);
1498
			  ndpi_build_default_ports(ports_b, 10000, 0, 0, 0, 0) /* UDP */);
1495
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TEAMSPEAK,
1499
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TEAMSPEAK,
1496
			  "TeamSpeak", NDPI_PROTOCOL_CATEGORY_VOIP,
1500
			  "TeamSpeak", NDPI_PROTOCOL_CATEGORY_VOIP,
1497
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1501
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1498
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1502
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1499
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_TOR,
1503
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_TOR,
1500
			  "Tor", NDPI_PROTOCOL_CATEGORY_VPN,
1504
			  "Tor", NDPI_PROTOCOL_CATEGORY_VPN,
1501
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1505
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1502
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1506
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1503
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SKINNY,
1507
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SKINNY,
1504
			  "CiscoSkinny", NDPI_PROTOCOL_CATEGORY_VOIP,
1508
			  "CiscoSkinny", NDPI_PROTOCOL_CATEGORY_VOIP,
1505
			  ndpi_build_default_ports(ports_a, 2000, 0, 0, 0, 0) /* TCP */,
1509
			  ndpi_build_default_ports(ports_a, 2000, 0, 0, 0, 0) /* TCP */,
1506
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1510
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1507
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RTCP,
1511
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RTCP,
1508
			  "RTCP", NDPI_PROTOCOL_CATEGORY_VOIP,
1512
			  "RTCP", NDPI_PROTOCOL_CATEGORY_VOIP,
1509
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1513
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1510
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1514
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1511
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RSYNC,
1515
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RSYNC,
1512
			  "RSYNC", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
1516
			  "RSYNC", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
1513
			  ndpi_build_default_ports(ports_a, 873, 0, 0, 0, 0) /* TCP */,
1517
			  ndpi_build_default_ports(ports_a, 873, 0, 0, 0, 0) /* TCP */,
1514
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1518
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1515
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ORACLE,
1519
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ORACLE,
1516
			  "Oracle", NDPI_PROTOCOL_CATEGORY_DATABASE,
1520
			  "Oracle", NDPI_PROTOCOL_CATEGORY_DATABASE,
1517
			  ndpi_build_default_ports(ports_a, 1521, 0, 0, 0, 0) /* TCP */,
1521
			  ndpi_build_default_ports(ports_a, 1521, 0, 0, 0, 0) /* TCP */,
1518
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1522
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1519
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CORBA,
1523
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CORBA,
1520
			  "Corba", NDPI_PROTOCOL_CATEGORY_RPC,
1524
			  "Corba", NDPI_PROTOCOL_CATEGORY_RPC,
1521
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1525
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1522
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1526
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1523
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_UBUNTUONE,
1527
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_UBUNTUONE,
1524
			  "UbuntuONE", NDPI_PROTOCOL_CATEGORY_CLOUD,
1528
			  "UbuntuONE", NDPI_PROTOCOL_CATEGORY_CLOUD,
1525
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1529
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1526
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1530
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1527
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WHOIS_DAS,
1531
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WHOIS_DAS,
1528
			  "Whois-DAS", NDPI_PROTOCOL_CATEGORY_NETWORK,
1532
			  "Whois-DAS", NDPI_PROTOCOL_CATEGORY_NETWORK,
1529
			  ndpi_build_default_ports(ports_a, 43, 4343, 0, 0, 0), /* TCP */
1533
			  ndpi_build_default_ports(ports_a, 43, 4343, 0, 0, 0), /* TCP */
1530
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));    /* UDP */
1534
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));    /* UDP */
1531
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_COLLECTD,
1535
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_COLLECTD,
1532
			  "Collectd", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
1536
			  "Collectd", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
1533
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),      /* TCP */
1537
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),      /* TCP */
1534
			  ndpi_build_default_ports(ports_b, 25826, 0, 0, 0, 0)); /* UDP */
1538
			  ndpi_build_default_ports(ports_b, 25826, 0, 0, 0, 0)); /* UDP */
1535
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SOCKS,
1539
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SOCKS,
1536
			  "SOCKS", NDPI_PROTOCOL_CATEGORY_WEB,
1540
			  "SOCKS", NDPI_PROTOCOL_CATEGORY_WEB,
1537
			  ndpi_build_default_ports(ports_a, 1080, 0, 0, 0, 0),  /* TCP */
1541
			  ndpi_build_default_ports(ports_a, 1080, 0, 0, 0, 0),  /* TCP */
1538
			  ndpi_build_default_ports(ports_b, 1080, 0, 0, 0, 0)); /* UDP */
1542
			  ndpi_build_default_ports(ports_b, 1080, 0, 0, 0, 0)); /* UDP */
1539
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TFTP,
1543
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TFTP,
1540
			  "TFTP", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
1544
			  "TFTP", NDPI_PROTOCOL_CATEGORY_DATA_TRANSFER,
1541
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),   /* TCP */
1545
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),   /* TCP */
1542
			  ndpi_build_default_ports(ports_b, 69, 0, 0, 0, 0)); /* UDP */
1546
			  ndpi_build_default_ports(ports_b, 69, 0, 0, 0, 0)); /* UDP */
1543
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RTMP,
1547
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RTMP,
1544
			  "RTMP", NDPI_PROTOCOL_CATEGORY_MEDIA,
1548
			  "RTMP", NDPI_PROTOCOL_CATEGORY_MEDIA,
1545
			  ndpi_build_default_ports(ports_a, 1935, 0, 0, 0, 0), /* TCP */
1549
			  ndpi_build_default_ports(ports_a, 1935, 0, 0, 0, 0), /* TCP */
1546
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));   /* UDP */
1550
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));   /* UDP */
1547
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_PINTEREST,
1551
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_PINTEREST,
1548
			  "Pinterest", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1552
			  "Pinterest", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1549
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1553
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1550
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1554
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1551
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MEGACO,
1555
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MEGACO,
1552
			  "Megaco", NDPI_PROTOCOL_CATEGORY_VOIP,
1556
			  "Megaco", NDPI_PROTOCOL_CATEGORY_VOIP,
1553
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),     /* TCP */
1557
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),     /* TCP */
1554
			  ndpi_build_default_ports(ports_b, 2944, 0, 0, 0, 0)); /* UDP */
1558
			  ndpi_build_default_ports(ports_b, 2944, 0, 0, 0, 0)); /* UDP */
1555
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_REDIS,
1559
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_REDIS,
1556
			  "Redis", NDPI_PROTOCOL_CATEGORY_DATABASE,
1560
			  "Redis", NDPI_PROTOCOL_CATEGORY_DATABASE,
1557
			  ndpi_build_default_ports(ports_a, 6379, 0, 0, 0, 0), /* TCP */
1561
			  ndpi_build_default_ports(ports_a, 6379, 0, 0, 0, 0), /* TCP */
1558
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));   /* UDP */
1562
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));   /* UDP */
1559
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ZMQ,
1563
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ZMQ,
1560
			  "ZeroMQ", NDPI_PROTOCOL_CATEGORY_RPC,
1564
			  "ZeroMQ", NDPI_PROTOCOL_CATEGORY_RPC,
1561
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1565
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1562
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1566
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1563
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_VHUA,
1567
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_VHUA,
1564
			  "VHUA", NDPI_PROTOCOL_CATEGORY_VOIP,
1568
			  "VHUA", NDPI_PROTOCOL_CATEGORY_VOIP,
1565
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),      /* TCP */
1569
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),      /* TCP */
1566
			  ndpi_build_default_ports(ports_b, 58267, 0, 0, 0, 0)); /* UDP */
1570
			  ndpi_build_default_ports(ports_b, 58267, 0, 0, 0, 0)); /* UDP */
1567
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_STARCRAFT,
1571
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_STARCRAFT,
1568
			  "Starcraft", NDPI_PROTOCOL_CATEGORY_GAME,
1572
			  "Starcraft", NDPI_PROTOCOL_CATEGORY_GAME,
1569
			  ndpi_build_default_ports(ports_a, 1119, 0, 0, 0, 0),  /* TCP */
1573
			  ndpi_build_default_ports(ports_a, 1119, 0, 0, 0, 0),  /* TCP */
1570
			  ndpi_build_default_ports(ports_b, 1119, 0, 0, 0, 0)); /* UDP */
1574
			  ndpi_build_default_ports(ports_b, 1119, 0, 0, 0, 0)); /* UDP */
1571
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_UBNTAC2,
1575
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_UBNTAC2,
1572
			  "UBNTAC2", NDPI_PROTOCOL_CATEGORY_NETWORK,
1576
			  "UBNTAC2", NDPI_PROTOCOL_CATEGORY_NETWORK,
1573
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),      /* TCP */
1577
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),      /* TCP */
1574
			  ndpi_build_default_ports(ports_b, 10001, 0, 0, 0, 0)); /* UDP */
1578
			  ndpi_build_default_ports(ports_b, 10001, 0, 0, 0, 0)); /* UDP */
1575
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_VIBER,
1579
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_VIBER,
1576
			  "Viber", NDPI_PROTOCOL_CATEGORY_VOIP,
1580
			  "Viber", NDPI_PROTOCOL_CATEGORY_VOIP,
1577
			  ndpi_build_default_ports(ports_a, 7985, 5242, 5243, 4244, 0),     /* TCP */
1581
			  ndpi_build_default_ports(ports_a, 7985, 5242, 5243, 4244, 0),     /* TCP */
1578
			  ndpi_build_default_ports(ports_b, 7985, 7987, 5242, 5243, 4244)); /* UDP */
1582
			  ndpi_build_default_ports(ports_b, 7985, 7987, 5242, 5243, 4244)); /* UDP */
1579
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_COAP,
1583
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_COAP,
1580
			  "COAP", NDPI_PROTOCOL_CATEGORY_RPC,
1584
			  "COAP", NDPI_PROTOCOL_CATEGORY_RPC,
1581
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),        /* TCP */
1585
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),        /* TCP */
1582
			  ndpi_build_default_ports(ports_b, 5683, 5684, 0, 0, 0)); /* UDP */
1586
			  ndpi_build_default_ports(ports_b, 5683, 5684, 0, 0, 0)); /* UDP */
1583
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MQTT,
1587
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MQTT,
1584
			  "MQTT", NDPI_PROTOCOL_CATEGORY_RPC,
1588
			  "MQTT", NDPI_PROTOCOL_CATEGORY_RPC,
1585
			  ndpi_build_default_ports(ports_a, 1883, 8883, 0, 0, 0), /* TCP */
1589
			  ndpi_build_default_ports(ports_a, 1883, 8883, 0, 0, 0), /* TCP */
1586
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));      /* UDP */
1590
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));      /* UDP */
1587
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SOMEIP,
1591
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SOMEIP,
1588
			  "SOMEIP", NDPI_PROTOCOL_CATEGORY_RPC,
1592
			  "SOMEIP", NDPI_PROTOCOL_CATEGORY_RPC,
1589
			  ndpi_build_default_ports(ports_a, 30491, 30501, 0, 0, 0),      /* TCP */
1593
			  ndpi_build_default_ports(ports_a, 30491, 30501, 0, 0, 0),      /* TCP */
1590
			  ndpi_build_default_ports(ports_b, 30491, 30501, 30490, 0, 0)); /* UDP */
1594
			  ndpi_build_default_ports(ports_b, 30491, 30501, 30490, 0, 0)); /* UDP */
1591
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RX,
1595
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_RX,
1592
			  "RX", NDPI_PROTOCOL_CATEGORY_RPC,
1596
			  "RX", NDPI_PROTOCOL_CATEGORY_RPC,
1593
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1597
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1594
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1598
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1595
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_GIT,
1599
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_GIT,
1596
			  "Git", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1600
			  "Git", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1597
			  ndpi_build_default_ports(ports_a, 9418, 0, 0, 0, 0), /* TCP */
1601
			  ndpi_build_default_ports(ports_a, 9418, 0, 0, 0, 0), /* TCP */
1598
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));   /* UDP */
1602
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0));   /* UDP */
1599
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DRDA,
1603
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DRDA,
1600
			  "DRDA", NDPI_PROTOCOL_CATEGORY_DATABASE,
1604
			  "DRDA", NDPI_PROTOCOL_CATEGORY_DATABASE,
1601
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1605
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1602
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1606
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1603
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HANGOUT_DUO,
1607
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HANGOUT_DUO,
1604
			  "GoogleHangoutDuo", NDPI_PROTOCOL_CATEGORY_VOIP,
1608
			  "GoogleHangoutDuo", NDPI_PROTOCOL_CATEGORY_VOIP,
1605
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1609
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1606
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1610
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1607
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_BJNP,
1611
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_BJNP,
1608
			  "BJNP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
1612
			  "BJNP", NDPI_PROTOCOL_CATEGORY_SYSTEM_OS,
1609
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1613
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1610
			  ndpi_build_default_ports(ports_b, 8612, 0, 0, 0, 0) /* UDP */);
1614
			  ndpi_build_default_ports(ports_b, 8612, 0, 0, 0, 0) /* UDP */);
1611
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SMPP,
1615
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SMPP,
1612
			  "SMPP", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1616
			  "SMPP", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
1613
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1617
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1614
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1618
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1615
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_OOKLA,
1619
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_OOKLA,
1616
			  "Ookla", NDPI_PROTOCOL_CATEGORY_NETWORK,
1620
			  "Ookla", NDPI_PROTOCOL_CATEGORY_NETWORK,
1617
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1621
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1618
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1622
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1619
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AMQP,
1623
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AMQP,
1620
			  "AMQP", NDPI_PROTOCOL_CATEGORY_RPC,
1624
			  "AMQP", NDPI_PROTOCOL_CATEGORY_RPC,
1621
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1625
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1622
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1626
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1623
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_DNSCRYPT,
1627
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_DNSCRYPT,
1624
			  "DNScrypt", NDPI_PROTOCOL_CATEGORY_NETWORK,
1628
			  "DNScrypt", NDPI_PROTOCOL_CATEGORY_NETWORK,
1625
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1629
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1626
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1630
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1627
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TINC,
1631
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TINC,
1628
			  "TINC", NDPI_PROTOCOL_CATEGORY_VPN,
1632
			  "TINC", NDPI_PROTOCOL_CATEGORY_VPN,
1629
			  ndpi_build_default_ports(ports_a, 655, 0, 0, 0, 0) /* TCP */,
1633
			  ndpi_build_default_ports(ports_a, 655, 0, 0, 0, 0) /* TCP */,
1630
			  ndpi_build_default_ports(ports_b, 655, 0, 0, 0, 0) /* UDP */);
1634
			  ndpi_build_default_ports(ports_b, 655, 0, 0, 0, 0) /* UDP */);
1631
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_FIX,
1635
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_FIX,
1632
			  "FIX", NDPI_PROTOCOL_CATEGORY_RPC,
1636
			  "FIX", NDPI_PROTOCOL_CATEGORY_RPC,
1633
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1637
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1634
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1638
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1635
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_NINTENDO,
1639
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_NINTENDO,
1636
			  "Nintendo", NDPI_PROTOCOL_CATEGORY_GAME,
1640
			  "Nintendo", NDPI_PROTOCOL_CATEGORY_GAME,
1637
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1641
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1638
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1642
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1639
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_CSGO,
1643
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_CSGO,
1640
			  "CSGO", NDPI_PROTOCOL_CATEGORY_GAME,
1644
			  "CSGO", NDPI_PROTOCOL_CATEGORY_GAME,
1641
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1645
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1642
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1646
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1643
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AJP,
1647
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AJP,
1644
			  "AJP", NDPI_PROTOCOL_CATEGORY_WEB,
1648
			  "AJP", NDPI_PROTOCOL_CATEGORY_WEB,
1645
			  ndpi_build_default_ports(ports_a, 8009, 8010, 0, 0, 0) /* TCP */,
1649
			  ndpi_build_default_ports(ports_a, 8009, 8010, 0, 0, 0) /* TCP */,
1646
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1650
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1647
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TARGUS_GETDATA,
1651
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_TARGUS_GETDATA,
1648
			  "TargusDataspeed", NDPI_PROTOCOL_CATEGORY_NETWORK,
1652
			  "TargusDataspeed", NDPI_PROTOCOL_CATEGORY_NETWORK,
1649
			  ndpi_build_default_ports(ports_a, 5001, 5201, 0, 0, 0) /* TCP */,
1653
			  ndpi_build_default_ports(ports_a, 5001, 5201, 0, 0, 0) /* TCP */,
1650
			  ndpi_build_default_ports(ports_b, 5001, 5201, 0, 0, 0) /* UDP */);
1654
			  ndpi_build_default_ports(ports_b, 5001, 5201, 0, 0, 0) /* UDP */);
1651
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AMAZON_VIDEO,
1655
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_AMAZON_VIDEO,
1652
			  "AmazonVideo", NDPI_PROTOCOL_CATEGORY_CLOUD,
1656
			  "AmazonVideo", NDPI_PROTOCOL_CATEGORY_CLOUD,
1653
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1657
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1654
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1658
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1655
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DNP3,
1659
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_DNP3,
1656
			  "DNP3", NDPI_PROTOCOL_CATEGORY_IOT_SCADA,
1660
			  "DNP3", NDPI_PROTOCOL_CATEGORY_IOT_SCADA,
1657
			  ndpi_build_default_ports(ports_a, 20000, 0, 0, 0, 0) /* TCP */,
1661
			  ndpi_build_default_ports(ports_a, 20000, 0, 0, 0, 0) /* TCP */,
1658
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1662
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1659
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IEC60870,
1663
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IEC60870,
1660
			  "IEC60870", NDPI_PROTOCOL_CATEGORY_IOT_SCADA,
1664
			  "IEC60870", NDPI_PROTOCOL_CATEGORY_IOT_SCADA,
1661
			  ndpi_build_default_ports(ports_a, 2404, 0, 0, 0, 0) /* TCP */,
1665
			  ndpi_build_default_ports(ports_a, 2404, 0, 0, 0, 0) /* TCP */,
1662
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1666
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1663
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_BLOOMBERG,
1667
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_BLOOMBERG,
1664
			  "Bloomberg", NDPI_PROTOCOL_CATEGORY_NETWORK,
1668
			  "Bloomberg", NDPI_PROTOCOL_CATEGORY_NETWORK,
1665
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1669
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1666
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1670
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1667
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CAPWAP,
1671
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_CAPWAP,
1668
			  "CAPWAP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1672
			  "CAPWAP", NDPI_PROTOCOL_CATEGORY_NETWORK,
1669
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1673
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1670
			  ndpi_build_default_ports(ports_b, 5246, 5247, 0, 0, 0) /* UDP */);
1674
			  ndpi_build_default_ports(ports_b, 5246, 5247, 0, 0, 0) /* UDP */);
1671
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ZABBIX,
1675
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ZABBIX,
1672
			  "Zabbix", NDPI_PROTOCOL_CATEGORY_NETWORK,
1676
			  "Zabbix", NDPI_PROTOCOL_CATEGORY_NETWORK,
1673
			  ndpi_build_default_ports(ports_a, 10050, 0, 0, 0, 0) /* TCP */,
1677
			  ndpi_build_default_ports(ports_a, 10050, 0, 0, 0, 0) /* TCP */,
1674
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1678
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1675
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_S7COMM,
1679
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_S7COMM,
1676
			  "s7comm", NDPI_PROTOCOL_CATEGORY_NETWORK,
1680
			  "s7comm", NDPI_PROTOCOL_CATEGORY_NETWORK,
1677
			  ndpi_build_default_ports(ports_a, 102, 0, 0, 0, 0) /* TCP */,
1681
			  ndpi_build_default_ports(ports_a, 102, 0, 0, 0, 0) /* TCP */,
1678
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1682
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1679
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_MSTEAMS,
1683
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_MSTEAMS,
1680
			  "Teams", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1684
			  "Teams", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1681
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1685
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1682
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1686
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1683
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WEBSOCKET,
1687
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_WEBSOCKET,
1684
			  "WebSocket", NDPI_PROTOCOL_CATEGORY_WEB,
1688
			  "WebSocket", NDPI_PROTOCOL_CATEGORY_WEB,
1685
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1689
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1686
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1690
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1687
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ANYDESK,
1691
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_ANYDESK,
1688
			  "AnyDesk", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1692
			  "AnyDesk", NDPI_PROTOCOL_CATEGORY_REMOTE_ACCESS,
1689
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1693
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1690
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1694
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1691
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SOAP,
1695
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SOAP,
1692
			  "SOAP", NDPI_PROTOCOL_CATEGORY_RPC,
1696
			  "SOAP", NDPI_PROTOCOL_CATEGORY_RPC,
1693
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1697
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1694
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1698
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1695
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MONGODB,
1699
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_MONGODB,
1696
			  "MongoDB", NDPI_PROTOCOL_CATEGORY_DATABASE,
1700
			  "MongoDB", NDPI_PROTOCOL_CATEGORY_DATABASE,
1697
			  ndpi_build_default_ports(ports_a, 27017, 0, 0, 0, 0) /* TCP */,
1701
			  ndpi_build_default_ports(ports_a, 27017, 0, 0, 0, 0) /* TCP */,
1698
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1702
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1699
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_APPLE_SIRI,
1703
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_APPLE_SIRI,
1700
			  "AppleSiri", NDPI_PROTOCOL_CATEGORY_VIRTUAL_ASSISTANT,
1704
			  "AppleSiri", NDPI_PROTOCOL_CATEGORY_VIRTUAL_ASSISTANT,
1701
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1705
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1702
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1706
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1703
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SNAPCHAT_CALL,
1707
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_SNAPCHAT_CALL,
1704
			  "SnapchatCall", NDPI_PROTOCOL_CATEGORY_VOIP,
1708
			  "SnapchatCall", NDPI_PROTOCOL_CATEGORY_VOIP,
1705
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1709
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1706
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1710
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1707
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HPVIRTGRP,
1711
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_HPVIRTGRP,
1708
			  "HP Virtual Machine Group Management", NDPI_PROTOCOL_CATEGORY_NETWORK,
1712
			  "HP Virtual Machine Group Management", NDPI_PROTOCOL_CATEGORY_NETWORK,
1709
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1713
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1710
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1714
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1711
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_GENSHIN_IMPACT,
1715
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_GENSHIN_IMPACT,
1712
			  "GenshinImpact", NDPI_PROTOCOL_CATEGORY_GAME,
1716
			  "GenshinImpact", NDPI_PROTOCOL_CATEGORY_GAME,
1713
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1717
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1714
			  ndpi_build_default_ports(ports_b, 22102, 0, 0, 0, 0) /* UDP */);
1718
			  ndpi_build_default_ports(ports_b, 22102, 0, 0, 0, 0) /* UDP */);
1715
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_ACTIVISION,
1719
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_ACTIVISION,
1716
			  "Activision", NDPI_PROTOCOL_CATEGORY_GAME,
1720
			  "Activision", NDPI_PROTOCOL_CATEGORY_GAME,
1717
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1721
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1718
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1722
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1719
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_FORTICLIENT,
1723
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_FORTICLIENT,
1720
			  "FortiClient", NDPI_PROTOCOL_CATEGORY_VPN,
1724
			  "FortiClient", NDPI_PROTOCOL_CATEGORY_VPN,
1721
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1725
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1722
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1726
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1723
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_Z3950,
1727
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_Z3950,
1724
			  "Z39.50", NDPI_PROTOCOL_CATEGORY_NETWORK,
1728
			  "Z39.50", NDPI_PROTOCOL_CATEGORY_NETWORK,
1725
			  ndpi_build_default_ports(ports_a, 210, 0, 0, 0, 0) /* TCP */,
1729
			  ndpi_build_default_ports(ports_a, 210, 0, 0, 0, 0) /* TCP */,
1726
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1730
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1727
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_LIKEE,
1731
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_LIKEE,
1728
			  "Likee", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1732
			  "Likee", NDPI_PROTOCOL_CATEGORY_SOCIAL_NETWORK,
1729
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1733
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1730
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1734
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1731
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_GITLAB,
1735
  ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_FUN, NDPI_PROTOCOL_GITLAB,
1732
			  "GitLab", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1736
			  "GitLab", NDPI_PROTOCOL_CATEGORY_COLLABORATIVE,
1733
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1737
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
1734
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1738
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
1735
  ndpi_set_proto_defaults(ndpi_str, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_AVAST_SECUREDNS,
1739
  ndpi_set_proto_defaults(ndpi_str, 0 /* encrypted */, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_AVAST_SECUREDNS,
1736
			  "AVAST SecureDNS", NDPI_PROTOCOL_CATEGORY_NETWORK,
1740
			  "AVAST SecureDNS", NDPI_PROTOCOL_CATEGORY_NETWORK,
1737
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1741
			  ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0),  /* TCP */
1738
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
1742
			  ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0)); /* UDP */
Lines 3074-3082 int ndpi_handle_rule(struct ndpi_detection_module_struct *ndpi_str, char *rule, Link Here
3074
	return(-2);
3078
	return(-2);
3075
      }
3079
      }
3076
3080
3077
      ndpi_set_proto_defaults(
3081
      ndpi_set_proto_defaults(ndpi_str, 1, NDPI_PROTOCOL_ACCEPTABLE,
3078
			      ndpi_str, NDPI_PROTOCOL_ACCEPTABLE, ndpi_str->ndpi_num_supported_protocols,
3082
			      ndpi_str->ndpi_num_supported_protocols, proto,
3079
			      proto,
3080
			      NDPI_PROTOCOL_CATEGORY_UNSPECIFIED, /* TODO add protocol category support in rules */
3083
			      NDPI_PROTOCOL_CATEGORY_UNSPECIFIED, /* TODO add protocol category support in rules */
3081
			      ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
3084
			      ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
3082
			      ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
3085
			      ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
Lines 6646-6654 ndpi_protocol_category_t ndpi_get_proto_category(struct ndpi_detection_module_st Link Here
6646
  /* simple rule: sub protocol first, master after */
6649
  /* simple rule: sub protocol first, master after */
6647
  else if((proto.master_protocol == NDPI_PROTOCOL_UNKNOWN) ||
6650
  else if((proto.master_protocol == NDPI_PROTOCOL_UNKNOWN) ||
6648
	  (ndpi_str->proto_defaults[proto.app_protocol].protoCategory != NDPI_PROTOCOL_CATEGORY_UNSPECIFIED)) {
6651
	  (ndpi_str->proto_defaults[proto.app_protocol].protoCategory != NDPI_PROTOCOL_CATEGORY_UNSPECIFIED)) {
6649
    if(proto.app_protocol < (NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS))
6652
    if(ndpi_is_valid_protoId(proto.app_protocol))
6650
      return(ndpi_str->proto_defaults[proto.app_protocol].protoCategory);
6653
      return(ndpi_str->proto_defaults[proto.app_protocol].protoCategory);
6651
  } else if(proto.master_protocol < (NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS))
6654
  } else if(ndpi_is_valid_protoId(proto.master_protocol))
6652
    return(ndpi_str->proto_defaults[proto.master_protocol].protoCategory);
6655
    return(ndpi_str->proto_defaults[proto.master_protocol].protoCategory);
6653
6656
6654
  return(NDPI_PROTOCOL_CATEGORY_UNSPECIFIED);
6657
  return(NDPI_PROTOCOL_CATEGORY_UNSPECIFIED);
Lines 6658-6666 ndpi_protocol_category_t ndpi_get_proto_category(struct ndpi_detection_module_st Link Here
6658
6661
6659
char *ndpi_get_proto_name(struct ndpi_detection_module_struct *ndpi_str,
6662
char *ndpi_get_proto_name(struct ndpi_detection_module_struct *ndpi_str,
6660
			  u_int16_t proto_id) {
6663
			  u_int16_t proto_id) {
6661
  if((proto_id >= ndpi_str->ndpi_num_supported_protocols) ||
6664
  if((proto_id >= ndpi_str->ndpi_num_supported_protocols)
6662
     (proto_id >= (NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS)) ||
6665
     || (!ndpi_is_valid_protoId(proto_id))
6663
     (ndpi_str->proto_defaults[proto_id].protoName == NULL))
6666
     || (ndpi_str->proto_defaults[proto_id].protoName == NULL))
6664
    proto_id = NDPI_PROTOCOL_UNKNOWN;
6667
    proto_id = NDPI_PROTOCOL_UNKNOWN;
6665
6668
6666
  return(ndpi_str->proto_defaults[proto_id].protoName);
6669
  return(ndpi_str->proto_defaults[proto_id].protoName);
Lines 6671-6677 char *ndpi_get_proto_name(struct ndpi_detection_module_struct *ndpi_str, Link Here
6671
ndpi_protocol_breed_t ndpi_get_proto_breed(struct ndpi_detection_module_struct *ndpi_str,
6674
ndpi_protocol_breed_t ndpi_get_proto_breed(struct ndpi_detection_module_struct *ndpi_str,
6672
					   u_int16_t proto_id) {
6675
					   u_int16_t proto_id) {
6673
  if((proto_id >= ndpi_str->ndpi_num_supported_protocols) ||
6676
  if((proto_id >= ndpi_str->ndpi_num_supported_protocols) ||
6674
     (proto_id >= (NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS)) ||
6677
     (!ndpi_is_valid_protoId(proto_id)) ||
6675
     (ndpi_str->proto_defaults[proto_id].protoName == NULL))
6678
     (ndpi_str->proto_defaults[proto_id].protoName == NULL))
6676
    proto_id = NDPI_PROTOCOL_UNKNOWN;
6679
    proto_id = NDPI_PROTOCOL_UNKNOWN;
6677
6680
(-)a/src/lib/ndpi_utils.c (-1 / +18 lines)
Lines 2226-2228 u_int8_t is_a_common_alpn(struct ndpi_detection_module_struct *ndpi_str, Link Here
2226
  
2226
  
2227
  return(0);
2227
  return(0);
2228
}
2228
}
2229
- 
2229
2230
/* ******************************************* */
2231
2232
u_int8_t ndpi_is_valid_protoId(u_int16_t protoId) {
2233
  return((protoId >= NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS) ? 0 : 1);  
2234
}
2235
2236
/* ******************************************* */
2237
2238
u_int8_t ndpi_is_encrypted_proto(struct ndpi_detection_module_struct *ndpi_str,
2239
				 ndpi_protocol proto) {
2240
2241
  if(ndpi_is_valid_protoId(proto.master_protocol) && ndpi_is_valid_protoId(proto.app_protocol)) {    
2242
    return((ndpi_str->proto_defaults[proto.master_protocol].isClearTextProto
2243
	    && ndpi_str->proto_defaults[proto.app_protocol].isClearTextProto) ? 0 : 1);
2244
  } else
2245
    return(0);
2246
}

Return to bug 830403