]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbd: use is_lease_stat_open() in delay_for_oplock()
authorRalph Boehme <slow@samba.org>
Thu, 5 Mar 2020 14:16:07 +0000 (15:16 +0100)
committerJeremy Allison <jra@samba.org>
Thu, 30 Apr 2020 21:10:43 +0000 (21:10 +0000)
This allows READ_CONTROL_ACCESS in the access mask as stat open if a file has
only leases.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14357

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Apr 30 21:10:43 UTC 2020 on sn-devel-184

selftest/knownfail.d/samba3.smb2.lease [deleted file]
source3/smbd/open.c

diff --git a/selftest/knownfail.d/samba3.smb2.lease b/selftest/knownfail.d/samba3.smb2.lease
deleted file mode 100644 (file)
index 079d443..0000000
+++ /dev/null
@@ -1 +0,0 @@
-^samba3.smb2.lease.statopen4\(nt4_dc\)
index 3cd8f156ab61f153bc3166829b09c614d7e7f2b8..8383fe1df5c90ccea0f6743bc7223b3d7d430a39 100644 (file)
@@ -2371,6 +2371,10 @@ static bool delay_for_oplock_fn(
                state->have_other_lease = true;
        }
 
+       if (e_is_lease && is_lease_stat_open(fsp->access_mask)) {
+               return false;
+       }
+
        break_to = e_lease_type & ~state->delay_mask;
 
        if (state->will_overwrite) {