Browse Source

Merge remote branch 'sebastian/bug1776_v3'

Nick Mathewson 14 years ago
parent
commit
a445daf0cf
2 changed files with 7 additions and 2 deletions
  1. 3 0
      changes/bug1776_v3
  2. 4 2
      src/or/routerlist.c

+ 3 - 0
changes/bug1776_v3

@@ -0,0 +1,3 @@
+  o Minor bugfixes:
+    - Really allow clients to use relays as bridges. Fixes bug 1776;
+      bugfix on 0.2.2.15-alpha.

+ 4 - 2
src/or/routerlist.c

@@ -3176,8 +3176,10 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
     /* If we have this descriptor already and the new descriptor is a bridge
      * descriptor, replace it. If we had a bridge descriptor before and the
      * new one is not a bridge descriptor, don't replace it. */
-    if (old_router && (!routerinfo_is_a_configured_bridge(router) ||
-                routerinfo_is_a_configured_bridge(old_router))) {
+    tor_assert(old_router);
+    if (! (routerinfo_is_a_configured_bridge(router) &&
+            (router->purpose == ROUTER_PURPOSE_BRIDGE ||
+             old_router->purpose != ROUTER_PURPOSE_BRIDGE))) {
       log_info(LD_DIR,
                "Dropping descriptor that we already have for router '%s'",
                router->nickname);