From: Nick Mathewson Date: Tue, 31 Jan 2017 16:46:06 +0000 (-0500) Subject: entry_guard_pick_for_circuit(): TRAFFIC guards must have descriptors X-Git-Tag: tor-0.3.0.3-alpha~24^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26957a127a80404ca243e50c3f0c2bac01e480b8;p=thirdparty%2Ftor.git 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. --- diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c index c5fb92e35a..344b69d65f 100644 --- a/src/or/entrynodes.c +++ b/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));