Browse Source

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.
Roger Dingledine 7 years ago
parent
commit
f12aad7f09
2 changed files with 7 additions and 1 deletions
  1. 6 0
      changes/bug20423
  2. 1 1
      src/or/dirserv.c

+ 6 - 0
changes/bug20423

@@ -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.
+

+ 1 - 1
src/or/dirserv.c

@@ -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);