From 7798b964fe9d8f42a19b4fb03ec8ad6e3ad76e9c Mon Sep 17 00:00:00 2001
From: Luca Deri <deri@ntop.org>
Date: Tue, 24 Apr 2018 15:48:46 +0200
Subject: Replaces outdates socrates protocol with ntop

---
 src/lib/Makefile.am              |  1 -
 src/lib/ndpi_content_match.c.inc |  2 +
 src/lib/ndpi_main.c              |  7 +---
 src/lib/protocols/socrates.c     | 89 ----------------------------------------
 4 files changed, 4 insertions(+), 95 deletions(-)
 delete mode 100644 src/lib/protocols/socrates.c

(limited to 'src/lib')

diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index 28b425022..ea29f89f7 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -127,7 +127,6 @@ libndpi_la_SOURCES = ndpi_content_match.c.inc \
 		     protocols/smb.c \
 		     protocols/snmp.c \
 		     protocols/socks45.c \
-		     protocols/socrates.c \
 		     protocols/sopcast.c \
 		     protocols/soulseek.c \
 		     protocols/spotify.c \
diff --git a/src/lib/ndpi_content_match.c.inc b/src/lib/ndpi_content_match.c.inc
index 1b8200a4a..888b0e560 100644
--- a/src/lib/ndpi_content_match.c.inc
+++ b/src/lib/ndpi_content_match.c.inc
@@ -8040,6 +8040,8 @@ ndpi_protocol_match host_match[] = {
   { "android.clients.google.com", NULL, NULL,   "PlayStore",    NDPI_PROTOCOL_PLAYSTORE, NDPI_PROTOCOL_CATEGORY_SW_UPDATE, NDPI_PROTOCOL_SAFE },
   { "ggpht.com", NULL, NULL,                    "PlayStore",    NDPI_PROTOCOL_PLAYSTORE, NDPI_PROTOCOL_CATEGORY_SW_UPDATE, NDPI_PROTOCOL_SAFE },
 
+  { "ntop.org", NULL, NULL,                     "ntop",         NDPI_PROTOCOL_NTOP, NDPI_PROTOCOL_CATEGORY_NETWORK, NDPI_PROTOCOL_SAFE },
+
   /*
     See https://better.fyi/trackers/
 
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index afabf820e..e798dffba 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -1006,9 +1006,9 @@ static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndp
 			    no_master, "DirectConnect", NDPI_PROTOCOL_CATEGORY_DOWNLOAD_FT,
 			    ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
 			    ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
-    ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_POTENTIALLY_DANGEROUS, NDPI_PROTOCOL_SOCRATES,
+    ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_SAFE, NDPI_PROTOCOL_NTOP,
 			    no_master,
-			    no_master, "Socrates", NDPI_PROTOCOL_CATEGORY_NETWORK,
+			    no_master, "ntop", NDPI_PROTOCOL_CATEGORY_NETWORK,
 			    ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
 			    ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
     ndpi_set_proto_defaults(ndpi_mod, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_VMWARE,
@@ -2647,9 +2647,6 @@ void ndpi_set_protocol_detection_bitmask2(struct ndpi_detection_module_struct *n
   /* DHCP */
   init_dhcp_dissector(ndpi_struct, &a, detection_bitmask);
 
-  /* SOCRATES */
-  init_socrates_dissector(ndpi_struct, &a, detection_bitmask);
-
   /* STEAM */
   init_steam_dissector(ndpi_struct, &a, detection_bitmask);
 
diff --git a/src/lib/protocols/socrates.c b/src/lib/protocols/socrates.c
deleted file mode 100644
index 2dfad068d..000000000
--- a/src/lib/protocols/socrates.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * socrates.c
- *
- * Copyright (C) 2009-2011 by ipoque GmbH
- * Copyright (C) 2011-15 - ntop.org
- *
- * This file is part of nDPI, an open source deep packet inspection
- * library based on the OpenDPI and PACE technology by ipoque GmbH
- *
- * nDPI is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * nDPI is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with nDPI.  If not, see <http://www.gnu.org/licenses/>.
- * 
- */
-
-
-#include "ndpi_protocol_ids.h"
-
-#ifdef NDPI_PROTOCOL_SOCRATES
-
-#define NDPI_CURRENT_PROTO NDPI_PROTOCOL_SOCRATES
-
-#include "ndpi_api.h"
-
-static void ndpi_socrates_add_connection(struct ndpi_detection_module_struct
-					 *ndpi_struct, struct ndpi_flow_struct *flow)
-{
-  ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_SOCRATES, NDPI_PROTOCOL_UNKNOWN);
-}
-
-void ndpi_search_socrates(struct ndpi_detection_module_struct
-			  *ndpi_struct, struct ndpi_flow_struct *flow)
-{
-  struct ndpi_packet_struct *packet = &flow->packet;
-	
-  NDPI_LOG_DBG(ndpi_struct, "search socrates\n");
-
-  if (packet->udp != NULL) {
-    if (packet->payload_packet_len > 9 && packet->payload[0] == 0xfe
-	&& packet->payload[packet->payload_packet_len - 1] == 0x05) {
-      NDPI_LOG_DBG2(ndpi_struct, "found fe\n");
-
-      NDPI_LOG_DBG2(ndpi_struct, "len match\n");
-      if (memcmp(&packet->payload[2], "socrates", 8) == 0) {
-	NDPI_LOG_INFO(ndpi_struct, "found socrates udp\n");
-	ndpi_socrates_add_connection(ndpi_struct, flow);
-      }
-
-    }
-  } else if (packet->tcp != NULL) {
-    if (packet->payload_packet_len > 13 && packet->payload[0] == 0xfe
-	&& packet->payload[packet->payload_packet_len - 1] == 0x05) {
-      NDPI_LOG_DBG2(ndpi_struct, "found fe\n");
-      if (packet->payload_packet_len == ntohl(get_u_int32_t(packet->payload, 2))) {
-	NDPI_LOG_DBG2(ndpi_struct, "len match\n");
-	if (memcmp(&packet->payload[6], "socrates", 8) == 0) {
-	  NDPI_LOG_INFO(ndpi_struct, "found socrates tcp\n");
-	  ndpi_socrates_add_connection(ndpi_struct, flow);
-	}
-      }
-    }
-  }
-
-  NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
-}
-
-
-void init_socrates_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask)
-{
-  ndpi_set_bitmask_protocol_detection("Socrates", ndpi_struct, detection_bitmask, *id,
-				      NDPI_PROTOCOL_SOCRATES,
-				      ndpi_search_socrates,
-				      NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_OR_UDP_WITH_PAYLOAD,
-				      SAVE_DETECTION_BITMASK_AS_UNKNOWN,
-				      ADD_TO_DETECTION_BITMASK);
-
-  *id += 1;
-}
-
-#endif
-- 
cgit v1.2.3