From 61c442994706365c177a62799194e62ec46f3ae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20B=C5=99ezina?= 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 (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