summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_async.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2011-09-06 10:55:15 +0200
committerStephen Gallagher <sgallagh@redhat.com>2011-09-06 14:52:23 -0400
commit14765d35f9440e3ca4fe771f162daf5c066ddd87 (patch)
treed1f41f81268b47857692938cbc81f6e68aa20900 /src/providers/ldap/sdap_async.c
parent52059070ca9c2d7a28df2620e915e2164bfd89a1 (diff)
downloadsssd-14765d35f9440e3ca4fe771f162daf5c066ddd87.tar.gz
sssd-14765d35f9440e3ca4fe771f162daf5c066ddd87.tar.xz
sssd-14765d35f9440e3ca4fe771f162daf5c066ddd87.zip
Improve error message for LDAP password constraint violation
https://fedorahosted.org/sssd/ticket/985
Diffstat (limited to 'src/providers/ldap/sdap_async.c')
-rw-r--r--src/providers/ldap/sdap_async.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/providers/ldap/sdap_async.c b/src/providers/ldap/sdap_async.c
index 325edd6a2..a45adbedd 100644
--- a/src/providers/ldap/sdap_async.c
+++ b/src/providers/ldap/sdap_async.c
@@ -615,15 +615,22 @@ int sdap_exop_modify_passwd_recv(struct tevent_req *req,
struct sdap_exop_modify_passwd_state *state = tevent_req_data(req,
struct sdap_exop_modify_passwd_state);
- *result = SDAP_ERROR;
*user_error_message = talloc_steal(mem_ctx, state->user_error_message);
- TEVENT_REQ_RETURN_ON_ERROR(req);
-
- if (state->result == LDAP_SUCCESS) {
- *result = SDAP_SUCCESS;
+ switch (state->result) {
+ case LDAP_SUCCESS:
+ *result = SDAP_SUCCESS;
+ break;
+ case LDAP_CONSTRAINT_VIOLATION:
+ *result = SDAP_AUTH_PW_CONSTRAINT_VIOLATION;
+ break;
+ default:
+ *result = SDAP_ERROR;
+ break;
}
+ TEVENT_REQ_RETURN_ON_ERROR(req);
+
return EOK;
}