r16473: There is no point in calling set_dc_type_and_flags() before each
authorGünther Deschner <gd@samba.org>
Thu, 22 Jun 2006 20:07:08 +0000 (20:07 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:18:55 +0000 (11:18 -0500)
pam_auth login (when using kerberos).

Guenther
(This used to be commit 520777f7946e55b1437df138e529fdc053362d16)

source3/nsswitch/winbindd_pam.c

index 3ae7692c127cc9cf4526c7929ab7e60c1949bcef..504c245c75fdf154850392483f19ae501d4889f9 100644 (file)
@@ -897,13 +897,20 @@ NTSTATUS winbindd_dual_pam_auth_kerberos(struct winbindd_domain *domain,
                }
        }
 
-       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;