[tor-commits] [tor/master] fix two issues pointed out by nickm

nickm at torproject.org nickm at torproject.org
Mon Mar 14 20:34:11 UTC 2011


commit 72b89c96bff877b5097c5e831d5469086d28c24c
Author: Roger Dingledine <arma at torproject.org>
Date:   Sun Mar 13 16:56:41 2011 -0400

    fix two issues pointed out by nickm
---
 src/or/or.h         |    1 +
 src/or/routerlist.c |    6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/or/or.h b/src/or/or.h
index 752de21..e899f60 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -3499,6 +3499,7 @@ typedef enum was_router_added_t {
   ROUTER_NOT_IN_CONSENSUS = -3,
   ROUTER_NOT_IN_CONSENSUS_OR_NETWORKSTATUS = -4,
   ROUTER_AUTHDIR_REJECTS = -5,
+  ROUTER_WAS_NOT_WANTED = -6
 } was_router_added_t;
 
 /********************************* routerparse.c ************************/
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index bbd08f3..4421d5c 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -3209,7 +3209,8 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
                          int from_cache, int from_fetch)
 {
   const char *id_digest;
-  int authdir = authdir_mode_handles_descs(get_options(), router->purpose);
+  or_options_t *options = get_options();
+  int authdir = authdir_mode_handles_descs(options, router->purpose);
   int authdir_believes_valid = 0;
   routerinfo_t *old_router;
   networkstatus_t *consensus = networkstatus_get_latest_consensus();
@@ -3319,12 +3320,13 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
    * descriptor. Otherwise we could end up using it as one of our entry
    * guards even if it isn't in our Bridge config lines. */
   if (router->purpose == ROUTER_PURPOSE_BRIDGE && from_cache &&
+      !authdir_mode_bridge(options) &&
       !routerinfo_is_a_configured_bridge(router)) {
     log_info(LD_DIR, "Dropping bridge descriptor for '%s' because we have "
              "no bridge configured at that address.", router->nickname);
     *msg = "Router descriptor was not a configured bridge.";
     routerinfo_free(router);
-    return ROUTER_WAS_NOT_NEW;
+    return ROUTER_WAS_NOT_WANTED;
   }
 
   /* If we have a router with the same identity key, choose the newer one. */





More information about the tor-commits mailing list