From cd5b718ebeab1c923af7a5c3c0a5c717c5659c7d Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 6 Sep 2011 10:55:15 +0200 Subject: Improve error message for LDAP password constraint violation https://fedorahosted.org/sssd/ticket/985 --- src/providers/ldap/sdap_async.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'src/providers/ldap/sdap_async.c') diff --git a/src/providers/ldap/sdap_async.c b/src/providers/ldap/sdap_async.c index 2edc7597c..2183ceb78 100644 --- a/src/providers/ldap/sdap_async.c +++ b/src/providers/ldap/sdap_async.c @@ -672,15 +672,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; } -- cgit