don't attempt a resolve when the cached answer will do

For relays that don't know their own address, avoid attempting
a local hostname resolve for each descriptor we download. Also cut
down on the number of "Success: chose address 'x.x.x.x'" log lines.

Fixes bugs 20423 and 20610; bugfix on 0.2.8.1-alpha.
This commit is contained in:
Roger Dingledine 2016-11-16 16:22:11 -05:00
parent 3bb40b213b
commit f12aad7f09
2 changed files with 7 additions and 1 deletions

6
changes/bug20423 Normal file
View File

@ -0,0 +1,6 @@
o Major bugfixes:
- For relays that don't know their own address, avoid attempting
a local hostname resolve for each descriptor we download. Also cut
down on the number of "Success: chose address 'x.x.x.x'" log lines.
Fixes bugs 20423 and 20610; bugfix on 0.2.8.1-alpha.

View File

@ -1034,7 +1034,7 @@ directory_fetches_from_authorities(const or_options_t *options)
if (options->BridgeRelay == 1)
return 0;
if (server_mode(options) &&
router_pick_published_address(options, &addr, 0) < 0)
router_pick_published_address(options, &addr, 1) < 0)
return 1; /* we don't know our IP address; ask an authority. */
refuseunknown = ! router_my_exit_policy_is_reject_star() &&
should_refuse_unknown_exits(options);