summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-09-01 17:50:45 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-09-01 17:50:45 +0200
commita1601f16ca9860f3b09627f6804fc910d53b6fbd (patch)
treef1c0a2ad0351401738da5b9deb39075bef5df098
parentb39360bc41b5b501dcb3ad25aaf374796829dfd7 (diff)
downloadsssd-subdomfo.zip
sssd-subdomfo.tar.gz
sssd-subdomfo.tar.xz
WIP: Use be_mark_dom_as_offlinesubdomfo
-rw-r--r--src/providers/dp_backend.h1
-rw-r--r--src/providers/krb5/krb5_auth.c2
-rw-r--r--src/providers/ldap/ldap_auth.c4
-rw-r--r--src/providers/proxy/proxy_id.c2
4 files changed, 5 insertions, 4 deletions
diff --git a/src/providers/dp_backend.h b/src/providers/dp_backend.h
index bca0c2f..4bffcee 100644
--- a/src/providers/dp_backend.h
+++ b/src/providers/dp_backend.h
@@ -189,6 +189,7 @@ struct be_host_req {
bool be_is_offline(struct be_ctx *ctx);
void be_mark_offline(struct be_ctx *ctx);
+void be_mark_dom_offline(struct sss_domain_info *dom, struct be_ctx *ctx);
int be_add_reconnect_cb(TALLOC_CTX *mem_ctx,
struct be_ctx *ctx,
diff --git a/src/providers/krb5/krb5_auth.c b/src/providers/krb5/krb5_auth.c
index d35df13..2c8f682 100644
--- a/src/providers/krb5/krb5_auth.c
+++ b/src/providers/krb5/krb5_auth.c
@@ -720,7 +720,7 @@ static void krb5_auth_resolve_done(struct tevent_req *subreq)
* was found good, setting offline,
* but we still have to call the child to setup
* the ccache file if we are performing auth */
- be_mark_offline(state->be_ctx);
+ be_mark_dom_offline(state->domain, state->be_ctx);
kr->is_offline = true;
if (kr->pd->cmd == SSS_PAM_CHAUTHTOK ||
diff --git a/src/providers/ldap/ldap_auth.c b/src/providers/ldap/ldap_auth.c
index 217e80f..db251a9 100644
--- a/src/providers/ldap/ldap_auth.c
+++ b/src/providers/ldap/ldap_auth.c
@@ -1090,7 +1090,7 @@ static void sdap_auth4chpass_done(struct tevent_req *req)
case ETIMEDOUT:
case ERR_NETWORK_IO:
state->pd->pam_status = PAM_AUTHINFO_UNAVAIL;
- be_mark_offline(be_ctx);
+ be_mark_dom_offline(be_ctx->domain, be_ctx);
dp_err = DP_ERR_OFFLINE;
break;
default:
@@ -1308,7 +1308,7 @@ static void sdap_pam_auth_done(struct tevent_req *req)
}
if (ret == ETIMEDOUT || ret == ERR_NETWORK_IO) {
- be_mark_offline(be_ctx);
+ be_mark_dom_offline(be_ctx->domain, be_ctx);
dp_err = DP_ERR_OFFLINE;
goto done;
}
diff --git a/src/providers/proxy/proxy_id.c b/src/providers/proxy/proxy_id.c
index f8b8cbd..a622200 100644
--- a/src/providers/proxy/proxy_id.c
+++ b/src/providers/proxy/proxy_id.c
@@ -1512,7 +1512,7 @@ void proxy_get_account_info(struct be_req *breq)
if (ret == ENXIO) {
DEBUG(SSSDBG_OP_FAILURE,
"proxy returned UNAVAIL error, going offline!\n");
- be_mark_offline(be_ctx);
+ be_mark_dom_offline(domain, be_ctx);
}
be_req_terminate(breq, DP_ERR_FATAL, ret, NULL);
return;