|
|
1bb595 |
From df632eec450791559a4a7644f241964397c10ff9 Mon Sep 17 00:00:00 2001
|
|
|
1bb595 |
From: Sumit Bose <sbose@redhat.com>
|
|
|
1bb595 |
Date: Fri, 5 Jun 2020 13:59:25 +0200
|
|
|
1bb595 |
Subject: [PATCH] ipa: add failover to subdomain override lookups
|
|
|
1bb595 |
|
|
|
1bb595 |
In the ipa_subdomain_account request failover handling was missing.
|
|
|
1bb595 |
|
|
|
1bb595 |
Related to https://github.com/SSSD/sssd/issues/5075
|
|
|
1bb595 |
(was https://pagure.io/SSSD/sssd/issue/4114)
|
|
|
1bb595 |
|
|
|
1bb595 |
Reviewed-by: Pawel Polawski <ppolawsk@redhat.com>
|
|
|
1bb595 |
---
|
|
|
1bb595 |
src/providers/ipa/ipa_subdomains_id.c | 14 ++++++++++++++
|
|
|
1bb595 |
1 file changed, 14 insertions(+)
|
|
|
1bb595 |
|
|
|
1bb595 |
diff --git a/src/providers/ipa/ipa_subdomains_id.c b/src/providers/ipa/ipa_subdomains_id.c
|
|
|
1bb595 |
index 1224c7b73..36f32fae8 100644
|
|
|
1bb595 |
--- a/src/providers/ipa/ipa_subdomains_id.c
|
|
|
1bb595 |
+++ b/src/providers/ipa/ipa_subdomains_id.c
|
|
|
1bb595 |
@@ -208,6 +208,20 @@ static void ipa_subdomain_account_got_override(struct tevent_req *subreq)
|
|
|
1bb595 |
&state->override_attrs);
|
|
|
1bb595 |
talloc_zfree(subreq);
|
|
|
1bb595 |
if (ret != EOK) {
|
|
|
1bb595 |
+ ret = sdap_id_op_done(state->op, ret, &dp_error);
|
|
|
1bb595 |
+
|
|
|
1bb595 |
+ if (dp_error == DP_ERR_OK && ret != EOK) {
|
|
|
1bb595 |
+ /* retry */
|
|
|
1bb595 |
+ subreq = sdap_id_op_connect_send(state->op, state, &ret;;
|
|
|
1bb595 |
+ if (subreq == NULL) {
|
|
|
1bb595 |
+ DEBUG(SSSDBG_OP_FAILURE, "sdap_id_op_connect_send failed.\n");
|
|
|
1bb595 |
+ goto fail;
|
|
|
1bb595 |
+ }
|
|
|
1bb595 |
+ tevent_req_set_callback(subreq, ipa_subdomain_account_connected,
|
|
|
1bb595 |
+ req);
|
|
|
1bb595 |
+ return;
|
|
|
1bb595 |
+ }
|
|
|
1bb595 |
+
|
|
|
1bb595 |
DEBUG(SSSDBG_OP_FAILURE, "IPA override lookup failed: %d\n", ret);
|
|
|
1bb595 |
goto fail;
|
|
|
1bb595 |
}
|
|
|
1bb595 |
--
|
|
|
1bb595 |
2.21.3
|
|
|
1bb595 |
|