summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-smb.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2007-05-22 01:26:32 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2007-05-22 01:26:32 +0000
commit196ed78ce8853773b893503530f0b9d2fbef3fc1 (patch)
treeb6f707a89eddef4a01fa51a56f5fb20797ff1adf /epan/dissectors/packet-smb.c
parentbd148a7335e93478a82af115a2922693409f9121 (diff)
downloadwireshark-196ed78ce8853773b893503530f0b9d2fbef3fc1.tar.gz
add the disposition to the data we store for how a fid is opened
svn path=/trunk/; revision=21873
Diffstat (limited to 'epan/dissectors/packet-smb.c')
-rw-r--r--epan/dissectors/packet-smb.c9
1 files changed, 7 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;