diff options
author | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2001-10-04 23:19:01 +0000 |
---|---|---|
committer | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2001-10-04 23:19:01 +0000 |
commit | 03ae3438226d591f8c89b0d3adc1d02ea43473d4 (patch) | |
tree | c4062cd04c2fdd21ef3556f7c7ac037fa62d73b7 /packet-smb-mailslot.c | |
parent | 0ec74b2d0c08f091c43206583104b4c48375a693 (diff) |
Decode the mailslot payload as data in some additional cases where we
didn't dissect it as some other protocol.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3997 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-smb-mailslot.c')
-rw-r--r-- | packet-smb-mailslot.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/packet-smb-mailslot.c b/packet-smb-mailslot.c index 2c5aef5c7b..f35044abec 100644 --- a/packet-smb-mailslot.c +++ b/packet-smb-mailslot.c @@ -2,7 +2,7 @@ * Routines for SMB mailslot packet dissection * Copyright 2000, Jeffrey C. Foster <jfoste@woodward.com> * - * $Id: packet-smb-mailslot.c,v 1.17 2001/10/04 23:06:49 guy Exp $ + * $Id: packet-smb-mailslot.c,v 1.18 2001/10/04 23:19:01 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -118,25 +118,31 @@ dissect_mailslot_smb(tvbuff_t *setup_tvb, tvbuff_t *tvb, packet_info *pinfo, } /* Quit if we don't have the transaction command name (mailslot path) */ - if (smb_info->trans_cmd == NULL) + if (smb_info->trans_cmd == NULL) { + /* Dump it as data */ + dissect_data(tvb, smb_info->data_offset, pinfo, parent_tree); return TRUE; + } /* create new tvb for subdissector */ next_tvb = tvb_new_subset(tvb, smb_info->data_offset, -1, -1); /*** Decide what dissector to call based upon the command value ***/ if (strcmp(smb_info->trans_cmd, "BROWSE") == 0) { - return dissect_mailslot_browse(next_tvb, pinfo, parent_tree); + if (dissect_mailslot_browse(next_tvb, pinfo, parent_tree)) + return TRUE; } else if (strcmp(smb_info->trans_cmd, "LANMAN") == 0) { /* Decode a LANMAN browse */ - return dissect_mailslot_lanman(next_tvb, pinfo, parent_tree); + if (dissect_mailslot_lanman(next_tvb, pinfo, parent_tree)) + return TRUE; } else if ((strncmp(smb_info->trans_cmd, "NET", strlen("NET")) == 0) || (strcmp(smb_info->trans_cmd, "TEMP\\NETLOGON") == 0) || (strcmp(smb_info->trans_cmd, "MSSP") == 0)) { /* NOTE: use TEMP\\NETLOGON and MSSP because they seems very common, */ /* NOTE: may need a look up list to check for the mailslot names passed */ /* by the logon request packet */ - return dissect_smb_logon(next_tvb, pinfo, parent_tree); + if (dissect_smb_logon(next_tvb, pinfo, parent_tree)) + return TRUE; } /* Dump it as data */ dissect_data(next_tvb, 0, pinfo, parent_tree); |