summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorSimo Sorce <ssorce@redhat.com>2009-11-10 16:39:17 -0500
committerStephen Gallagher <sgallagh@redhat.com>2009-11-12 11:00:49 -0500
commitb5ac07244923be884255dfa8acc9c8a3da7d6ac1 (patch)
tree6f00de6a4888565d156bb00c679e2ea58a1f62dc /server
parent6a56f2477ae36f899515a3dc86ebf35adb992d5d (diff)
downloadsssd-b5ac07244923be884255dfa8acc9c8a3da7d6ac1.tar.gz
sssd-b5ac07244923be884255dfa8acc9c8a3da7d6ac1.tar.xz
sssd-b5ac07244923be884255dfa8acc9c8a3da7d6ac1.zip
Try to fix offline logins
Diffstat (limited to 'server')
-rw-r--r--server/providers/ldap/ldap_id.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/server/providers/ldap/ldap_id.c b/server/providers/ldap/ldap_id.c
index 124ee7d83..52391c282 100644
--- a/server/providers/ldap/ldap_id.c
+++ b/server/providers/ldap/ldap_id.c
@@ -709,10 +709,8 @@ static void sdap_account_info_users_done(struct tevent_req *req)
dp_err = DP_ERR_FATAL;
error = "Enum Users Failed";
- if (ret == ETIMEDOUT) {
- dp_err = DP_ERR_TIMEOUT;
- }
- if (ret == ETIMEDOUT || ret == EFAULT) {
+ if (ret == ETIMEDOUT || ret == EFAULT || ret == EIO) {
+ dp_err = DP_ERR_OFFLINE;
ctx = talloc_get_type(breq->be_ctx->bet_info[BET_ID].pvt_bet_data,
struct sdap_id_ctx);
sdap_mark_offline(ctx);
@@ -737,10 +735,8 @@ static void sdap_account_info_groups_done(struct tevent_req *req)
dp_err = DP_ERR_FATAL;
error = "Enum Groups Failed";
- if (ret == ETIMEDOUT) {
- dp_err = DP_ERR_TIMEOUT;
- }
- if (ret == ETIMEDOUT || ret == EFAULT) {
+ if (ret == ETIMEDOUT || ret == EFAULT || ret == EIO) {
+ dp_err = DP_ERR_OFFLINE;
ctx = talloc_get_type(breq->be_ctx->bet_info[BET_ID].pvt_bet_data,
struct sdap_id_ctx);
sdap_mark_offline(ctx);
@@ -765,10 +761,8 @@ static void sdap_account_info_initgr_done(struct tevent_req *req)
dp_err = DP_ERR_FATAL;
error = "Init Groups Failed";
- if (ret == ETIMEDOUT) {
- dp_err = DP_ERR_TIMEOUT;
- }
- if (ret == ETIMEDOUT || ret == EFAULT) {
+ if (ret == ETIMEDOUT || ret == EFAULT || ret == EIO) {
+ dp_err = DP_ERR_OFFLINE;
ctx = talloc_get_type(breq->be_ctx->bet_info[BET_ID].pvt_bet_data,
struct sdap_id_ctx);
sdap_mark_offline(ctx);