summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2020-06-24 17:48:24 +0200
committerJeremy Allison <jra@samba.org>2020-06-27 04:20:39 +0000
commit4ef206b02ddd44a4dbe79c3e7d36554d8d14b1e3 (patch)
tree84a92fd1737865840784cc207e59c2419fa8940d
parentc603a50a48439c89eb08de8766dcfc69610688e1 (diff)
downloadsamba-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-timeout24
-rw-r--r--source4/torture/smb2/durable_v2_open.c26
-rw-r--r--source4/torture/smb2/replay.c24
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 */