From 219028cb3f2059e6d1c0cb28f491fb30909d967c Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 21 May 2019 12:07:59 +0200 Subject: [PATCH 53/64] BE: Pass in filter_type when creating the refresh account request For refreshing AD users and groups, we'll want to create a request by SID, for all other requests we'll want to create a request by name. This patch allows parametrizing the request creation by the caller. Related: https://pagure.io/SSSD/sssd/issue/4012 Reviewed-by: Sumit Bose (cherry picked from commit 2cb294e6d5782aa725a2e9d7892a9e0c62e0b3a9) Reviewed-by: Sumit Bose --- src/providers/be_refresh.c | 3 ++- src/providers/be_refresh.h | 1 + src/providers/ldap/sdap_refresh.c | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/providers/be_refresh.c b/src/providers/be_refresh.c index c49229e71..c4ff71e1f 100644 --- a/src/providers/be_refresh.c +++ b/src/providers/be_refresh.c @@ -365,6 +365,7 @@ errno_t be_refresh_recv(struct tevent_req *req) struct dp_id_data *be_refresh_acct_req(TALLOC_CTX *mem_ctx, uint32_t entry_type, + uint32_t filter_type, struct sss_domain_info *domain) { struct dp_id_data *account_req; @@ -375,7 +376,7 @@ struct dp_id_data *be_refresh_acct_req(TALLOC_CTX *mem_ctx, } account_req->entry_type = entry_type; - account_req->filter_type = BE_FILTER_NAME; + account_req->filter_type = filter_type; account_req->extra_value = NULL; account_req->domain = domain->name; return account_req; diff --git a/src/providers/be_refresh.h b/src/providers/be_refresh.h index b7ba5d4c2..c7b4872df 100644 --- a/src/providers/be_refresh.h +++ b/src/providers/be_refresh.h @@ -71,6 +71,7 @@ errno_t be_refresh_recv(struct tevent_req *req); struct dp_id_data *be_refresh_acct_req(TALLOC_CTX *mem_ctx, uint32_t entry_type, + uint32_t filter_type, struct sss_domain_info *domain); #endif /* _DP_REFRESH_H_ */ diff --git a/src/providers/ldap/sdap_refresh.c b/src/providers/ldap/sdap_refresh.c index af39d8686..2206d6670 100644 --- a/src/providers/ldap/sdap_refresh.c +++ b/src/providers/ldap/sdap_refresh.c @@ -73,7 +73,8 @@ static struct tevent_req *sdap_refresh_send(TALLOC_CTX *mem_ctx, goto immediately; } - state->account_req = be_refresh_acct_req(state, entry_type, domain); + state->account_req = be_refresh_acct_req(state, entry_type, + BE_FILTER_NAME, domain); if (state->account_req == NULL) { ret = ENOMEM; goto immediately; -- 2.20.1