static int smb2_tap = -1;
static dissector_handle_t gssapi_handle = NULL;
+static dissector_handle_t ntlmssp_handle = NULL;
static heur_dissector_list_t smb2_heur_subdissector_list;
static void
dissect_smb2_secblob(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, smb2_info_t *si _U_)
{
- call_dissector(gssapi_handle, tvb, pinfo, tree);
+ if( (tvb_length(tvb)>=7)
+ && (!tvb_memeql(tvb, 0, "NTLMSSP", 7))){
+ call_dissector(ntlmssp_handle, tvb, pinfo, tree);
+ } else {
+ call_dissector(gssapi_handle, tvb, pinfo, tree);
+ }
return;
}
proto_reg_handoff_smb2(void)
{
gssapi_handle = find_dissector("gssapi");
+ ntlmssp_handle = find_dissector("ntlmssp");
heur_dissector_add("netbios", dissect_smb2_heur, proto_smb2);
}