aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-smb2.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2014-01-28 11:27:14 +0100
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2014-01-29 17:41:31 +0000
commitfc216102e34738a81a5629b3672541067e809d49 (patch)
tree013900233063bfa624c550bde97267bb254158e4 /epan/dissectors/packet-smb2.c
parent05a7306482d94d3546b00fd5a2e492ef88fd16b4 (diff)
smb2: Lease Epoch is only 16 bit
See [MS-SMB2] 2.2.14.2.12 Bug: 9703 Change-Id: Ia9c9c658bd5020e0dad84fc74617fed60ce7df06 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'epan/dissectors/packet-smb2.c')
-rw-r--r--epan/dissectors/packet-smb2.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/epan/dissectors/packet-smb2.c b/epan/dissectors/packet-smb2.c
index 6f72fb69bd..137182d000 100644
--- a/epan/dissectors/packet-smb2.c
+++ b/epan/dissectors/packet-smb2.c
@@ -228,6 +228,7 @@ static int hf_smb2_lease_flags_break_in_progress = -1;
static int hf_smb2_lease_duration = -1;
static int hf_smb2_parent_lease_key = -1;
static int hf_smb2_lease_epoch = -1;
+static int hf_smb2_lease_reserved = -1;
static int hf_smb2_lease_break_reason = -1;
static int hf_smb2_lease_access_mask_hint = -1;
static int hf_smb2_lease_share_mask_hint = -1;
@@ -5257,7 +5258,8 @@ dissect_smb2_MxAc_buffer_response(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
* 4 - lease flags
* 8 - lease duration
* 16 - parent lease key
- * 4 - epoch
+ * 2 - epoch
+ * 2 - reserved
*/
#define SMB2_LEASE_STATE_READ_CACHING 0x00000001
#define SMB2_LEASE_STATE_HANDLE_CACHING 0x00000002
@@ -5338,7 +5340,10 @@ dissect_SMB2_CREATE_LEASE_VX(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *
proto_tree_add_item(sub_tree, hf_smb2_parent_lease_key, tvb, offset, 16, ENC_LITTLE_ENDIAN);
offset += 16;
- proto_tree_add_item(sub_tree, hf_smb2_lease_epoch, tvb, offset, 4, ENC_LITTLE_ENDIAN);
+ proto_tree_add_item(sub_tree, hf_smb2_lease_epoch, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ proto_tree_add_item(sub_tree, hf_smb2_lease_reserved, tvb, offset, 2, ENC_LITTLE_ENDIAN);
}
static void
@@ -7541,7 +7546,11 @@ proto_register_smb2(void)
NULL, 0, NULL, HFILL }},
{ &hf_smb2_lease_epoch,
- { "Lease Epoch", "smb2.lease.lease_oplock", FT_UINT32, BASE_HEX,
+ { "Lease Epoch", "smb2.lease.lease_oplock", FT_UINT16, BASE_HEX,
+ NULL, 0, NULL, HFILL }},
+
+ { &hf_smb2_lease_reserved,
+ { "Lease Reserved", "smb2.lease.lease_reserved", FT_UINT16, BASE_HEX,
NULL, 0, NULL, HFILL }},
{ &hf_smb2_lease_break_reason,