diff options
Diffstat (limited to 'src/providers/ipa/ipa_sudo.c')
-rw-r--r-- | src/providers/ipa/ipa_sudo.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/providers/ipa/ipa_sudo.c b/src/providers/ipa/ipa_sudo.c index 3e73bd30f..b4633858f 100644 --- a/src/providers/ipa/ipa_sudo.c +++ b/src/providers/ipa/ipa_sudo.c @@ -211,6 +211,7 @@ ipa_sudo_reply(struct tevent_req *req) { struct be_sudo_req *sudo_req; struct be_req *be_req; + bool deleted; int dp_error; int ret; @@ -221,6 +222,12 @@ ipa_sudo_reply(struct tevent_req *req) case BE_REQ_SUDO_FULL: ret = ipa_sudo_full_refresh_recv(req, &dp_error); break; + case BE_REQ_SUDO_RULES: + ret = ipa_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); @@ -256,6 +263,10 @@ ipa_sudo_handler(struct be_req *be_req) case BE_REQ_SUDO_FULL: req = ipa_sudo_full_refresh_send(be_req, be_ctx->ev, sudo_ctx); break; + case BE_REQ_SUDO_RULES: + req = ipa_sudo_rules_refresh_send(be_req, be_ctx->ev, sudo_ctx, + sudo_req->rules); + break; default: DEBUG(SSSDBG_CRIT_FAILURE, "Invalid request type: %d\n", sudo_req->type); |