[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-2952-gf845c95

Jeremy Allison jra at samba.org
Fri Aug 22 20:51:25 GMT 2008


The branch, v3-2-test has been updated
       via  f845c95dcfa0b1630a0057c62941bb8a72ebdd83 (commit)
      from  72d138adc200ab36e324721900af1a06d0879318 (commit)

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


- Log -----------------------------------------------------------------
commit f845c95dcfa0b1630a0057c62941bb8a72ebdd83
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Aug 22 13:50:53 2008 -0700

    Don't re-initialize a token when we already have one. This fixes the build farm failures when winbindd connects as guest.
    This one took a *lot* of tracking down :-).
    Jeremy.

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

Summary of changes:
 source/smbd/sesssetup.c       |   23 +++++++++++++----------
 source/winbindd/winbindd_cm.c |    3 +++
 2 files changed, 16 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/smbd/sesssetup.c b/source/smbd/sesssetup.c
index 33a54dd..98594b0 100644
--- a/source/smbd/sesssetup.c
+++ b/source/smbd/sesssetup.c
@@ -1735,16 +1735,19 @@ void reply_sesssetup_and_X(struct smb_request *req)
 		return;
 	}
 
-	nt_status = create_local_token(server_info);
-	if (!NT_STATUS_IS_OK(nt_status)) {
-		DEBUG(10, ("create_local_token failed: %s\n",
-			   nt_errstr(nt_status)));
-		data_blob_free(&nt_resp);
-		data_blob_free(&lm_resp);
-		data_blob_clear_free(&plaintext_password);
-		reply_nterror(req, nt_status_squash(nt_status));
-		END_PROFILE(SMBsesssetupX);
-		return;
+	if (!server_info->ptok) {
+		nt_status = create_local_token(server_info);
+
+		if (!NT_STATUS_IS_OK(nt_status)) {
+			DEBUG(10, ("create_local_token failed: %s\n",
+				   nt_errstr(nt_status)));
+			data_blob_free(&nt_resp);
+			data_blob_free(&lm_resp);
+			data_blob_clear_free(&plaintext_password);
+			reply_nterror(req, nt_status_squash(nt_status));
+			END_PROFILE(SMBsesssetupX);
+			return;
+		}
 	}
 
 	if (server_info->user_session_key.data) {
diff --git a/source/winbindd/winbindd_cm.c b/source/winbindd/winbindd_cm.c
index ab8287a..cd05c36 100644
--- a/source/winbindd/winbindd_cm.c
+++ b/source/winbindd/winbindd_cm.c
@@ -908,6 +908,9 @@ static NTSTATUS cm_prepare_connection(const struct winbindd_domain *domain,
  anon_fallback:
 
 	/* Fall back to anonymous connection, this might fail later */
+	DEBUG(10,("cm_prepare_connection: falling back to anonymous "
+		"connection for DC %s\n",
+		controller ));
 
 	if (NT_STATUS_IS_OK(cli_session_setup(*cli, "", NULL, 0,
 					      NULL, 0, ""))) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list