summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_async_connection.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2012-03-05 21:09:37 +0100
committerStephen Gallagher <sgallagh@redhat.com>2012-03-06 15:29:18 -0500
commitb300bad539e9a9ad7f3a88dc91253afff0425cb6 (patch)
tree4fbd463ffcb9c6b898d72f27aa443deea1e2bff4 /src/providers/ldap/sdap_async_connection.c
parent21f666d6a88dfa9cd7e984c25464dd56fe170598 (diff)
downloadsssd-b300bad539e9a9ad7f3a88dc91253afff0425cb6.tar.gz
sssd-b300bad539e9a9ad7f3a88dc91253afff0425cb6.tar.xz
sssd-b300bad539e9a9ad7f3a88dc91253afff0425cb6.zip
Only do one cycle when resolving a server
https://fedorahosted.org/sssd/ticket/1214
Diffstat (limited to 'src/providers/ldap/sdap_async_connection.c')
-rw-r--r--src/providers/ldap/sdap_async_connection.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/providers/ldap/sdap_async_connection.c b/src/providers/ldap/sdap_async_connection.c
index ca1cd6e12..22aa4f91e 100644
--- a/src/providers/ldap/sdap_async_connection.c
+++ b/src/providers/ldap/sdap_async_connection.c
@@ -962,7 +962,7 @@ static void sdap_kinit_done(struct tevent_req *subreq)
return;
} else {
if (kerr == KRB5_KDC_UNREACH) {
- fo_set_port_status(state->kdc_srv, PORT_NOT_WORKING);
+ be_fo_set_port_status(state->be, state->kdc_srv, PORT_NOT_WORKING);
nextreq = sdap_kinit_next_kdc(req);
if (!nextreq) {
tevent_req_error(req, ENOMEM);
@@ -1191,7 +1191,6 @@ struct tevent_req *sdap_cli_connect_send(TALLOC_CTX *memctx,
state->be = be;
state->srv = NULL;
state->srv_opts = NULL;
- state->be = be;
state->use_rootdse = !skip_rootdse;
state->force_tls = force_tls;
state->do_auth = !skip_auth;
@@ -1290,7 +1289,7 @@ static void sdap_cli_connect_done(struct tevent_req *subreq)
talloc_zfree(subreq);
if (ret) {
/* retry another server */
- fo_set_port_status(state->srv, PORT_NOT_WORKING);
+ be_fo_set_port_status(state->be, state->srv, PORT_NOT_WORKING);
ret = sdap_cli_resolve_next(req);
if (ret != EOK) {
tevent_req_error(req, ret);
@@ -1364,7 +1363,7 @@ static void sdap_cli_rootdse_done(struct tevent_req *subreq)
talloc_zfree(subreq);
if (ret) {
if (ret == ETIMEDOUT) { /* retry another server */
- fo_set_port_status(state->srv, PORT_NOT_WORKING);
+ be_fo_set_port_status(state->be, state->srv, PORT_NOT_WORKING);
ret = sdap_cli_resolve_next(req);
if (ret != EOK) {
tevent_req_error(req, ret);
@@ -1483,7 +1482,7 @@ static void sdap_cli_kinit_done(struct tevent_req *subreq)
talloc_zfree(subreq);
if (ret) {
if (ret == ETIMEDOUT) { /* child timed out, retry another server */
- fo_set_port_status(state->srv, PORT_NOT_WORKING);
+ be_fo_set_port_status(state->be, state->srv, PORT_NOT_WORKING);
ret = sdap_cli_resolve_next(req);
if (ret != EOK) {
tevent_req_error(req, ret);
@@ -1585,7 +1584,7 @@ int sdap_cli_connect_recv(struct tevent_req *req,
if (tevent_req_is_error(req, &tstate, &err)) {
/* mark the server as bad if connection failed */
if (state->srv) {
- fo_set_port_status(state->srv, PORT_NOT_WORKING);
+ be_fo_set_port_status(state->be, state->srv, PORT_NOT_WORKING);
} else {
if (can_retry) {
*can_retry = false;
@@ -1597,7 +1596,7 @@ int sdap_cli_connect_recv(struct tevent_req *req,
}
return EIO;
} else if (state->srv) {
- fo_set_port_status(state->srv, PORT_WORKING);
+ be_fo_set_port_status(state->be, state->srv, PORT_WORKING);
}
if (gsh) {