diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2011-09-06 10:55:15 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-09-12 08:45:52 -0400 |
commit | 820d9053e6cf192a08dea9285429e3165a6b39a0 (patch) | |
tree | 251c0f488e25c7afb56235c28258bbf0e2cc036d /src/providers/ldap/sdap_async.c | |
parent | d09285e101d731771d9d4beeb1386cdad670fb88 (diff) | |
download | sssd-820d9053e6cf192a08dea9285429e3165a6b39a0.tar.gz sssd-820d9053e6cf192a08dea9285429e3165a6b39a0.tar.xz sssd-820d9053e6cf192a08dea9285429e3165a6b39a0.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 e183855a2..3b2849876 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; } |