summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2014-11-12 17:00:44 +0100
committerStefan Metzmacher <metze@samba.org>2014-11-27 16:45:05 +0100
commit8fa2fb7dde10640ded645d8180d441012dbad155 (patch)
treec9a236a14d891ed04b5030dfc728c870fd65eb71
parent2742257be693d57c075523e2691137692aa9e34a (diff)
downloadsamba-8fa2fb7dde10640ded645d8180d441012dbad155.tar.gz
s4:torture/smb2: verify lease_flags in CHECK_LEASE_BREAK()
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
-rw-r--r--source4/torture/smb2/lease.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/source4/torture/smb2/lease.c b/source4/torture/smb2/lease.c
index ef8847380c6..999c9d4aa79 100644
--- a/source4/torture/smb2/lease.c
+++ b/source4/torture/smb2/lease.c
@@ -377,10 +377,18 @@ static bool test_lease_upgrade2(struct torture_context *tctx,
#define CHECK_LEASE_BREAK(__lb, __oldstate, __state, __key) \
do { \
- CHECK_VAL((__lb)->new_lease_state, smb2_util_lease_state(__state)); \
- CHECK_VAL((__lb)->current_lease.lease_state, smb2_util_lease_state(__oldstate)); \
+ uint16_t __new = smb2_util_lease_state(__state); \
+ uint16_t __old = smb2_util_lease_state(__oldstate); \
+ CHECK_VAL((__lb)->new_lease_state, __new); \
+ CHECK_VAL((__lb)->current_lease.lease_state, __old); \
CHECK_VAL((__lb)->current_lease.lease_key.data[0], (__key)); \
CHECK_VAL((__lb)->current_lease.lease_key.data[1], ~(__key)); \
+ if (__old & (SMB2_LEASE_WRITE | SMB2_LEASE_HANDLE)) { \
+ CHECK_VAL((__lb)->break_flags, \
+ SMB2_NOTIFY_BREAK_LEASE_FLAG_ACK_REQUIRED); \
+ } else { \
+ CHECK_VAL((__lb)->break_flags, 0); \
+ } \
} while(0)
#define CHECK_LEASE_BREAK_ACK(__lba, __state, __key) \