aboutsummaryrefslogtreecommitdiff
path: root/src/lib/protocols/smb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/protocols/smb.c')
-rw-r--r--src/lib/protocols/smb.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/protocols/smb.c b/src/lib/protocols/smb.c
index fa684eb66..c6b0676b6 100644
--- a/src/lib/protocols/smb.c
+++ b/src/lib/protocols/smb.c
@@ -22,8 +22,6 @@
*/
#include "ndpi_protocol_ids.h"
-#define NDPI_CURRENT_PROTO NDPI_PROTOCOL_SMB
-
#include "ndpi_api.h"
@@ -43,19 +41,23 @@ void ndpi_search_smb_tcp(struct ndpi_detection_module_struct *ndpi_struct, struc
NDPI_LOG_INFO(ndpi_struct, "found SMB\n");
- ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_SMB, NDPI_PROTOCOL_UNKNOWN);
+ if(packet->payload[8] == 0x72)
+ ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_SMBV1, NDPI_PROTOCOL_UNKNOWN);
+ else
+ ndpi_set_detected_protocol(ndpi_struct, flow, NDPI_PROTOCOL_SMBV23, NDPI_PROTOCOL_UNKNOWN);
return;
}
}
- NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
+ ndpi_exclude_protocol(ndpi_struct, flow, NDPI_PROTOCOL_SMBV1, __FILE__, __FUNCTION__, __LINE__);
+ ndpi_exclude_protocol(ndpi_struct, flow, NDPI_PROTOCOL_SMBV23, __FILE__, __FUNCTION__, __LINE__);
}
void init_smb_dissector(struct ndpi_detection_module_struct *ndpi_struct, u_int32_t *id, NDPI_PROTOCOL_BITMASK *detection_bitmask)
{
ndpi_set_bitmask_protocol_detection("SMB", ndpi_struct, detection_bitmask, *id,
- NDPI_PROTOCOL_SMB,
+ NDPI_PROTOCOL_SMBV23,
ndpi_search_smb_tcp,
NDPI_SELECTION_BITMASK_PROTOCOL_V4_V6_TCP_WITH_PAYLOAD_WITHOUT_RETRANSMISSION,
SAVE_DETECTION_BITMASK_AS_UNKNOWN,