diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2007-05-21 03:44:49 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2007-05-21 03:44:49 +0000 |
commit | 7a68b1be724c2db977501b3ad52c29c23b287a2d (patch) | |
tree | 9c8cb21097329e223faf18420d203cf519d2a32e /epan/dissectors/packet-smb.h | |
parent | be579f8bb27c4c673f2bf7c00590341c5a50b365 (diff) |
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.h | 9 |
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 { |