1 |
diff -Naurp bind-9.9.5/bin/dig/dighost.c bind-9.9.5.oden/bin/dig/dighost.c |
2 |
--- bind-9.9.5/bin/dig/dighost.c 2014-02-02 14:13:26.694294085 +0100 |
3 |
+++ bind-9.9.5.oden/bin/dig/dighost.c 2014-02-02 14:14:10.397296528 +0100 |
4 |
@@ -2787,8 +2787,13 @@ connect_timeout(isc_task_t *task, isc_ev |
5 |
} |
6 |
} else { |
7 |
fputs(l->cmdline, stdout); |
8 |
- printf(";; connection timed out; no servers could be " |
9 |
- "reached\n"); |
10 |
+ if (!next_origin(ISC_LIST_HEAD(l->q))) { |
11 |
+ printf(";; connection timed out; no servers could be " |
12 |
+ "reached\n"); |
13 |
+ } else { |
14 |
+ printf(";; connection timed out; trying next " |
15 |
+ "origin\n"); |
16 |
+ } |
17 |
cancel_lookup(l); |
18 |
check_next_lookup(l); |
19 |
if (exitcode < 9) |
20 |
@@ -3449,7 +3454,8 @@ recv_done(isc_task_t *task, isc_event_t |
21 |
return; |
22 |
} |
23 |
if ((msg->rcode == dns_rcode_servfail && !l->servfail_stops) || |
24 |
- (check_ra && (msg->flags & DNS_MESSAGEFLAG_RA) == 0 && l->recurse)) |
25 |
+ (check_ra && (msg->flags & DNS_MESSAGEFLAG_RA) == 0 && |
26 |
+ msg->rcode != dns_rcode_noerror && l->recurse)) |
27 |
{ |
28 |
dig_query_t *next = ISC_LIST_NEXT(query, link); |
29 |
if (l->current_query == query) |