mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
r11727@Kushana: nickm | 2006-12-28 16:27:17 -0500
If we only have a single nameserver, raise the threshold to decide that the nameserver is dead. (Another fumbling attempt to do something about bug 326.) svn:r9203
This commit is contained in:
parent
3996fd1d9d
commit
0bbbf98be4
@ -122,7 +122,9 @@ Changes in version 0.1.2.5-xxxx - 200?-??-??
|
|||||||
- Removed the supposedly misleading error message mentioned in Bug #294.
|
- Removed the supposedly misleading error message mentioned in Bug #294.
|
||||||
Patch from Matt Edman.
|
Patch from Matt Edman.
|
||||||
- Stop warning when a single nameserver fails: only warn when _all_ of
|
- Stop warning when a single nameserver fails: only warn when _all_ of
|
||||||
our nameservers have failed. (Part of a solution to bug #326.)
|
our nameservers have failed. (Bug #326.)
|
||||||
|
- When we only have one nameserver, raise the threshold for deciding that
|
||||||
|
the nameserver is dead. (Also bug #326)
|
||||||
|
|
||||||
o Controller features:
|
o Controller features:
|
||||||
- Have GETINFO dir/status/* work on hosts with DirPort disabled.
|
- Have GETINFO dir/status/* work on hosts with DirPort disabled.
|
||||||
|
11
doc/TODO
11
doc/TODO
@ -113,18 +113,17 @@ N - DNS improvements
|
|||||||
o Bug 363: Warn and die if we can't find a nameserver and we're running a
|
o Bug 363: Warn and die if we can't find a nameserver and we're running a
|
||||||
server; don't fall back to 127.0.0.1.
|
server; don't fall back to 127.0.0.1.
|
||||||
o Re-check dns when we change IP addresses, rather than every 12 hours
|
o Re-check dns when we change IP addresses, rather than every 12 hours
|
||||||
. Bug 326: Give fewer error messages from nameservers.
|
o Bug 326: Give fewer error messages from nameservers.
|
||||||
o Only warn when _all_ nameservers are down; otherwise info.
|
o Only warn when _all_ nameservers are down; otherwise info.
|
||||||
- Increase timeout; what's industry standard?
|
D Increase timeout; what's industry standard?
|
||||||
- Alternatively, raise timeout when nameserver dies but comes back
|
D Alternatively, raise timeout when nameserver dies but comes back
|
||||||
quickly?
|
quickly?
|
||||||
- Don't believe that our sole nameserver is dead? or, not until more
|
o Don't believe that our sole nameserver is dead? or, not until more
|
||||||
failures than it would take to think one of several nameservers was
|
failures than it would take to think one of several nameservers was
|
||||||
dead?
|
dead?
|
||||||
- easy: adjust global_max_nameserver_timeout / global_timeout.
|
|
||||||
X Possibly, don't warn until second retry of a nameserver gets no
|
X Possibly, don't warn until second retry of a nameserver gets no
|
||||||
answer?
|
answer?
|
||||||
- warn if all of your nameservers go down and stay down for like
|
X warn if all of your nameservers go down and stay down for like
|
||||||
5 minutes.
|
5 minutes.
|
||||||
R o Take out the '5 second' timeout from the socks detach schedule.
|
R o Take out the '5 second' timeout from the socks detach schedule.
|
||||||
|
|
||||||
|
14
src/or/dns.c
14
src/or/dns.c
@ -216,7 +216,7 @@ dns_reset(void)
|
|||||||
resolv_conf_mtime = 0;
|
resolv_conf_mtime = 0;
|
||||||
} else {
|
} else {
|
||||||
if (configure_nameservers(0) < 0)
|
if (configure_nameservers(0) < 0)
|
||||||
/* XXXX */
|
/* XXXX012 */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
@ -651,7 +651,7 @@ dns_resolve(edge_connection_t *exitconn, or_circuit_t *oncirc)
|
|||||||
log_debug(LD_EXIT,"Connection (fd %d) found cached error for %s",
|
log_debug(LD_EXIT,"Connection (fd %d) found cached error for %s",
|
||||||
exitconn->_base.s,
|
exitconn->_base.s,
|
||||||
escaped_safe_str(exitconn->_base.address));
|
escaped_safe_str(exitconn->_base.address));
|
||||||
/* XXXX send back indication of failure for connect case? -NM*/
|
/* XXXX012 send back indication of failure for connect case? -NM*/
|
||||||
if (is_resolve)
|
if (is_resolve)
|
||||||
send_resolved_cell(exitconn, oncirc, RESOLVED_TYPE_ERROR);
|
send_resolved_cell(exitconn, oncirc, RESOLVED_TYPE_ERROR);
|
||||||
circ = circuit_get_by_edge_conn(exitconn);
|
circ = circuit_get_by_edge_conn(exitconn);
|
||||||
@ -853,7 +853,7 @@ add_answer_to_cache(const char *address, int is_reverse, uint32_t addr,
|
|||||||
if (outcome == DNS_RESOLVE_FAILED_TRANSIENT)
|
if (outcome == DNS_RESOLVE_FAILED_TRANSIENT)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* XXX This is dumb, but it seems to workaround a bug I can't find. We
|
/* XXXX012 This is dumb, but it seems to workaround a bug I can't find. We
|
||||||
* should nail this so we can cache reverse DNS answers. -NM */
|
* should nail this so we can cache reverse DNS answers. -NM */
|
||||||
if (is_reverse)
|
if (is_reverse)
|
||||||
return;
|
return;
|
||||||
@ -1525,6 +1525,14 @@ configure_nameservers(int force)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (evdns_count_nameservers() == 1) {
|
||||||
|
evdns_set_option("max-timeouts:", "16", DNS_OPTIONS_ALL);
|
||||||
|
evdns_set_option("timeout:", "10", DNS_OPTIONS_ALL);
|
||||||
|
} else {
|
||||||
|
evdns_set_option("max-timeouts:", "3", DNS_OPTIONS_ALL);
|
||||||
|
evdns_set_option("timeout:", "5", DNS_OPTIONS_ALL);
|
||||||
|
}
|
||||||
|
|
||||||
dns_servers_relaunch_checks();
|
dns_servers_relaunch_checks();
|
||||||
|
|
||||||
nameservers_configured = 1;
|
nameservers_configured = 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user