aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2007-05-22 01:26:32 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2007-05-22 01:26:32 +0000
commit6e6bfca12a68e6249218eb82a65fe61546820f9d (patch)
treeb6f707a89eddef4a01fa51a56f5fb20797ff1adf /epan/dissectors
parenta918fed94081d46de97e0a8239166aa5b78cc9df (diff)
add the disposition to the data we store for how a fid is opened
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21873 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-smb.c9
-rw-r--r--epan/dissectors/packet-smb.h1
2 files changed, 8 insertions, 2 deletions
diff --git a/epan/dissectors/packet-smb.c b/epan/dissectors/packet-smb.c
index 5d43bd06ca..c88f6041d7 100644
--- a/epan/dissectors/packet-smb.c
+++ b/epan/dissectors/packet-smb.c
@@ -3387,6 +3387,8 @@ dissect_smb_fid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset,
dissect_file_ext_attr_bits(tvb, tr, 0, fid_info->fsi->file_attributes);
dissect_nt_share_access_bits(tvb, tr, 0, fid_info->fsi->share_access);
dissect_nt_create_options_bits(tvb, tr, 0, fid_info->fsi->create_options);
+ it=proto_tree_add_uint(tr, hf_smb_nt_create_disposition, tvb, 0, 0, fid_info->fsi->create_disposition);
+ PROTO_ITEM_SET_GENERATED(it);
}
}
@@ -8024,7 +8026,7 @@ dissect_nt_trans_param_request(tvbuff_t *tvb, packet_info *pinfo, int offset, pr
proto_item *item = NULL;
proto_tree *tree = NULL;
smb_info_t *si;
- guint32 fn_len, create_flags, access_mask, file_attributes, share_access, create_options;
+ guint32 fn_len, create_flags, access_mask, file_attributes, share_access, create_options, create_disposition;
const char *fn;
si = (smb_info_t *)pinfo->private_data;
@@ -8069,6 +8071,7 @@ dissect_nt_trans_param_request(tvbuff_t *tvb, packet_info *pinfo, int offset, pr
bc -= 4;
/* create disposition */
+ create_disposition=tvb_get_letohl(tvb, offset);
proto_tree_add_item(tree, hf_smb_nt_create_disposition, tvb, offset, 4, TRUE);
COUNT_BYTES(4);
@@ -9464,7 +9467,7 @@ dissect_nt_create_andx_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
smb_info_t *si = pinfo->private_data;
int fn_len;
const char *fn;
- guint32 create_flags=0, access_mask=0, file_attributes=0, share_access=0, create_options=0;
+ guint32 create_flags=0, access_mask=0, file_attributes=0, share_access=0, create_options=0, create_disposition=0;
DISSECTOR_ASSERT(si);
@@ -9522,6 +9525,7 @@ dissect_nt_create_andx_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
offset = dissect_nt_share_access_bits(tvb, tree, offset, share_access);
/* create disposition */
+ create_disposition=tvb_get_letohl(tvb, offset);
proto_tree_add_item(tree, hf_smb_nt_create_disposition, tvb, offset, 4, TRUE);
offset += 4;
@@ -9559,6 +9563,7 @@ dissect_nt_create_andx_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tr
fsi->file_attributes=file_attributes;
fsi->share_access=share_access;
fsi->create_options=create_options;
+ fsi->create_disposition=create_disposition;
si->sip->extra_info_type=SMB_EI_FILEDATA;
si->sip->extra_info=fsi;
diff --git a/epan/dissectors/packet-smb.h b/epan/dissectors/packet-smb.h
index 272c960563..860b722b4c 100644
--- a/epan/dissectors/packet-smb.h
+++ b/epan/dissectors/packet-smb.h
@@ -306,6 +306,7 @@ typedef struct _smb_fid_saved_info_t {
guint32 file_attributes;
guint32 share_access;
guint32 create_options;
+ guint32 create_disposition;
} smb_fid_saved_info_t;
struct _smb_fid_into_t {
int opened_in;