[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
0.2.3.0 as an exit: identity_digest not set
Here's another bug report. [No patch this time, I'm afraid. :-( ]
When we try to use 0.2.3.0 as an exit, circuit construction succeeds,
but stream creation fails almost all the time. The failure is in
connection_edge.c, here:
if (or_circ && or_circ->p_conn && !options->AllowSingleHopExits &&
(or_circ->is_first_hop ||
(!connection_or_digest_is_known_relay(
or_circ->p_conn->identity_digest) &&
should_refuse_unknown_exits(options)))) {
Almost always (on both a PlanetLab test network and the live Tor
network), or_circ->p_conn->identity_digest is just a bunch of NULs,
so connection_or_digest_is_known_relay naturally returns false.
Weirdly, I've seen it *not* fail once or twice, but I can't replicate
the non-failure.
Commenting out the body of the if makes the problem go away, but of
course it removes the single-hop protection.
Any ideas?
Thanks,
- Ian