diff options
-rw-r--r-- | src/lib/protocols/rsync.c | 6 | ||||
-rw-r--r-- | src/lib/protocols/tds.c | 104 |
2 files changed, 3 insertions, 107 deletions
diff --git a/src/lib/protocols/rsync.c b/src/lib/protocols/rsync.c index 11f4aa89c..2b85da72b 100644 --- a/src/lib/protocols/rsync.c +++ b/src/lib/protocols/rsync.c @@ -2,6 +2,7 @@ * rsync.c * * Copyright (C) 2013 Remy Mudingay <mudingay@ill.fr> + * Copyright (C) 2016 ntop.org * * This module is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by @@ -21,7 +22,6 @@ #include "ndpi_api.h" - #ifdef NDPI_PROTOCOL_RSYNC static void ndpi_int_rsync_add_connection(struct ndpi_detection_module_struct *ndpi_struct, struct ndpi_flow_struct *flow) @@ -35,10 +35,10 @@ void ndpi_search_rsync(struct ndpi_detection_module_struct *ndpi_struct, struct NDPI_LOG(NDPI_PROTOCOL_RSYNC, ndpi_struct, NDPI_LOG_DEBUG, "search for RSYNC.\n"); - if(packet->tcp != NULL) { + if(packet->tcp) { NDPI_LOG(NDPI_PROTOCOL_RSYNC, ndpi_struct, NDPI_LOG_DEBUG, "calculating RSYNC over tcp.\n"); /* - * Should match: memcmp(packet->payload, "@RSYN NCD: 28", 14) == 0) + * Should match: memcmp(packet->payload, "@RSYNCD: 28", 14) == 0) */ if (packet->payload_packet_len == 12 && packet->payload[0] == 0x40 && packet->payload[1] == 0x52 && packet->payload[2] == 0x53 && diff --git a/src/lib/protocols/tds.c b/src/lib/protocols/tds.c deleted file mode 100644 index 467e3111c..000000000 --- a/src/lib/protocols/tds.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * tds.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_protocols.h" -#ifdef NDPI_PROTOCOL_TDS - -static void ndpi_int_tds_add_connection(struct ndpi_detection_module_struct - *ndpi_struct, struct ndpi_flow_struct *flow) -{ - ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_TDS, NDPI_PROTOCOL_UNKNOWN); -} - -void ndpi_search_tds_tcp(struct ndpi_detection_module_struct - *ndpi_struct, struct ndpi_flow_struct *flow) -{ - struct ndpi_packet_struct *packet = &flow->packet; - - // struct ndpi_id_struct *src=ndpi_struct->src; - // struct ndpi_id_struct *dst=ndpi_struct->dst; - - if (packet->payload_packet_len > 8 - && packet->payload_packet_len < 512 - && packet->payload[1] < 0x02 - && ntohs(get_u_int16_t(packet->payload, 2)) == packet->payload_packet_len && get_u_int16_t(packet->payload, 4) == 0x0000) { - - if (flow->l4.tcp.tds_stage == 0) { - if (packet->payload[0] != 0x02 && packet->payload[0] != 0x07 && packet->payload[0] != 0x12) { - goto exclude_tds; - } else { - flow->l4.tcp.tds_stage = 1 + packet->packet_direction; - flow->l4.tcp.tds_login_version = packet->payload[0]; - return; - } - } else if (flow->l4.tcp.tds_stage == 2 - packet->packet_direction) { - switch (flow->l4.tcp.tds_login_version) { - case 0x12: - if (packet->payload[0] == 0x04) { - flow->l4.tcp.tds_stage = 3 + packet->packet_direction; - return; - } else { - goto exclude_tds; - } - //TODO: add more cases for other versions - default: - goto exclude_tds; - } - } else if (flow->l4.tcp.tds_stage == 4 - packet->packet_direction) { - switch (flow->l4.tcp.tds_login_version) { - case 0x12: - if (packet->payload[0] == 0x12) { - NDPI_LOG(NDPI_PROTOCOL_TDS, ndpi_struct, NDPI_LOG_DEBUG, "TDS detected\n"); - ndpi_int_tds_add_connection(ndpi_struct, flow); - return; - } else { - goto exclude_tds; - } - //TODO: add more cases for other versions - default: - goto exclude_tds; - } - } - } - - exclude_tds: - - NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_TDS); -} - - -void init_tds_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask) -{ - ndpi_set_bitmask_protocol_detection("TDS", ndpi_struct, detection_bitmask, *id, - NDPI_PROTOCOL_TDS, - ndpi_search_tds_tcp, - NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION, - SAVE_DETECTION_BITMASK_AS_UNKNOWN, - ADD_TO_DETECTION_BITMASK); - - *id += 1; -} - -#endif |