>From 0ee3d38662a351fc4628cafb48850f1bc1b1c1a9 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 3 Mar 2015 11:39:39 +0100 Subject: [PATCH 1/2] resolv: Use the same default timeout for SRV queries as previously When we changed the resolver code to use the TTL values from the DNS queries instead of harcoded ones, we changed the default value by accident. Add a separate SRV TTL that is backwards-compatible with the old harcoded value. --- src/resolv/async_resolv.c | 4 +++- src/resolv/async_resolv.h | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/resolv/async_resolv.c b/src/resolv/async_resolv.c index c9657ef414eb4d728ca38f4be6b117bc8ebaf8d7..1035924208391f31297a423960adf51a45870665 100644 --- a/src/resolv/async_resolv.c +++ b/src/resolv/async_resolv.c @@ -1757,8 +1757,10 @@ resolv_getsrv_done(void *arg, int status, int timeouts, unsigned char *abuf, int state->reply_list = reply_list; ok = resolv_get_ttl(abuf, alen, &state->ttl); if (ok == false) { - state->ttl = RESOLV_DEFAULT_TTL; + DEBUG(SSSDBG_MINOR_FAILURE, "Could not read TTL, using the default..\n"); + state->ttl = RESOLV_DEFAULT_SRV_TTL; } + DEBUG(SSSDBG_TRACE_LIBS, "Using TTL [%"PRIu32"]\n", state->ttl); tevent_req_done(req); return; diff --git a/src/resolv/async_resolv.h b/src/resolv/async_resolv.h index 109779bb96b01ac03bb7d2293b8e43850b77ef46..876abff14e6e22c67585a476a7169423281f01c7 100644 --- a/src/resolv/async_resolv.h +++ b/src/resolv/async_resolv.h @@ -36,6 +36,10 @@ #define RESOLV_DEFAULT_TTL 7200 #endif /* RESOLV_DEFAULT_TTL */ +#ifndef RESOLV_DEFAULT_SRV_TTL +#define RESOLV_DEFAULT_SRV_TTL 14400 +#endif /* RESOLV_DEFAULT_SRV_TTL */ + #include "util/util.h" /* -- 2.1.0