diff options
author | Stefan Metzmacher <metze@samba.org> | 2014-11-12 17:00:44 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2014-11-27 16:45:05 +0100 |
commit | 8fa2fb7dde10640ded645d8180d441012dbad155 (patch) | |
tree | c9a236a14d891ed04b5030dfc728c870fd65eb71 | |
parent | 2742257be693d57c075523e2691137692aa9e34a (diff) | |
download | samba-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.c | 12 |
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) \ |