summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2017-01-02 16:41:31 +0100
committerJakub Hrozek <jhrozek@redhat.com>2017-02-15 14:51:24 +0100
commit2c61b6eee24d90b11f3d2cab7b9cd8690df29f34 (patch)
tree119a7abb6c7c3abf77462ea9a3043f23d19b7821
parent5007103e82f34e64a0ff3b278797b9fa42ba1dda (diff)
downloadsssd-2c61b6eee24d90b11f3d2cab7b9cd8690df29f34.tar.gz
sssd-2c61b6eee24d90b11f3d2cab7b9cd8690df29f34.tar.xz
sssd-2c61b6eee24d90b11f3d2cab7b9cd8690df29f34.zip
RESPONDER: Use the NEED_CHECK_DOMAIN macro
This is to avoid a needless round-trip between the responder and the back end for domains that do not have a traditional back end such as local or files. Reviewed-by: Pavel Březina <pbrezina@redhat.com>
-rw-r--r--src/responder/common/responder_dp.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/responder/common/responder_dp.c b/src/responder/common/responder_dp.c
index 11eb47ce1..cfd12569a 100644
--- a/src/responder/common/responder_dp.c
+++ b/src/responder/common/responder_dp.c
@@ -495,6 +495,12 @@ sss_dp_get_account_send(TALLOC_CTX *mem_ctx,
goto error;
}
+ if (NEED_CHECK_PROVIDER(dom->provider) == false) {
+ DEBUG(SSSDBG_TRACE_INTERNAL, "Domain %s does not check DP\n", dom->name);
+ ret = EOK;
+ goto error;
+ }
+
info = talloc_zero(state, struct sss_dp_account_info);
info->fast_reply = fast_reply;
info->type = type;
@@ -539,7 +545,11 @@ sss_dp_get_account_send(TALLOC_CTX *mem_ctx,
return req;
error:
- tevent_req_error(req, ret);
+ if (ret == EOK) {
+ tevent_req_done(req);
+ } else {
+ tevent_req_error(req, ret);
+ }
tevent_req_post(req, rctx->ev);
return req;
}