[tor-dev] Status report - Stream-RTT
atagar at torproject.org
Sat Aug 10 00:37:48 UTC 2013
>> Yup. It's unfortunate that tor decided to include an 'Exit' flag with
>> such an unintuitive meaning. You're not the first person to be
>> confused by it.
> Is this meaning at least documented somewhere and I have just read over it?
Hi Robert. Here's the relevant part of the spec...
>> What kind of issue does that encounter? Is it a problem with stem's
>> thread safety or an issue on tor's side?
> If requests are sent to Tor to create more then a single circuit at once, the
> mapping between circuit events and create-request is unknown because the
> circuit ID is not known until the LAUNCHED-event has been received.
> This is clearly an issue on Tor's side but one could argue that Stem should
> stop me from using it that way.
Not sure that I follow. The extend_circuit() returns the circuit id
(it's provided by the EXTENDCIRCUIT call). Are you saying that tor's
EXTENDCIRCUIT response is wrong when done in parallel?
>> Not quite. The connect_port() function never returns an exception.
>> Rather, if it fails to establish a control connection then it prints
>> the issue to stdout and returns None. Also, the connection it provides
>> is already authenticated.
> If Tor has ControlPort enabled without having HashedControlPassword set,
> authenticate() has to be called to authenticate the connection.
> Though this is not recommended I don't know which other default setting would
> be more appropriate.
I think there's some misunderstanding. Yes, when you establish a new
controller connection you need to call authenticate(), even if Tor
doesn't require any credentials.
connect_port() is a convenience function that does everything
(including authentication) for you. If tor requires a password then it
gives the user a password prompt. If it runs into an error then it
prints an explanation of the failure and returns None. Sounds like I
need some more documentation here...
More information about the tor-dev