From 8fa2fb7dde10640ded645d8180d441012dbad155 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 12 Nov 2014 17:00:44 +0100 Subject: [PATCH] s4:torture/smb2: verify lease_flags in CHECK_LEASE_BREAK() Signed-off-by: Stefan Metzmacher Reviewed-by: Jeremy Allison --- source4/torture/smb2/lease.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source4/torture/smb2/lease.c b/source4/torture/smb2/lease.c index ef8847380c64..999c9d4aa794 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) \ -- 2.34.1