diff options
author | Stefan Metzmacher <metze@samba.org> | 2020-06-24 17:48:24 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2020-06-27 04:20:39 +0000 |
commit | 4ef206b02ddd44a4dbe79c3e7d36554d8d14b1e3 (patch) | |
tree | 84a92fd1737865840784cc207e59c2419fa8940d | |
parent | c603a50a48439c89eb08de8766dcfc69610688e1 (diff) | |
download | samba-4ef206b02ddd44a4dbe79c3e7d36554d8d14b1e3.tar.gz |
s4:torture/smb2: adjust durable v2 tests to pass against Windows Server 2019
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
-rw-r--r-- | selftest/knownfail.d/durable-v2-timeout | 24 | ||||
-rw-r--r-- | source4/torture/smb2/durable_v2_open.c | 26 | ||||
-rw-r--r-- | source4/torture/smb2/replay.c | 24 |
3 files changed, 49 insertions, 25 deletions
diff --git a/selftest/knownfail.d/durable-v2-timeout b/selftest/knownfail.d/durable-v2-timeout new file mode 100644 index 00000000000..a34c8600568 --- /dev/null +++ b/selftest/knownfail.d/durable-v2-timeout @@ -0,0 +1,24 @@ +^samba3.smb2.durable-v2-open.create-blob.nt4_dc +^samba3.smb2.durable-v2-open.reopen1.nt4_dc +^samba3.smb2.durable-v2-open.reopen1a.nt4_dc +^samba3.smb2.durable-v2-open.reopen1a-lease.nt4_dc +^samba3.smb2.durable-v2-open.reopen2.nt4_dc +^samba3.smb2.durable-v2-open.reopen2b.nt4_dc +^samba3.smb2.durable-v2-open.reopen2-lease.nt4_dc +^samba3.smb2.durable-v2-open.reopen2-lease-v2.nt4_dc +^samba3.smb2.durable-v2-open.create-blob.ad_dc +^samba3.smb2.durable-v2-open.reopen1.ad_dc +^samba3.smb2.durable-v2-open.reopen1a.ad_dc +^samba3.smb2.durable-v2-open.reopen2.ad_dc +^samba3.smb2.durable-v2-open.reopen2b.ad_dc +^samba3.smb2.replay.replay-dhv2-oplock1.nt4_dc +^samba3.smb2.replay.replay-dhv2-oplock2.nt4_dc +^samba3.smb2.replay.replay-dhv2-oplock3.nt4_dc +^samba3.smb2.replay.replay-dhv2-oplock-lease.nt4_dc +^samba3.smb2.replay.replay-dhv2-lease1.nt4_dc +^samba3.smb2.replay.replay-dhv2-lease2.nt4_dc +^samba3.smb2.replay.replay-dhv2-lease3.nt4_dc +^samba3.smb2.replay.replay-dhv2-lease-oplock.nt4_dc +^samba3.smb2.replay.replay-dhv2-oplock1.ad_dc +^samba3.smb2.replay.replay-dhv2-oplock2.ad_dc +^samba3.smb2.replay.replay-dhv2-oplock3.ad_dc diff --git a/source4/torture/smb2/durable_v2_open.c b/source4/torture/smb2/durable_v2_open.c index b2c519db3f6..014ff192ad1 100644 --- a/source4/torture/smb2/durable_v2_open.c +++ b/source4/torture/smb2/durable_v2_open.c @@ -123,7 +123,7 @@ bool test_durable_v2_open_create_blob(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, true); CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); /* disconnect */ TALLOC_FREE(tree); @@ -547,7 +547,7 @@ bool test_durable_v2_open_reopen1(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, true); CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); /* try a durable reconnect while the file is still open */ ZERO_STRUCT(io); @@ -623,7 +623,7 @@ bool test_durable_v2_open_reopen1a(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, true); CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); /* * a session reconnect on a second tcp connection @@ -666,7 +666,7 @@ bool test_durable_v2_open_reopen1a(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, false); /* no dh2q response blob */ CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 0); _h = io.out.file.handle; h = &_h; @@ -710,7 +710,7 @@ bool test_durable_v2_open_reopen1a(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, false); /* no dh2q response blob */ CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 0); _h = io.out.file.handle; h = &_h; @@ -795,7 +795,7 @@ bool test_durable_v2_open_reopen1a_lease(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, true); CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); CHECK_VAL(io.out.oplock_level, SMB2_OPLOCK_LEVEL_LEASE); CHECK_VAL(io.out.lease_response.lease_key.data[0], lease_key); CHECK_VAL(io.out.lease_response.lease_key.data[1], ~lease_key); @@ -885,7 +885,7 @@ bool test_durable_v2_open_reopen1a_lease(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, false); /* no dh2q response blob */ CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 0); CHECK_VAL(io.out.oplock_level, SMB2_OPLOCK_LEVEL_LEASE); CHECK_VAL(io.out.lease_response.lease_key.data[0], lease_key); CHECK_VAL(io.out.lease_response.lease_key.data[1], ~lease_key); @@ -961,7 +961,7 @@ bool test_durable_v2_open_reopen2(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, true); CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); /* disconnect, leaving the durable open */ TALLOC_FREE(tree); @@ -1122,7 +1122,7 @@ bool test_durable_v2_open_reopen2b(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, true); CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); /* disconnect, leaving the durable open */ TALLOC_FREE(tree); @@ -1294,7 +1294,7 @@ bool test_durable_v2_open_reopen2_lease(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, true); CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); CHECK_VAL(io.out.oplock_level, SMB2_OPLOCK_LEVEL_LEASE); CHECK_VAL(io.out.lease_response.lease_key.data[0], lease_key); CHECK_VAL(io.out.lease_response.lease_key.data[1], ~lease_key); @@ -1547,7 +1547,7 @@ bool test_durable_v2_open_reopen2_lease_v2(struct torture_context *tctx, CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, true); CHECK_VAL(io.out.persistent_open, false); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); CHECK_VAL(io.out.oplock_level, SMB2_OPLOCK_LEVEL_LEASE); CHECK_VAL(io.out.lease_response_v2.lease_key.data[0], lease_key); CHECK_VAL(io.out.lease_response_v2.lease_key.data[1], ~lease_key); @@ -1787,7 +1787,7 @@ bool test_durable_v2_open_app_instance(struct torture_context *tctx, CHECK_VAL(io1.out.durable_open, false); CHECK_VAL(io1.out.durable_open_v2, true); CHECK_VAL(io1.out.persistent_open, false); - CHECK_VAL(io1.out.timeout, io1.in.timeout); + CHECK_VAL(io1.out.timeout, 300*1000); /* * try to open the file as durable from a second tree with @@ -1814,7 +1814,7 @@ bool test_durable_v2_open_app_instance(struct torture_context *tctx, CHECK_VAL(io2.out.durable_open, false); CHECK_VAL(io2.out.durable_open_v2, true); CHECK_VAL(io2.out.persistent_open, false); - CHECK_VAL(io2.out.timeout, io2.in.timeout); + CHECK_VAL(io2.out.timeout, 300*1000); CHECK_VAL(break_info.count, 0); diff --git a/source4/torture/smb2/replay.c b/source4/torture/smb2/replay.c index 9f6fadccf45..7399777a367 100644 --- a/source4/torture/smb2/replay.c +++ b/source4/torture/smb2/replay.c @@ -402,7 +402,7 @@ static bool test_replay_dhv2_oplock1(struct torture_context *tctx, } else { CHECK_VAL(io.out.oplock_level, smb2_util_oplock_level("b")); CHECK_VAL(io.out.durable_open_v2, true); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); } /* @@ -493,7 +493,7 @@ static bool test_replay_dhv2_oplock2(struct torture_context *tctx, } else { CHECK_VAL(io.out.oplock_level, smb2_util_oplock_level("b")); CHECK_VAL(io.out.durable_open_v2, true); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); } /* @@ -628,7 +628,7 @@ static bool test_replay_dhv2_oplock3(struct torture_context *tctx, } else { CHECK_VAL(io.out.oplock_level, smb2_util_oplock_level("b")); CHECK_VAL(io.out.durable_open_v2, true); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); } /* @@ -760,7 +760,7 @@ static bool test_replay_dhv2_oplock_lease(struct torture_context *tctx, } else { CHECK_VAL(io.out.oplock_level, smb2_util_oplock_level("b")); CHECK_VAL(io.out.durable_open_v2, true); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); } /* @@ -877,7 +877,7 @@ static bool test_replay_dhv2_lease1(struct torture_context *tctx, CHECK_VAL(io1.out.lease_response.lease_state, smb2_util_lease_state("RH")); CHECK_VAL(io1.out.durable_open_v2, true); - CHECK_VAL(io1.out.timeout, io1.in.timeout); + CHECK_VAL(io1.out.timeout, 300*1000); } /* @@ -1015,7 +1015,7 @@ static bool test_replay_dhv2_lease2(struct torture_context *tctx, CHECK_VAL(io1.out.lease_response.lease_state, smb2_util_lease_state("RH")); CHECK_VAL(io1.out.durable_open_v2, true); - CHECK_VAL(io1.out.timeout, io1.in.timeout); + CHECK_VAL(io1.out.timeout, 300*1000); } ref1 = io1; _h1 = io1.out.file.handle; @@ -1159,7 +1159,7 @@ static bool test_replay_dhv2_lease3(struct torture_context *tctx, CHECK_VAL(io1.out.lease_response.lease_state, smb2_util_lease_state("RH")); CHECK_VAL(io1.out.durable_open_v2, true); - CHECK_VAL(io1.out.timeout, io1.in.timeout); + CHECK_VAL(io1.out.timeout, 300*1000); } _h1 = io1.out.file.handle; h1 = &_h1; @@ -1296,7 +1296,7 @@ static bool test_replay_dhv2_lease_oplock(struct torture_context *tctx, CHECK_VAL(io1.out.lease_response.lease_state, smb2_util_lease_state("RH")); CHECK_VAL(io1.out.durable_open_v2, true); - CHECK_VAL(io1.out.timeout, io1.in.timeout); + CHECK_VAL(io1.out.timeout, 300*1000); } /* @@ -1696,7 +1696,7 @@ static bool test_replay3(struct torture_context *tctx, struct smb2_tree *tree1) } else { CHECK_VAL(io.out.oplock_level, smb2_util_oplock_level("b")); CHECK_VAL(io.out.durable_open_v2, true); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); } CHECK_VAL(io.out.durable_open, false); CHECK_VAL(break_info.count, 0); @@ -1751,7 +1751,7 @@ static bool test_replay3(struct torture_context *tctx, struct smb2_tree *tree1) } else { CHECK_VAL(io.out.oplock_level, smb2_util_oplock_level("b")); CHECK_VAL(io.out.durable_open_v2, true); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); } CHECK_VAL(io.out.durable_open, false); CHECK_VAL(break_info.count, 0); @@ -1858,7 +1858,7 @@ static bool test_replay4(struct torture_context *tctx, struct smb2_tree *tree1) } else { CHECK_VAL(io.out.oplock_level, smb2_util_oplock_level("b")); CHECK_VAL(io.out.durable_open_v2, true); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); } CHECK_VAL(io.out.durable_open, false); CHECK_VAL(break_info.count, 0); @@ -2101,7 +2101,7 @@ static bool test_replay5(struct torture_context *tctx, struct smb2_tree *tree) CHECK_VAL(io.out.durable_open, false); CHECK_VAL(io.out.durable_open_v2, true); CHECK_VAL(io.out.persistent_open, true); - CHECK_VAL(io.out.timeout, io.in.timeout); + CHECK_VAL(io.out.timeout, 300*1000); CHECK_VAL(break_info.count, 0); /* disconnect, leaving the durable open */ |