diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2012-03-27 18:00:18 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2012-03-30 08:31:26 -0400 |
commit | aad27b6b3581e1f4244c4b22cfcb1534506bb68d (patch) | |
tree | 447992bd59805230cffaa6fd091aeff8117d1ee4 /src/resolv | |
parent | a27f24a9b3df42c2e5abaa3d4e878357145cddea (diff) | |
download | sssd-aad27b6b3581e1f4244c4b22cfcb1534506bb68d.tar.gz sssd-aad27b6b3581e1f4244c4b22cfcb1534506bb68d.tar.xz sssd-aad27b6b3581e1f4244c4b22cfcb1534506bb68d.zip |
Return correct resolv_status on resolver timeout
https://fedorahosted.org/sssd/ticket/1274
Diffstat (limited to 'src/resolv')
-rw-r--r-- | src/resolv/async_resolv.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/resolv/async_resolv.c b/src/resolv/async_resolv.c index 1fbd671a9..ff19050b0 100644 --- a/src/resolv/async_resolv.c +++ b/src/resolv/async_resolv.c @@ -511,7 +511,9 @@ resolv_init(TALLOC_CTX *mem_ctx, struct tevent_context *ev_ctx, struct resolv_ctx *ctx; if (timeout < 1) { - return EINVAL; + DEBUG(SSSDBG_MINOR_FAILURE, + ("The timeout is too short, DNS operations are going to fail. " + "This is a bug outside unit tests\n")); } ctx = talloc_zero(mem_ctx, struct resolv_ctx); @@ -1389,6 +1391,9 @@ resolv_gethostbyname_done(struct tevent_req *subreq) /* No more databases and/or address families */ tevent_req_error(req, ENOENT); return; + } else if (ret == ETIMEDOUT) { + /* In case we killed the request before c-ares answered */ + state->status = ARES_ETIMEOUT; } if (ret != EOK) { |