summaryrefslogtreecommitdiff
path: root/source3/passdb/pdb_nds.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2005-12-14 20:39:42 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 11:05:50 -0500
commit3a405096c50fa9e625f3626e42806950a6602ca8 (patch)
tree0008bcf81cda5c23b6db175d7ecc0924ab77e9b0 /source3/passdb/pdb_nds.c
parent0dc59604f72fc35b527a2dc4b49b8966b2a13980 (diff)
downloadsamba-3a405096c50fa9e625f3626e42806950a6602ca8.tar.gz
samba-3a405096c50fa9e625f3626e42806950a6602ca8.tar.bz2
samba-3a405096c50fa9e625f3626e42806950a6602ca8.zip
r12245: eDirectory returns LDAP_UNWILLING_TO_PERFORM if the
account is disabled. If we get this we can't check the password so have to tell the client the account was disabled. Jeremy. (This used to be commit 43c2d545ab98fef341c7e22d3b82c98bd0afebc2)
Diffstat (limited to 'source3/passdb/pdb_nds.c')
-rw-r--r--source3/passdb/pdb_nds.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/source3/passdb/pdb_nds.c b/source3/passdb/pdb_nds.c
index c6d644827c..1ec9693223 100644
--- a/source3/passdb/pdb_nds.c
+++ b/source3/passdb/pdb_nds.c
@@ -824,6 +824,15 @@ static NTSTATUS pdb_nds_update_login_attempts(struct pdb_methods *methods,
case LDAP_INVALID_CREDENTIALS:
nt_status = NT_STATUS_WRONG_PASSWORD;
break;
+ case LDAP_UNWILLING_TO_PERFORM:
+ /* eDir returns this if the account was disabled. */
+ /* The problem is we don't know if the given
+ password was correct for this account or
+ not. We have to return more info than we
+ should and tell the client NT_STATUS_ACCOUNT_DISABLED
+ so they don't think the password was bad. JRA. */
+ nt_status = NT_STATUS_ACCOUNT_DISABLED;
+ break;
default:
break;
}