diff options
author | Simo Sorce <simo@redhat.com> | 2013-03-15 15:30:23 -0400 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2013-05-17 05:17:34 -0400 |
commit | 0d644a91cdfb0ebec3f9c5dd8bb6f3bee849bc4e (patch) | |
tree | b53dd595206b31233c42355a916d6ddf68d5b018 | |
parent | 07a3f58803f0f05ea481bb4892220a2c6e209934 (diff) | |
download | sssd-wip.tar.gz sssd-wip.tar.xz sssd-wip.zip |
Revert "WIP tevent req for ipa_subdomain"wip
This reverts commit 83ccc024c7c1c3e07e5dcb75a2afc03f86858917.
-rw-r--r-- | src/providers/ipa/ipa_subdomains.c | 108 |
1 files changed, 53 insertions, 55 deletions
diff --git a/src/providers/ipa/ipa_subdomains.c b/src/providers/ipa/ipa_subdomains.c index 6b0018a4..98fc69f1 100644 --- a/src/providers/ipa/ipa_subdomains.c +++ b/src/providers/ipa/ipa_subdomains.c @@ -585,9 +585,9 @@ static void ipa_subdomains_get_conn_done(struct tevent_req *req) { int ret; int dp_error = DP_ERR_FATAL; - struct ipa_subdomains_req_ctx *state; + struct ipa_subdomains_req_ctx *ctx; - state = tevent_req_callback_data(req, struct ipa_subdomains_req_ctx); + ctx = tevent_req_callback_data(req, struct ipa_subdomains_req_ctx); ret = sdap_id_op_connect_recv(req, &dp_error); talloc_zfree(req); @@ -607,7 +607,7 @@ static void ipa_subdomains_get_conn_done(struct tevent_req *req) goto fail; } - ret = ipa_subdomains_handler_get(state, IPA_SUBDOMAINS_SLAVE); + ret = ipa_subdomains_handler_get(ctx, IPA_SUBDOMAINS_SLAVE); if (ret != EOK && ret != EAGAIN) { goto fail; } @@ -615,11 +615,11 @@ static void ipa_subdomains_get_conn_done(struct tevent_req *req) return; fail: - be_req_terminate(state->be_req, dp_error, ret, NULL); + be_req_terminate(ctx->be_req, dp_error, ret, NULL); } static errno_t -ipa_subdomains_handler_get(struct ipa_subdomains_req_ctx *state, +ipa_subdomains_handler_get(struct ipa_subdomains_req_ctx *ctx, enum ipa_subdomains_req_type type) { struct tevent_req *req; @@ -632,34 +632,32 @@ ipa_subdomains_handler_get(struct ipa_subdomains_req_ctx *state, params = &subdomain_requests[type]; - base = state->search_bases[state->search_base_iter]; + base = ctx->search_bases[ctx->search_base_iter]; if (base == NULL) { return EOK; } - talloc_free(state->current_filter); - state->current_filter = sdap_get_id_specific_filter(state, params->filter, - base->filter); - if (state->current_filter == NULL) { + talloc_free(ctx->current_filter); + ctx->current_filter = sdap_get_id_specific_filter(ctx, params->filter, + base->filter); + if (ctx->current_filter == NULL) { return ENOMEM; } - req = sdap_get_generic_send(state, state->sd_ctx->be_ctx->ev, - state->sd_ctx->sdap_id_ctx->opts, - sdap_id_op_handle(state->sdap_op), - base->basedn, base->scope, - state->current_filter, params->attrs, NULL, 0, - dp_opt_get_int( - state->sd_ctx->sdap_id_ctx->opts->basic, - SDAP_SEARCH_TIMEOUT), - false); + req = sdap_get_generic_send(ctx, ctx->sd_ctx->be_ctx->ev, + ctx->sd_ctx->sdap_id_ctx->opts, + sdap_id_op_handle(ctx->sdap_op), + base->basedn, base->scope, + ctx->current_filter, params->attrs, NULL, 0, + dp_opt_get_int(ctx->sd_ctx->sdap_id_ctx->opts->basic, + SDAP_SEARCH_TIMEOUT), false); if (req == NULL) { DEBUG(SSSDBG_OP_FAILURE, ("sdap_get_generic_send failed.\n")); return ENOMEM; } - tevent_req_set_callback(req, params->cb, state); + tevent_req_set_callback(req, params->cb, ctx); return EAGAIN; } @@ -669,14 +667,14 @@ static void ipa_subdomains_handler_done(struct tevent_req *req) int ret; size_t reply_count; struct sysdb_attrs **reply = NULL; - struct ipa_subdomains_req_ctx *state; + struct ipa_subdomains_req_ctx *ctx; struct sss_domain_info *domain; bool refresh_has_changes = false; - state = tevent_req_callback_data(req, struct ipa_subdomains_req_ctx); - domain = state->sd_ctx->be_ctx->domain; + ctx = tevent_req_callback_data(req, struct ipa_subdomains_req_ctx); + domain = ctx->sd_ctx->be_ctx->domain; - ret = sdap_get_generic_recv(req, state, &reply_count, &reply); + ret = sdap_get_generic_recv(req, ctx, &reply_count, &reply); talloc_zfree(req); if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, ("sdap_get_generic_send request failed.\n")); @@ -684,27 +682,27 @@ static void ipa_subdomains_handler_done(struct tevent_req *req) } if (reply_count) { - state->reply = talloc_realloc(state, state->reply, struct sysdb_attrs *, - state->reply_count + reply_count); - if (state->reply == NULL) { + ctx->reply = talloc_realloc(ctx, ctx->reply, struct sysdb_attrs *, + ctx->reply_count + reply_count); + if (ctx->reply == NULL) { ret = ENOMEM; goto done; } - memcpy(state->reply + state->reply_count, reply, + memcpy(ctx->reply+ctx->reply_count, reply, reply_count * sizeof(struct sysdb_attrs *)); - state->reply_count += reply_count; + ctx->reply_count += reply_count; } - state->search_base_iter++; - ret = ipa_subdomains_handler_get(state, IPA_SUBDOMAINS_SLAVE); + ctx->search_base_iter++; + ret = ipa_subdomains_handler_get(ctx, IPA_SUBDOMAINS_SLAVE); if (ret == EAGAIN) { return; } else if (ret != EOK) { goto done; } - ret = ipa_subdomains_refresh(state->sd_ctx, state->reply_count, - state->reply, &refresh_has_changes); + ret = ipa_subdomains_refresh(ctx->sd_ctx, ctx->reply_count, ctx->reply, + &refresh_has_changes); if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, ("Failed to refresh subdomains.\n")); goto done; @@ -725,9 +723,9 @@ static void ipa_subdomains_handler_done(struct tevent_req *req) } - state->search_base_iter = 0; - state->search_bases = state->sd_ctx->ranges_search_bases; - ret = ipa_subdomains_handler_get(state, IPA_SUBDOMAINS_RANGES); + ctx->search_base_iter = 0; + ctx->search_bases = ctx->sd_ctx->ranges_search_bases; + ret = ipa_subdomains_handler_get(ctx, IPA_SUBDOMAINS_RANGES); if (ret == EAGAIN) { return; } else if (ret != EOK) { @@ -738,7 +736,7 @@ static void ipa_subdomains_handler_done(struct tevent_req *req) ret = EINVAL; done: - be_req_terminate(state->be_req, DP_ERR_FATAL, ret, NULL); + be_req_terminate(ctx->be_req, DP_ERR_FATAL, ret, NULL); } @@ -748,23 +746,23 @@ static void ipa_subdomains_handler_ranges_done(struct tevent_req *req) int dp_error = DP_ERR_FATAL; size_t reply_count; struct sysdb_attrs **reply = NULL; - struct ipa_subdomains_req_ctx *state; + struct ipa_subdomains_req_ctx *ctx; struct range_info **range_list = NULL; struct sysdb_ctx *sysdb; struct sss_domain_info *domain; - state = tevent_req_callback_data(req, struct ipa_subdomains_req_ctx); - domain = state->sd_ctx->be_ctx->domain; + ctx = tevent_req_callback_data(req, struct ipa_subdomains_req_ctx); + domain = ctx->sd_ctx->be_ctx->domain; sysdb = domain->sysdb; - ret = sdap_get_generic_recv(req, state, &reply_count, &reply); + ret = sdap_get_generic_recv(req, ctx, &reply_count, &reply); talloc_zfree(req); if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, ("sdap_get_generic_send request failed.\n")); goto done; } - ret = ipa_ranges_parse_results(state, reply_count, reply, &range_list); + ret = ipa_ranges_parse_results(ctx, reply_count, reply, &range_list); if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, ("ipa_ranges_parse_results request failed.\n")); @@ -788,9 +786,9 @@ static void ipa_subdomains_handler_ranges_done(struct tevent_req *req) domain->domain_id == NULL || domain->realm == NULL) { - state->search_base_iter = 0; - state->search_bases = state->sd_ctx->master_search_bases; - ret = ipa_subdomains_handler_get(state, IPA_SUBDOMAINS_MASTER); + ctx->search_base_iter = 0; + ctx->search_bases = ctx->sd_ctx->master_search_bases; + ret = ipa_subdomains_handler_get(ctx, IPA_SUBDOMAINS_MASTER); if (ret == EAGAIN) { return; } else if (ret != EOK) { @@ -804,7 +802,7 @@ done: if (ret == EOK) { dp_error = DP_ERR_OK; } - be_req_terminate(state->be_req, dp_error, ret, NULL); + be_req_terminate(ctx->be_req, dp_error, ret, NULL); } static void ipa_subdomains_handler_master_done(struct tevent_req *req) @@ -813,11 +811,11 @@ static void ipa_subdomains_handler_master_done(struct tevent_req *req) int dp_error = DP_ERR_FATAL; size_t reply_count; struct sysdb_attrs **reply = NULL; - struct ipa_subdomains_req_ctx *state; + struct ipa_subdomains_req_ctx *ctx; - state = tevent_req_callback_data(req, struct ipa_subdomains_req_ctx); + ctx = tevent_req_callback_data(req, struct ipa_subdomains_req_ctx); - ret = sdap_get_generic_recv(req, state, &reply_count, &reply); + ret = sdap_get_generic_recv(req, ctx, &reply_count, &reply); talloc_zfree(req); if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, ("sdap_get_generic_send request failed.\n")); @@ -838,11 +836,11 @@ static void ipa_subdomains_handler_master_done(struct tevent_req *req) goto done; } - ret = sysdb_master_domain_add_info(state->sd_ctx->be_ctx->domain, + ret = sysdb_master_domain_add_info(ctx->sd_ctx->be_ctx->domain, NULL, flat, id); } else { - state->search_base_iter++; - ret = ipa_subdomains_handler_get(state, IPA_SUBDOMAINS_MASTER); + ctx->search_base_iter++; + ret = ipa_subdomains_handler_get(ctx, IPA_SUBDOMAINS_MASTER); if (ret == EAGAIN) { return; } else if (ret != EOK) { @@ -854,8 +852,8 @@ static void ipa_subdomains_handler_master_done(struct tevent_req *req) */ DEBUG(SSSDBG_CRIT_FAILURE, ("Master domain record not found!\n")); - if (!state->sd_ctx->configured_explicit) { - state->sd_ctx->disabled_until = time(NULL) + + if (!ctx->sd_ctx->configured_explicit) { + ctx->sd_ctx->disabled_until = time(NULL) + IPA_SUBDOMAIN_DISABLED_PERIOD; } @@ -866,7 +864,7 @@ done: if (ret == EOK) { dp_error = DP_ERR_OK; } - be_req_terminate(state->be_req, dp_error, ret, NULL); + be_req_terminate(ctx->be_req, dp_error, ret, NULL); } static void ipa_subdom_online_cb(void *pvt); |