Backport r17184: when building preemptive circuits, ignore streams
that have a chosen exit node in mind already. otherwise we get tricked into trying to build a new circuit that will handle them. svn:r17639
This commit is contained in:
parent
119fd23f1e
commit
76eed8cc18
|
@ -14,8 +14,8 @@ Backport for 0.2.0 once better tested:
|
|||
r17171 instead, to be even more resistant to poisoning.]
|
||||
o r17091: distinguish "no routers support pending circuits" from
|
||||
"no circuits are pending."
|
||||
- See also r17181...
|
||||
- ... and r17184.
|
||||
o See also r17181...
|
||||
o ... and r17184.
|
||||
- r17137: send END cell in response to connect to nonexistent hidserv port.
|
||||
- r17138: reject *:* servers should never do DNS lookups.
|
||||
- r17139: Fix another case of overriding .exit choices.
|
||||
|
|
|
@ -1163,7 +1163,8 @@ ap_stream_wants_exit_attention(connection_t *conn)
|
|||
conn->state == AP_CONN_STATE_CIRCUIT_WAIT &&
|
||||
!conn->marked_for_close &&
|
||||
!(TO_EDGE_CONN(conn)->want_onehop) && /* ignore one-hop streams */
|
||||
!(TO_EDGE_CONN(conn)->use_begindir) && /* ignore targetted dir fetches */
|
||||
!(TO_EDGE_CONN(conn)->use_begindir) && /* ignore targeted dir fetches */
|
||||
!(TO_EDGE_CONN(conn)->chosen_exit_name) && /* ignore defined streams */
|
||||
!connection_edge_is_rendezvous_stream(TO_EDGE_CONN(conn)) &&
|
||||
!circuit_stream_is_being_handled(TO_EDGE_CONN(conn), 0,
|
||||
MIN_CIRCUITS_HANDLING_STREAM))
|
||||
|
|
Loading…
Reference in New Issue