Blame SOURCES/0104-ipa-add-failover-to-override-lookups.patch

ef0222
From 4897063996b624b71823e61c73916f47832f103a Mon Sep 17 00:00:00 2001
ef0222
From: Sumit Bose <sbose@redhat.com>
ef0222
Date: Tue, 29 Oct 2019 12:16:40 +0100
8d3578
Subject: [PATCH 104/105] ipa: add failover to override lookups
ef0222
MIME-Version: 1.0
ef0222
Content-Type: text/plain; charset=UTF-8
ef0222
Content-Transfer-Encoding: 8bit
ef0222
ef0222
In the ipa_id_get_account_info request failover handling was missing.
ef0222
ef0222
Related to https://pagure.io/SSSD/sssd/issue/4114
ef0222
ef0222
Reviewed-by: Michal Židek <mzidek@redhat.com>
ef0222
(cherry picked from commit b9a53cfca91c9db51b1e32ac2cb0965db3ccf05b)
ef0222
---
ef0222
 src/providers/ipa/ipa_id.c | 15 +++++++++++++++
ef0222
 1 file changed, 15 insertions(+)
ef0222
ef0222
diff --git a/src/providers/ipa/ipa_id.c b/src/providers/ipa/ipa_id.c
ef0222
index 94d5f9d90..9253514a3 100644
ef0222
--- a/src/providers/ipa/ipa_id.c
ef0222
+++ b/src/providers/ipa/ipa_id.c
ef0222
@@ -640,7 +640,22 @@ static void ipa_id_get_account_info_got_override(struct tevent_req *subreq)
ef0222
     ret = ipa_get_ad_override_recv(subreq, &dp_error, state,
ef0222
                                    &state->override_attrs);
ef0222
     talloc_zfree(subreq);
ef0222
+
ef0222
     if (ret != EOK) {
ef0222
+        ret = sdap_id_op_done(state->op, ret, &dp_error);
ef0222
+
ef0222
+        if (dp_error == DP_ERR_OK && ret != EOK) {
ef0222
+            /* retry */
ef0222
+            subreq = sdap_id_op_connect_send(state->op, state, &ret;;
ef0222
+            if (subreq == NULL) {
ef0222
+                DEBUG(SSSDBG_OP_FAILURE, "sdap_id_op_connect_send failed.\n");
ef0222
+                goto fail;
ef0222
+            }
ef0222
+            tevent_req_set_callback(subreq, ipa_id_get_account_info_connected,
ef0222
+                                    req);
ef0222
+            return;
ef0222
+        }
ef0222
+
ef0222
         DEBUG(SSSDBG_OP_FAILURE, "IPA override lookup failed: %d\n", ret);
ef0222
         goto fail;
ef0222
     }
ef0222
-- 
8d3578
2.20.1
ef0222