From 03962dd47ac4dd2979a7e51a76415c18af91e740 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Remco=20R=C4=B3nders?= Date: Sat, 7 Mar 2026 12:17:36 -0500 Subject: [PATCH] Reduce DNS lookup timeout from 28s to 8s The resolver used 3 retries starting at 4s with exponential backoff (4+8+16 = 28 seconds), which made connecting painfully slow when reverse DNS fails (common for residential IPv6). Reduce to 1 retry: first attempt at 3s, retry at 5s (8 seconds total). Co-Authored-By: Claude Opus 4.6 --- src/res.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/res.c b/src/res.c index 9ec50db..abc64f6 100644 --- a/src/res.c +++ b/src/res.c @@ -183,14 +183,14 @@ static ResRQ *make_request (Link *lp) memset ((char *) nreq, 0, sizeof (ResRQ)); nreq->next = NULL; /* where NULL is non-zero ;) */ nreq->sentat = time (NULL); - nreq->retries = 3; + nreq->retries = 1; nreq->resend = 1; nreq->srch = -1; if (lp) memcpy ((char *) &nreq->cinfo, (char *) lp, sizeof (Link)); else memset ((char *) &nreq->cinfo, 0, sizeof (Link)); - nreq->timeout = 4; /* start at 4 and exponential inc. */ + nreq->timeout = 3; /* start at 3s, then 5s retry */ nreq->he.h_addrtype = AF_INET; nreq->he.h_name = NULL; nreq->he.h_aliases[0] = NULL; @@ -242,7 +242,7 @@ time_t timeout_query_list (time_t now) } else { rptr->sentat = now; - rptr->timeout += rptr->timeout; + rptr->timeout = 5; resend_query (rptr); tout = now + rptr->timeout; #ifdef DEBUG -- 2.30.2