瀏覽代碼

Merge branch 'trove-2017-012_025' into maint-0.2.5

Nick Mathewson 6 年之前
父節點
當前提交
f49876d66e
共有 2 個文件被更改,包括 10 次插入1 次删除
  1. 6 0
      changes/trove-2017-012-part1
  2. 4 1
      src/or/routerlist.c

+ 6 - 0
changes/trove-2017-012-part1

@@ -0,0 +1,6 @@
+  o Major bugfixes (security, relay):
+    - When running as a relay, make sure that we never build a path through
+      ourselves, even in the case where we have somehow lost the version of
+      our descriptor appearing in the consensus. Fixes part of bug 21534;
+      bugfix on 0.2.0.1-alpha. This issue is also tracked as TROVE-2017-012
+      and CVE-2017-8822.

+ 4 - 1
src/or/routerlist.c

@@ -2411,7 +2411,10 @@ router_choose_random_node(smartlist_t *excludedsmartlist,
       });
   }
 
-  if ((r = routerlist_find_my_routerinfo()))
+  /* If the node_t is not found we won't be to exclude ourself but we
+   * won't be able to pick ourself in router_choose_random_node() so
+   * this is fine to at least try with our routerinfo_t object. */
+  if ((r = router_get_my_routerinfo()))
     routerlist_add_node_and_family(excludednodes, r);
 
   router_add_running_nodes_to_smartlist(sl, allow_invalid,