[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

constructing circuits using control port



I'm developing a tool that attempts to set up Tor circuits through
predetermined exit nodes via Tor's control port, but I've been having
only intermittent luck at getting the circuits to open.

The basic process that I'm using is to pick two or three nodes at
random from the list of ORs known to the client, checking to make sure
the would-be exit node has an acceptable policy, and then building the
appropriate circuit using the EXTENDCIRCUIT command and a list of
fingerprints.  Most (but not all) of the time, however, the circuit
fails immediately without explanation and without ever reaching the
BUILT state.

Here's an example of my control socket transcript:

C 20070804034544: AUTHENTICATE
S 20070804034544: 250 OK
C 20070804034544: EXTENDCIRCUIT 0 [fingerprintscrubbed],[fingerprintscrubbed]
S 20070804034545: 250 EXTENDED 116
C 20070804034545: SETEVENTS STREAM CIRC
S 20070804034545: 250 OK
S 20070804034545: 650 CIRC 116 FAILED

Is there anything wrong with my approach?