aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/tds.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/protocols/tds.c')
-rw-r--r--src/lib/protocols/tds.c96
1 files changed, 48 insertions, 48 deletions
diff --git a/src/lib/protocols/tds.c b/src/lib/protocols/tds.c
index 7bf6639f4..32accbb6c 100644
--- a/src/lib/protocols/tds.c
+++ b/src/lib/protocols/tds.c
@@ -27,65 +27,65 @@
#ifdef NDPI_PROTOCOL_TDS
static void ndpi_int_tds_add_connection(struct ndpi_detection_module_struct
- *ndpi_struct, struct ndpi_flow_struct *flow)
+ *ndpi_struct, struct ndpi_flow_struct *flow)
{
- ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_TDS);
+ 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)
+ *ndpi_struct, struct ndpi_flow_struct *flow)
{
- struct ndpi_packet_struct *packet = &flow->packet;
+ struct ndpi_packet_struct *packet = &flow->packet;
-// struct ndpi_id_struct *src=ndpi_struct->src;
-// struct ndpi_id_struct *dst=ndpi_struct->dst;
+ // 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 (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;
- }
- }
+ 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:
+ exclude_tds:
- NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_TDS);
+ NDPI_ADD_PROTOCOL_TO_BITMASK(flow->excluded_protocol_bitmask, NDPI_PROTOCOL_TDS);
}
#endif