Opened 8 years ago

Closed 8 years ago

Last modified 7 years ago

#3695 closed defect (fixed)

Handling of ISO_STREAM is bogus

Reported by: rransom Owned by:
Priority: High Milestone: Tor: 0.2.3.x-final
Component: Core Tor/Tor Version:
Severity: Keywords: tor-client
Cc: nickm, katmagic Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

connection_edge_compatible_with_circuit prevents a stream with ISO_STREAM set from being associated to any circuit to which a stream (not necessarily a different stream) has already been associated. Nothing else looks at ISO_STREAM. (In other news, connection_edge_streams_are_compatible is dead code.)

This treatment of ISO_STREAM should cause excess circuit creation (#3632) during anonymous directory operations, and it does not (explicitly) prevent a circuit which has had an ISO_STREAM stream attached to it from having a non-ISO_STREAM stream attached to it later.

Child Tickets

Change History (5)

comment:1 Changed 8 years ago by rransom

Status: newneeds_review

See fix-ISO_STREAM ( https://git.torproject.org/rransom/tor.git fix-ISO_STREAM ) for a (not-yet-tested) fix.

comment:2 Changed 8 years ago by nickm

Nice catch!

Can we make the logic more uniform? (See branch "fix-ISO_STREAM" in my public repo)

comment:3 Changed 8 years ago by nickm

Resolution: fixed
Status: needs_reviewclosed

rransom liked it except for a comment, so I'll fix that, squash, and merge.

comment:4 Changed 7 years ago by nickm

Keywords: tor-client added

comment:5 Changed 7 years ago by nickm

Component: Tor ClientTor
Note: See TracTickets for help on using tickets.