[SCM] Samba Shared Repository - branch v3-5-test updated

Karolin Seeger kseeger at samba.org
Wed Feb 29 12:58:08 MST 2012


The branch, v3-5-test has been updated
       via  8e141d6 s3-winbindd: Close netlogon connection if the status returned by the NetrSamLogonEx call is timeout in the pam_auth_crap path
      from  6c1501a s3-winbindd: set the can_do_validation6 also for trusted domain

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


- Log -----------------------------------------------------------------
commit 8e141d666c3fc835001249753b6ea9b508256d73
Author: Matthieu Patou <mat at matws.net>
Date:   Fri Feb 24 14:06:02 2012 -0800

    s3-winbindd: Close netlogon connection if the status returned by the NetrSamLogonEx call is timeout in the pam_auth_crap path
    
    If not the child process would hang for quite a long time up to the
    moment when the connection is cleaned by the kernel (took ~ 20 minutes)
    in my tests.
    
    Fix bug #8771 (Winbind takes up to 20 minutes to change from DC 1 to DC 2 and
    in the meantime to respond NT_STATUS_IO_TIMEOUT).

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

Summary of changes:
 source3/winbindd/winbindd_pam.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c
index 5c56b87..26fdc5a 100644
--- a/source3/winbindd/winbindd_pam.c
+++ b/source3/winbindd/winbindd_pam.c
@@ -2101,6 +2101,15 @@ enum winbindd_result winbindd_dual_pam_auth_crap(struct winbindd_domain *domain,
 
 done:
 
+	if (NT_STATUS_EQUAL(result, NT_STATUS_IO_TIMEOUT)) {
+		DEBUG(3,("winbindd_dual_pam_auth_crap: sam_network_logon(ex) "
+				"returned NT_STATUS_IO_TIMEOUT after the retry."
+				"We didn't know what's going on killing "
+				"connections to domain %s\n",
+				name_domain));
+		invalidate_cm_connection(&contact_domain->conn);
+	}
+
 	/* give us a more useful (more correct?) error code */
 	if ((NT_STATUS_EQUAL(result, NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND) ||
 	    (NT_STATUS_EQUAL(result, NT_STATUS_UNSUCCESSFUL)))) {


-- 
Samba Shared Repository


More information about the samba-cvs mailing list