[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Tue Dec 18 06:20:02 MST 2012


The branch, master has been updated
       via  2148d86 Fix bug #9196 - defer_open is triggered multiple times on the same request.
      from  d846199 s4-rpc_server: use netlogon_creds_encrypt_samlogon().

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


- Log -----------------------------------------------------------------
commit 2148d86c7a2facd6e128b753aef98722843af3e1
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

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

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 812d9db..21f2549 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -1133,9 +1133,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;
@@ -1144,6 +1141,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