Blob Blame History Raw
From 61c442994706365c177a62799194e62ec46f3ae0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrezina@redhat.com>
Date: Wed, 5 Sep 2018 13:35:54 +0200
Subject: [PATCH 23/28] proxy: access provider directly not through be_ctx

Modules are initialized as part of dp_init_send() but be_ctx->provider is set
only after this request is finished therefore it is not available here.

Resolves:
https://pagure.io/SSSD/sssd/issue/3812

Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
(cherry picked from commit 4ffe3ab9023ff858410256bc5c38a03d9cd88cf9)
---
 src/providers/proxy/proxy_init.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/providers/proxy/proxy_init.c b/src/providers/proxy/proxy_init.c
index cf4f82e1246f08e2dbecd986a044500eee912b13..98c6dd1798dbf98419db71004cb55fcf21f58f81 100644
--- a/src/providers/proxy/proxy_init.c
+++ b/src/providers/proxy/proxy_init.c
@@ -192,6 +192,7 @@ static errno_t proxy_auth_conf(TALLOC_CTX *mem_ctx,

 static errno_t proxy_init_auth_ctx(TALLOC_CTX *mem_ctx,
                                    struct be_ctx *be_ctx,
+                                   struct data_provider *provider,
                                    struct proxy_auth_ctx **_auth_ctx)
 {
     struct proxy_auth_ctx *auth_ctx;
@@ -213,7 +214,7 @@ static errno_t proxy_init_auth_ctx(TALLOC_CTX *mem_ctx,
         goto done;
     }

-    ret = proxy_client_init(dp_sbus_conn(be_ctx->provider), auth_ctx);
+    ret = proxy_client_init(dp_sbus_conn(provider), auth_ctx);
     if (ret != EOK) {
         goto done;
     }
@@ -273,7 +274,7 @@ errno_t sssm_proxy_init(TALLOC_CTX *mem_ctx,

     /* Initialize auth_ctx since one of the access, auth or chpass is set. */

-    ret = proxy_init_auth_ctx(mem_ctx, be_ctx, &auth_ctx);
+    ret = proxy_init_auth_ctx(mem_ctx, be_ctx, provider, &auth_ctx);
     if (ret != EOK) {
         DEBUG(SSSDBG_CRIT_FAILURE, "Unable to create auth context [%d]: %s\n",
               ret, sss_strerror(ret));
--
2.14.4