[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Tue Sep 25 23:58:02 MDT 2012


The branch, master has been updated
       via  98d117a selftest/knownfail: samba*.smb2.oplock.stream1 doesn't work
       via  7a14f09 s4:torture/smb2: remove samba specific stuff from smb2.oplock
       via  4604219 s3:smb2_create: don't take 'state->te' as indication for "was_deferred" (bug #9196)
      from  3c4d0ce samba_dnsupdate: Safely update/create names for Samba3 targets as well

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 98d117a5424d62804b7cb3d8a9ad35e703fc158a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Sep 26 03:24:22 2012 +0200

    selftest/knownfail: samba*.smb2.oplock.stream1 doesn't work
    
    metze
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Wed Sep 26 07:57:12 CEST 2012 on sn-devel-104

commit 7a14f09f9cc14cfb6234175add1841faf751d51a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Sep 26 03:08:33 2012 +0200

    s4:torture/smb2: remove samba specific stuff from smb2.oplock
    
    metze

commit 4604219ceba96955b3c4bf6ab31aa70c11442d61
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Sep 26 03:04:20 2012 +0200

    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

-----------------------------------------------------------------------

Summary of changes:
 selftest/knownfail            |    2 ++
 source3/smbd/smb2_create.c    |    5 ++++-
 source4/torture/smb2/oplock.c |   10 ----------
 3 files changed, 6 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/selftest/knownfail b/selftest/knownfail
index 9feaac2..953056e 100644
--- a/selftest/knownfail
+++ b/selftest/knownfail
@@ -155,6 +155,7 @@
 ^samba4.smb2.oplock.batch9\(.*\)$ # samba 4 oplocks are a mess
 ^samba4.smb2.oplock.batch10\(.*\)$ # samba 4 oplocks are a mess
 ^samba4.smb2.oplock.batch20\(.*\)$ # samba 4 oplocks are a mess
+^samba4.smb2.oplock.stream1 # samba 4 oplocks are a mess
 ^samba4.smb2.getinfo.getinfo # streams on directories does not work
 ^samba4.ntvfs.cifs.krb5.base.createx_access.createx_access\(.*\)$
 ^samba4.ldap.acl.*.AclSearchTests.test_search_anonymous3\(.*\)$  # ACL search behaviour not enabled by default
@@ -196,6 +197,7 @@
 ^samba3.smb2.lease.multibreak
 ^samba3.smb2.oplock.batch12
 ^samba3.smb2.oplock.batch20
+^samba3.smb2.oplock.stream1
 ^samba3.smb2.streams.rename
 ^samba3.smb2.streams.rename2
 ^samba3.smb2.streams.attributes
diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c
index 9318a83..812d9db 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -377,6 +377,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;
@@ -1204,7 +1205,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;
 	}
 
@@ -1235,6 +1236,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. */
@@ -1457,6 +1459,7 @@ bool push_deferred_open_message_smb2(struct smbd_smb2_request *smb2req,
 				&end_time,
 				true) ));
 
+	state->open_was_deferred = true;
 	state->te = tevent_add_timer(smb2req->sconn->ev_ctx,
 				state,
 				end_time,
diff --git a/source4/torture/smb2/oplock.c b/source4/torture/smb2/oplock.c
index fc939cc..4cf7c7d 100644
--- a/source4/torture/smb2/oplock.c
+++ b/source4/torture/smb2/oplock.c
@@ -2416,10 +2416,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");
 
@@ -2759,12 +2755,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);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list