diff options
author | Stefan Metzmacher <metze@samba.org> | 2014-01-31 16:20:12 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2014-02-26 09:09:26 +0000 |
commit | f012f1d08761ff6227629e24e03e040799901742 (patch) | |
tree | 3a687fd2c34ba42e011fcce83681ee5755463689 /epan | |
parent | 6efd2c732a1e5203d29d50f19c32b666c1ebdc6c (diff) |
packet-smb-direct: only handle RDMA_SEND_* messages
Change-Id: I08fa1092e2722c108bf6f847f8fc230f131e584b
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-on: https://code.wireshark.org/review/356
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-smb-direct.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/epan/dissectors/packet-smb-direct.c b/epan/dissectors/packet-smb-direct.c index af8d3a6d81..cd7af8e9e8 100644 --- a/epan/dissectors/packet-smb-direct.c +++ b/epan/dissectors/packet-smb-direct.c @@ -31,6 +31,7 @@ #include <glib.h> #include "packet-windows-common.h" +#include "packet-iwarp-ddp-rdmap.h" static int proto_smb_direct = -1; @@ -358,10 +359,25 @@ is_smb_direct(tvbuff_t *tvb, packet_info *pinfo _U_) static gboolean dissect_smb_direct_iwarp_heur(tvbuff_t *tvb, packet_info *pinfo, - proto_tree *parent_tree, void *data _U_) + proto_tree *parent_tree, void *data) { + struct rdmapinfo *info = (struct rdmapinfo *)data; enum SMB_DIRECT_HDR_TYPE hdr_type; + if (info == NULL) { + return FALSE; + } + + switch (info->opcode) { + case RDMA_SEND: + case RDMA_SEND_INVALIDATE: + case RDMA_SEND_SE: + case RDMA_SEND_SE_INVALIDATE: + break; + default: + return FALSE; + } + hdr_type = is_smb_direct(tvb, pinfo); if (hdr_type == SMB_DIRECT_HDR_UNKNOWN) { return FALSE; |