summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_sudo.c
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2015-11-09 12:44:13 +0100
committerLukas Slebodnik <lslebodn@redhat.com>2015-12-15 16:26:43 +0100
commitfc19031212369d69a9693ac8777ce1e61a16fe93 (patch)
treeab6c7fd906be66c8fcc6e464d50bd7f289785637 /src/providers/ldap/sdap_sudo.c
parent81f135f9e83031c4a021a3d19009b2bc179c8468 (diff)
downloadsssd-fc19031212369d69a9693ac8777ce1e61a16fe93.tar.gz
sssd-fc19031212369d69a9693ac8777ce1e61a16fe93.tar.xz
sssd-fc19031212369d69a9693ac8777ce1e61a16fe93.zip
SUDO: simplify error handling
This patch removes state->error and uses only ret instead since state->error was only duplication anyway. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src/providers/ldap/sdap_sudo.c')
-rw-r--r--src/providers/ldap/sdap_sudo.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/providers/ldap/sdap_sudo.c b/src/providers/ldap/sdap_sudo.c
index 9286f5090..e759878f3 100644
--- a/src/providers/ldap/sdap_sudo.c
+++ b/src/providers/ldap/sdap_sudo.c
@@ -135,8 +135,8 @@ static void sdap_sudo_reply(struct tevent_req *req)
{
struct be_req *be_req = NULL;
struct be_sudo_req *sudo_req = NULL;
- int dp_error = DP_ERR_OK;
- int error = EOK;
+ int dp_error;
+ bool deleted;
int ret;
be_req = tevent_req_callback_data(req, struct be_req);
@@ -144,24 +144,24 @@ static void sdap_sudo_reply(struct tevent_req *req)
switch (sudo_req->type) {
case BE_REQ_SUDO_FULL:
- ret = sdap_sudo_full_refresh_recv(req, &dp_error, &error);
+ ret = sdap_sudo_full_refresh_recv(req, &dp_error);
break;
case BE_REQ_SUDO_RULES:
- ret = sdap_sudo_rules_refresh_recv(req, &dp_error, &error);
+ ret = sdap_sudo_rules_refresh_recv(req, &dp_error, &deleted);
+ if (ret == EOK && deleted == true) {
+ ret = ENOENT;
+ }
break;
default:
DEBUG(SSSDBG_CRIT_FAILURE, "Invalid request type: %d\n",
sudo_req->type);
- ret = EINVAL;
+ dp_error = DP_ERR_FATAL;
+ ret = ERR_INTERNAL;
+ break;
}
talloc_zfree(req);
- if (ret != EOK) {
- sdap_handler_done(be_req, DP_ERR_FATAL, ret, strerror(ret));
- return;
- }
-
- sdap_handler_done(be_req, dp_error, error, strerror(error));
+ sdap_handler_done(be_req, dp_error, ret, strerror(ret));
}
void sdap_sudo_handler(struct be_req *be_req)