summaryrefslogtreecommitdiff
path: root/source3/nsswitch/winbindd_pam.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2006-06-22 20:07:08 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:18:55 -0500
commit4e7e7318492ed417899f19db2a133509b17f825a (patch)
treeb979de87a9d029abe4cb8e2fbbba27e5b1c36c06 /source3/nsswitch/winbindd_pam.c
parent600b0ae2e97967ebc19639312f03561e4004a7ee (diff)
downloadsamba-4e7e7318492ed417899f19db2a133509b17f825a.tar.gz
samba-4e7e7318492ed417899f19db2a133509b17f825a.tar.bz2
samba-4e7e7318492ed417899f19db2a133509b17f825a.zip
r16473: There is no point in calling set_dc_type_and_flags() before each
pam_auth login (when using kerberos). Guenther (This used to be commit 520777f7946e55b1437df138e529fdc053362d16)
Diffstat (limited to 'source3/nsswitch/winbindd_pam.c')
-rw-r--r--source3/nsswitch/winbindd_pam.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/source3/nsswitch/winbindd_pam.c b/source3/nsswitch/winbindd_pam.c
index 3ae7692c12..504c245c75 100644
--- a/source3/nsswitch/winbindd_pam.c
+++ b/source3/nsswitch/winbindd_pam.c
@@ -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;