From dfd71fc92db940b2892cc996911cec03d7b6c52b Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Sun, 3 Mar 2013 18:06:13 -0500 Subject: Convert sdap_access to new error codes Also simplify sdap_access_send to avoid completely fake _send() routines. --- src/providers/ldap/ldap_access.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'src/providers/ldap/ldap_access.c') diff --git a/src/providers/ldap/ldap_access.c b/src/providers/ldap/ldap_access.c index 5a8e12f0..4a06e66b 100644 --- a/src/providers/ldap/ldap_access.c +++ b/src/providers/ldap/ldap_access.c @@ -69,15 +69,23 @@ void sdap_pam_access_handler(struct be_req *breq) static void sdap_access_done(struct tevent_req *req) { errno_t ret; - int pam_status = PAM_SYSTEM_ERR; + int pam_status; struct be_req *breq = tevent_req_callback_data(req, struct be_req); - ret = sdap_access_recv(req, &pam_status); + ret = sdap_access_recv(req); talloc_zfree(req); - if (ret != EOK) { + switch (ret) { + case EOK: + pam_status = PAM_SUCCESS; + break; + case ERR_ACCESS_DENIED: + pam_status = PAM_PERM_DENIED; + break; + default: DEBUG(SSSDBG_CRIT_FAILURE, ("Error retrieving access check result.\n")); pam_status = PAM_SYSTEM_ERR; + break; } sdap_access_reply(breq, pam_status); -- cgit