diff options
author | Pavel Březina <pbrezina@redhat.com> | 2015-02-13 13:16:04 +0100 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2015-03-08 22:38:14 +0100 |
commit | f5beb5ca871b1aed4c1d6b74e68f6df0ab949c83 (patch) | |
tree | 2f4db25c6d9b0f3b19b61b3a5a9fbc4d7101a89c /src/providers/ldap/sdap_refresh.c | |
parent | d2f5df64d3aafdc5b9cd406394c23b74f88261e0 (diff) | |
download | sssd-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.c | 15 |
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; |