[tor-bugs] #7341 [Tor]: circuit_expire_building applies CBT in twisted ways on hidden service circuits
Tor Bug Tracker & Wiki
blackhole at torproject.org
Tue Nov 27 18:59:22 UTC 2012
#7341: circuit_expire_building applies CBT in twisted ways on hidden service
circuits
------------------------+---------------------------------------------------
Reporter: mikeperry | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Tor: 0.2.4.x-final
Component: Tor | Version:
Keywords: tor-client | Parent:
Points: | Actualpoints:
------------------------+---------------------------------------------------
Comment(by nickm):
Replying to [comment:11 mikeperry]:
> 1. Flag them with hs_circ_has_timed_out and launch a new circuit in
parallel, and then use the first INDTRODUCE_ACK one to get back to us.
This seems like it will work especially well for
CIRCUIT_PURPOSE_C_INTRODUCING, but I'm not sure it will be great for
CIRCUIT_PURPOSE_C_ESTABLISH_REND, given that we'd need to reuse the rend
cookie and/or restart the whole introduction handshake too.
Yeah, we really shouldn't be reusing rend cookies.
> 2. Simply declare the circuit purpose(s) exempt from timeouts once the
circuit was already built to its full length. It might make sense to apply
the CircuitStreamTimeout instead of messing around with CBT for them,
since they are more like end-to-end RELAY cells anyway. I think I like
this idea for CIRCUIT_PURPOSE_C_ESTABLISH_REND, due to the cookie issues
above.
That seems like an okay idea. It's not perfect, but it's an improvement.
> So I think I'm going to try to hack up approach 1 for
CIRCUIT_PURPOSE_C_INTRODUCING and approach 2 for
CIRCUIT_PURPOSE_C_ESTABLISH_REND. Anyone object?
Seems like it's worth trying; I say go for it and see how it works.
(We definitely should be
> If anyone knows any potential pitfalls with launching
CIRCUIT_PURPOSE_C_INTRODUCING requests in parallel, or wants to help me
out by pointing me at the regions of the code I'd need to hack to do this,
I'd appreciate that, too.
What exact behavior are you proposing here? *Always* launch in parallel
seems iffy; "Launch in parallel on timeout" seems plausible, but we need
to keep an eye on it.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/7341#comment:13>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list