summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-smb.h
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2007-05-21 03:44:49 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2007-05-21 03:44:49 +0000
commit7a68b1be724c2db977501b3ad52c29c23b287a2d (patch)
tree9c8cb21097329e223faf18420d203cf519d2a32e /epan/dissectors/packet-smb.h
parentbe579f8bb27c4c673f2bf7c00590341c5a50b365 (diff)
downloadwireshark-7a68b1be724c2db977501b3ad52c29c23b287a2d.tar.gz
track FIDs on a per transaction (request+response) basis and make sure the FID is printed
in both packets of a transaction. this makes filters such as "smb.file==foo.txt" work much better since they now show both the read/write request and also the response packets. this is similar to what we already do in nfs for filehandles svn path=/trunk/; revision=21856
Diffstat (limited to 'epan/dissectors/packet-smb.h')
-rw-r--r--epan/dissectors/packet-smb.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/epan/dissectors/packet-smb.h b/epan/dissectors/packet-smb.h
index 02227d6598..2609ba569e 100644
--- a/epan/dissectors/packet-smb.h
+++ b/epan/dissectors/packet-smb.h
@@ -208,6 +208,7 @@ typedef enum {
SMB_EI_FILEDATA, /* fid tracking */
SMB_EI_UID /* smb_uid_t */
} smb_extra_info_t;
+typedef struct _smb_fid_into_t smb_fid_info_t;
typedef struct {
guint32 frame_req, frame_res;
nstime_t req_time;
@@ -215,6 +216,10 @@ typedef struct {
guint8 cmd;
void *extra_info;
smb_extra_info_t extra_info_type;
+ /* we save the fid in each transaction so that we can get fid filters
+ to match both request and response */
+ gboolean fid_seen_in_request;
+ guint16 fid;
} smb_saved_info_t;
/*
@@ -301,12 +306,12 @@ typedef struct _smb_fid_saved_info_t {
guint32 share_access;
guint32 create_options;
} smb_fid_saved_info_t;
-typedef struct _smb_fid_into_t {
+struct _smb_fid_into_t {
int opened_in;
int closed_in;
int type;
smb_fid_saved_info_t *fsi;
-} smb_fid_info_t;
+};
/* used for tracking tid to sharename openedframe closedframe */
typedef struct _smb_tid_into_t {