svn commit: samba r16473 - branches/SAMBA_3_0/source/nsswitch trunk/source/nsswitch

gd at samba.org gd at samba.org
Thu Jun 22 20:07:09 GMT 2006


Author: gd
Date: 2006-06-22 20:07:08 +0000 (Thu, 22 Jun 2006)
New Revision: 16473

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16473

Log:
There is no point in calling set_dc_type_and_flags() before each
pam_auth login (when using kerberos).

Guenther

Modified:
   branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c
   trunk/source/nsswitch/winbindd_pam.c


Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c	2006-06-22 19:52:32 UTC (rev 16472)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c	2006-06-22 20:07:08 UTC (rev 16473)
@@ -897,13 +897,20 @@
 		}
 	}
 
-	set_dc_type_and_flags(contact_domain);
+	if (contact_domain->initialized && 
+	    contact_domain->active_directory) {
+	    	goto try_login;
+	}
 
+	if (!contact_domain->initialized) {
+		set_dc_type_and_flags(contact_domain);
+	}
+
 	if (!contact_domain->active_directory) {
 		DEBUG(3,("krb5 auth requested but domain is not Active Directory\n"));
 		return NT_STATUS_INVALID_LOGON_TYPE;
 	}
-
+try_login:
 	result = winbindd_raw_kerberos_login(contact_domain, state, info3);
 done:
 	return result;

Modified: trunk/source/nsswitch/winbindd_pam.c
===================================================================
--- trunk/source/nsswitch/winbindd_pam.c	2006-06-22 19:52:32 UTC (rev 16472)
+++ trunk/source/nsswitch/winbindd_pam.c	2006-06-22 20:07:08 UTC (rev 16473)
@@ -897,13 +897,20 @@
 		}
 	}
 
-	set_dc_type_and_flags(contact_domain);
+	if (contact_domain->initialized && 
+	    contact_domain->active_directory) {
+	    	goto try_login;
+	}
 
+	if (!contact_domain->initialized) {
+		set_dc_type_and_flags(contact_domain);
+	}
+
 	if (!contact_domain->active_directory) {
 		DEBUG(3,("krb5 auth requested but domain is not Active Directory\n"));
 		return NT_STATUS_INVALID_LOGON_TYPE;
 	}
-
+try_login:
 	result = winbindd_raw_kerberos_login(contact_domain, state, info3);
 done:
 	return result;



More information about the samba-cvs mailing list