summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_refresh.c
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2015-02-13 13:16:04 +0100
committerJakub Hrozek <jhrozek@redhat.com>2015-03-08 22:38:14 +0100
commitf5beb5ca871b1aed4c1d6b74e68f6df0ab949c83 (patch)
tree2f4db25c6d9b0f3b19b61b3a5a9fbc4d7101a89c /src/providers/ldap/sdap_refresh.c
parentd2f5df64d3aafdc5b9cd406394c23b74f88261e0 (diff)
downloadsssd-f5beb5ca871b1aed4c1d6b74e68f6df0ab949c83.tar.gz
sssd-f5beb5ca871b1aed4c1d6b74e68f6df0ab949c83.tar.xz
sssd-f5beb5ca871b1aed4c1d6b74e68f6df0ab949c83.zip
be_refresh: refresh all domains in backend
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> (cherry picked from commit b0d3164ca2bd842e176268c26935c5ce54f7f76e)
Diffstat (limited to 'src/providers/ldap/sdap_refresh.c')
-rw-r--r--src/providers/ldap/sdap_refresh.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/providers/ldap/sdap_refresh.c b/src/providers/ldap/sdap_refresh.c
index fb2dbc781..0b9753ee5 100644
--- a/src/providers/ldap/sdap_refresh.c
+++ b/src/providers/ldap/sdap_refresh.c
@@ -27,6 +27,7 @@
struct sdap_refresh_netgroups_state {
struct tevent_context *ev;
struct sdap_id_ctx *id_ctx;
+ struct sdap_domain *sdom;
char **names;
size_t index;
};
@@ -37,6 +38,7 @@ static void sdap_refresh_netgroups_done(struct tevent_req *subreq);
struct tevent_req *sdap_refresh_netgroups_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct be_ctx *be_ctx,
+ struct sss_domain_info *domain,
char **names,
void *pvt)
{
@@ -51,13 +53,19 @@ struct tevent_req *sdap_refresh_netgroups_send(TALLOC_CTX *mem_ctx,
return NULL;
}
+ if (names == NULL) {
+ ret = EOK;
+ goto immediately;
+ }
+
state->ev = ev;
state->id_ctx = talloc_get_type(pvt, struct sdap_id_ctx);
state->names = names;
state->index = 0;
- if (names == NULL) {
- ret = EOK;
+ state->sdom = sdap_domain_get(state->id_ctx->opts, domain);
+ if (state->sdom == NULL) {
+ ret = ERR_DOMAIN_NOT_FOUND;
goto immediately;
}
@@ -107,8 +115,7 @@ static errno_t sdap_refresh_netgroups_step(struct tevent_req *req)
DEBUG(SSSDBG_TRACE_FUNC, "Issuing refresh of netgroup %s\n", name);
subreq = ldap_netgroup_get_send(state, state->ev, state->id_ctx,
- state->id_ctx->opts->sdom,
- state->id_ctx->conn,
+ state->sdom, state->id_ctx->conn,
name, true);
if (subreq == NULL) {
ret = ENOMEM;