From 558383728781c3caa09379c95b1dd6d7b93f7631 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sat, 29 Sep 2012 10:04:54 +0200 Subject: [PATCH 1/4] s3:selftest: mark the driver_info_winreg tests knownfail. They only get executed when driver files are around. metze (similar to commit ef8e228a5b4952b51d9db6b28017142759f40d10) --- source3/selftest/knownfail | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source3/selftest/knownfail b/source3/selftest/knownfail index d2cb953..86dd3cf 100644 --- a/source3/selftest/knownfail +++ b/source3/selftest/knownfail @@ -4,6 +4,8 @@ samba3.blackbox.failure # this is designed to fail, for testing our test infrast samba3.posix_s3.rap.printing # fails sometimes on sn-devel samba3.posix_s3.rpc.spoolss.*printserver.enum_printers_old # fails on some hosts due to timing issues ? samba3.posix_s3.rpc.spoolss.printer.*addprinterex.print_test # another intermittent failure +samba3.posix_s3.rpc.spoolss.printer.*addprinter.driver_info_winreg # knownfail or flapping? +samba3.posix_s3.rpc.spoolss.printer.*addprinterex.driver_info_winreg # knownfail or flapping? samba3.posix_s3.smb2.lock.*.rw-exclusive # another intermittent failure samba3.posix_s3.smb2.compound.*interim2 # wrong return code (STATUS_CANCELLED) .*driver.add_driver_timestamps # we only can store dates, not timestamps -- 1.7.9.5 From 510bcedc74eb61e66b2909363bee06cf2ca2b7de Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 26 Sep 2012 03:04:20 +0200 Subject: [PATCH 2/4] s3:smb2_create: don't take 'state->te' as indication for "was_deferred" (bug #9196) We always set state->te = NULL of TALLOC_FREE(state->te), before calling smbd_smb2_request_dispatch(), so open_was_deferred_smb2() always returned false, while dispatching it again. But it's remove_deferred_open_message_smb2_internal() which should reset this state. In developer mode validate_my_share_entries() did call smb_panic() before. metze (cherry picked from commit 4604219ceba96955b3c4bf6ab31aa70c11442d61) --- source3/smbd/smb2_create.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c index c6e3fc3..5a9044d 100644 --- a/source3/smbd/smb2_create.c +++ b/source3/smbd/smb2_create.c @@ -386,6 +386,7 @@ static void smbd_smb2_request_create_done(struct tevent_req *tsubreq) struct smbd_smb2_create_state { struct smbd_smb2_request *smb2req; struct smb_request *smb1req; + bool open_was_deferred; struct timed_event *te; struct tevent_immediate *im; struct timeval request_time; @@ -964,7 +965,7 @@ bool open_was_deferred_smb2(struct smbd_server_connection *sconn, uint64_t mid) return false; } /* It's not in progress if there's no timeout event. */ - if (!state->te) { + if (!state->open_was_deferred) { return false; } @@ -995,6 +996,7 @@ static void remove_deferred_open_message_smb2_internal(struct smbd_smb2_request "mid %llu\n", (unsigned long long)mid )); + state->open_was_deferred = false; /* Ensure we don't have any outstanding timer event. */ TALLOC_FREE(state->te); /* Ensure we don't have any outstanding immediate event. */ @@ -1238,6 +1240,7 @@ bool push_deferred_open_message_smb2(struct smbd_smb2_request *smb2req, &end_time, true) )); + state->open_was_deferred = true; state->te = event_add_timed(smb2req->sconn->smb2.event_ctx, state, end_time, -- 1.7.9.5 From f5b853ddd4e31eead9b5820dd09427c7e27ac261 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 26 Sep 2012 03:08:33 +0200 Subject: [PATCH 3/4] s4:torture/smb2: remove samba specific stuff from smb2.oplock metze (cherry picked from commit 7a14f09f9cc14cfb6234175add1841faf751d51a) --- source4/torture/smb2/oplock.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/source4/torture/smb2/oplock.c b/source4/torture/smb2/oplock.c index eeea036..ec263ac 100644 --- a/source4/torture/smb2/oplock.c +++ b/source4/torture/smb2/oplock.c @@ -2384,10 +2384,6 @@ static bool test_smb2_oplock_batch22(struct torture_context *tctx, int timeout = torture_setting_int(tctx, "oplocktimeout", 30); int te; - if (torture_setting_bool(tctx, "samba3", false)) { - torture_skip(tctx, "BATCH22 disabled against samba3\n"); - } - status = torture_smb2_testdir(tree1, BASEDIR, &h); torture_assert_ntstatus_ok(tctx, status, "Error creating directory"); @@ -2727,12 +2723,6 @@ static bool test_raw_oplock_stream1(struct torture_context *tctx, {&fname_default_stream, true, SMB2_OPLOCK_LEVEL_EXCLUSIVE, SMB2_OPLOCK_LEVEL_II}, }; - /* Only passes against windows at the moment. */ - if (torture_setting_bool(tctx, "samba3", false) || - torture_setting_bool(tctx, "samba4", false)) { - torture_skip(tctx, "STREAM1 disabled against samba3+4\n"); - } - fname_stream = talloc_asprintf(tctx, "%s:%s", fname_base, stream); fname_default_stream = talloc_asprintf(tctx, "%s%s", fname_base, default_stream); -- 1.7.9.5 From 241f021d74e9f4a508ae11f3679e6cc42c929e6a Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 26 Sep 2012 03:24:22 +0200 Subject: [PATCH 4/4] s3:selftest: run the posix_s3.smb2.oplock tests metze Autobuild-User(master): Stefan Metzmacher Autobuild-Date(master): Wed Sep 26 07:57:12 CEST 2012 on sn-devel-104 (silimar to commit 98d117a5424d62804b7cb3d8a9ad35e703fc158a) --- source3/selftest/knownfail | 3 +++ source3/selftest/tests.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/source3/selftest/knownfail b/source3/selftest/knownfail index 86dd3cf..bda1fe0 100644 --- a/source3/selftest/knownfail +++ b/source3/selftest/knownfail @@ -8,6 +8,9 @@ samba3.posix_s3.rpc.spoolss.printer.*addprinter.driver_info_winreg # knownfail o samba3.posix_s3.rpc.spoolss.printer.*addprinterex.driver_info_winreg # knownfail or flapping? samba3.posix_s3.smb2.lock.*.rw-exclusive # another intermittent failure samba3.posix_s3.smb2.compound.*interim2 # wrong return code (STATUS_CANCELLED) +samba3.posix_s3.smb2.oplock.*batch12 +samba3.posix_s3.smb2.oplock.*batch20 +samba3.posix_s3.smb2.oplock.*stream1 .*driver.add_driver_timestamps # we only can store dates, not timestamps samba3.raw.mux.* #This test is flaky on the async lock time samba3.smbtorture_s3.*OPLOCK4 # fails sometimes on sn-devel diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py index 20fd709..028012c 100755 --- a/source3/selftest/tests.py +++ b/source3/selftest/tests.py @@ -162,7 +162,7 @@ raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", " "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file"] smb2 = ["smb2.lock", "smb2.read", "smb2.compound", "smb2.connect", "smb2.scan", "smb2.scanfind", - "smb2.bench-oplock"] + "smb2.bench-oplock", "smb2.oplock"] rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec", "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg", -- 1.7.9.5