Переглянути джерело

entry_guard_pick_for_circuit(): TRAFFIC guards must have descriptors

This relates to the 21242 fix -- entry_guard_pick_for_circuit()
should never yield nodes without descriptors when the node is going
to be used for traffic, since we won't be able to extend through
them.
Nick Mathewson 7 роки тому
батько
коміт
26957a127a
1 змінених файлів з 2 додано та 0 видалено
  1. 2 0
      src/or/entrynodes.c

+ 2 - 0
src/or/entrynodes.c

@@ -2068,6 +2068,8 @@ entry_guard_pick_for_circuit(guard_selection_t *gs,
   // XXXX prop271 check Ed ID.
   if (! node)
     goto fail;
+  if (BUG(usage != GUARD_USAGE_DIRGUARD && !node_has_descriptor(node)))
+    goto fail;
 
   *chosen_node_out = node;
   *guard_state_out = tor_malloc_zero(sizeof(circuit_guard_state_t));