[tor-commits] [tor/release-0.2.8] Only choose directory DirPorts on relays

nickm at torproject.org nickm at torproject.org
Thu May 5 14:52:06 UTC 2016


commit 9aa280cc0c105bc282c3c1c0dee385387251ab12
Author: teor (Tim Wilson-Brown) <teor2345 at gmail.com>
Date:   Thu Apr 28 16:07:47 2016 +1000

    Only choose directory DirPorts on relays
---
 src/or/directory.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/or/directory.c b/src/or/directory.c
index a03283e..8dc018a 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -630,6 +630,7 @@ directory_choose_address_routerstatus(const routerstatus_t *status,
   tor_assert(use_or_ap != NULL);
   tor_assert(use_dir_ap != NULL);
 
+  const or_options_t *options = get_options();
   int have_or = 0, have_dir = 0;
 
   /* We expect status to have at least one reachable address if we're
@@ -671,10 +672,11 @@ directory_choose_address_routerstatus(const routerstatus_t *status,
   }
 
   /* DirPort connections
-   * DIRIND_ONEHOP uses ORPort, but may fall back to the DirPort */
+   * DIRIND_ONEHOP uses ORPort, but may fall back to the DirPort on relays */
   if (indirection == DIRIND_DIRECT_CONN ||
       indirection == DIRIND_ANON_DIRPORT ||
-      indirection == DIRIND_ONEHOP) {
+      (indirection == DIRIND_ONEHOP
+       && !directory_must_use_begindir(options))) {
     have_dir = fascist_firewall_choose_address_rs(status,
                                                   FIREWALL_DIR_CONNECTION, 0,
                                                   use_dir_ap);





More information about the tor-commits mailing list