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.
This commit is contained in:
Nick Mathewson 2017-01-31 11:46:06 -05:00
parent 93b39c5162
commit 26957a127a

View File

@ -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));