1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-08 04:58:40 +03:00

s4:torture/smb2: add smb2.replay.dhv2-pending* tests

These demonstrate that the replay detection for pending opens
either doesn't exist (for the share_access=NONE => SHARING_VIOLATION
case) or return the wrong status code => ACCESS_DENIED instead of
FILE_NOT_AVAILABLE.

Windows clients transparently retry after FILE_NOT_AVAILABLE,
while they pass ACCESS_DENIED directly to the application.

I'll report that to dochelp@microsoft.com in order to
clarify the situation.

In the meantime I added tests with a '-windows' suffix,
which demostrate the current windows server behavior,
while the tests with a '-sane' suffix expect the behavior
that whould make windows clients happy.

For Samba I'll implement the '-sane' behavior that
detects all replays and returns FILE_NOT_AVAILABLE
if the original request is still pending.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Stefan Metzmacher 2021-03-12 17:21:47 +01:00 committed by Jeremy Allison
parent ae1c3a0d9a
commit f5168a21ab
2 changed files with 3172 additions and 0 deletions

View File

@ -0,0 +1,55 @@
# These are temporary in order to demonstrate the current bugs
^samba3.smb2.replay.dhv2-pending1n-vs-violation-lease-close-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending1n-vs-violation-lease-ack-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending1n-vs-oplock-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending1n-vs-lease-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending1l-vs-oplock-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending1l-vs-lease-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending1o-vs-oplock-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending1o-vs-lease-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending2n-vs-oplock-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending2n-vs-lease-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending2l-vs-oplock-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending2l-vs-lease-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending2o-vs-oplock-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending2o-vs-lease-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending3n-vs-oplock-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending3n-vs-lease-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending3l-vs-oplock-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending3l-vs-lease-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending3o-vs-oplock-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending3o-vs-lease-sane.nt4_dc
^samba3.smb2.replay.dhv2-pending1n-vs-oplock-sane.ad_dc
^samba3.smb2.replay.dhv2-pending1o-vs-oplock-sane.ad_dc
^samba3.smb2.replay.dhv2-pending2n-vs-oplock-sane.ad_dc
^samba3.smb2.replay.dhv2-pending2o-vs-oplock-sane.ad_dc
^samba3.smb2.replay.dhv2-pending3n-vs-oplock-sane.ad_dc
^samba3.smb2.replay.dhv2-pending3o-vs-oplock-sane.ad_dc
# These tests demonstrate the broken Windows behavior
# and check for ACCESS_DENIED instead of FILE_NOT_AVAILABLE
# See https://bugzilla.samba.org/show_bug.cgi?id=14449
^samba3.smb2.replay.dhv2-pending1n-vs-violation-lease-close-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending1n-vs-oplock-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending1n-vs-lease-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending1l-vs-oplock-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending1l-vs-lease-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending1o-vs-oplock-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending1o-vs-lease-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending2n-vs-oplock-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending2n-vs-lease-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending2l-vs-oplock-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending2l-vs-lease-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending2o-vs-oplock-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending2o-vs-lease-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending3n-vs-oplock-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending3n-vs-lease-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending3l-vs-oplock-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending3l-vs-lease-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending3o-vs-oplock-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending3o-vs-lease-windows.nt4_dc
^samba3.smb2.replay.dhv2-pending1n-vs-oplock-windows.ad_dc
^samba3.smb2.replay.dhv2-pending1o-vs-oplock-windows.ad_dc
^samba3.smb2.replay.dhv2-pending2n-vs-oplock-windows.ad_dc
^samba3.smb2.replay.dhv2-pending2o-vs-oplock-windows.ad_dc
^samba3.smb2.replay.dhv2-pending3n-vs-oplock-windows.ad_dc
^samba3.smb2.replay.dhv2-pending3o-vs-oplock-windows.ad_dc

File diff suppressed because it is too large Load Diff