diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2011-09-06 10:55:15 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-09-06 14:52:23 -0400 |
commit | 14765d35f9440e3ca4fe771f162daf5c066ddd87 (patch) | |
tree | d1f41f81268b47857692938cbc81f6e68aa20900 /src/providers/ldap/sdap_async.c | |
parent | 52059070ca9c2d7a28df2620e915e2164bfd89a1 (diff) | |
download | sssd-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.c | 17 |
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; } |