[SCM] Samba Shared Repository - branch v4-0-test updated

Karolin Seeger kseeger at samba.org
Wed Jan 2 04:19:07 MST 2013


The branch, v4-0-test has been updated
       via  04388ad Fix bug #9196 - defer_open is triggered multiple times on the same request.
      from  9b4bd43 VERSION: Bump version number up to 4.0.1.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 04388adfe82bd0fa52c30074c501b2db87ee3c65
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Dec 14 08:39:26 2012 -0800

    Fix bug #9196 - defer_open is triggered multiple times on the same request.
    
    get_deferred_open_message_state_smb2() is buggy in that it is checking
    the wrong things to determine if an open is in the deferred state.
    
    It checks if (smb2req->async_te == NULL) which is incorrect,
    as we're not always async in a deferred open - remove this.
    
    It should check instead state->open_was_deferred as this
    is explicity set to 'true' when an open is going deferred,
    so add this check.
    
    Signed-off-by: Jeremy Allison <jra at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Tue Dec 18 14:19:13 CET 2012 on sn-devel-104
    (cherry picked from commit 2148d86c7a2facd6e128b753aef98722843af3e1)
    
    Autobuild-User(v4-0-test): Karolin Seeger <kseeger at samba.org>
    Autobuild-Date(v4-0-test): Wed Jan  2 12:18:40 CET 2013 on sn-devel-104

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

Summary of changes:
 source3/smbd/smb2_create.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c
index 7db6b00..ae0cdb3 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -1132,9 +1132,6 @@ bool get_deferred_open_message_state_smb2(struct smbd_smb2_request *smb2req,
 	if (!smb2req) {
 		return false;
 	}
-	if (smb2req->async_te == NULL) {
-		return false;
-	}
 	req = smb2req->subreq;
 	if (!req) {
 		return false;
@@ -1143,6 +1140,9 @@ bool get_deferred_open_message_state_smb2(struct smbd_smb2_request *smb2req,
 	if (!state) {
 		return false;
 	}
+	if (!state->open_was_deferred) {
+		return false;
+	}
 	if (p_request_time) {
 		*p_request_time = state->request_time;
 	}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list