[tor-bugs] #25061 [Core Tor/Tor]: Relays consider it a bootstrapping failure if they can't extend for somebody else's circuit
Tor Bug Tracker & Wiki
blackhole at torproject.org
Fri May 11 17:51:59 UTC 2018
#25061: Relays consider it a bootstrapping failure if they can't extend for
somebody else's circuit
-------------------------------------------------+-------------------------
Reporter: arma | Owner:
| catalyst
Type: defect | Status:
| assigned
Priority: Medium | Milestone: Tor:
| 0.3.4.x-final
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: backport-032, 033-backport, | Actual Points:
stability, 033-triage-20180320, |
033-included-20180320, s8-errors, bootstrap |
Parent ID: | Points:
Reviewer: | Sponsor:
| Sponsor8
-------------------------------------------------+-------------------------
Comment (by catalyst):
There are four places that call control_event_bootstrap_prob_or():
* `connection_or_about_to_close()` in connection_or.c
- This seems to have a fair amount of code in the TLS handshake
failure case, which could probably be factored out. It also
calls channel_closed() before any of the other stuff, which
maybe should be reordered?
- It's only really called through connection_unlink() in main.c.
* `connection_or_connect_failed()` in connection_or.c
- This fairly simple function has multiple callers
* `connection_or_connect()` in connection_or.c
- This seems to only handle the case where a PT proxy is missing.
Notably, it does NOT call `authdir_mode_tests_reachability()`.
* `connection_or_client_learned_peer_id()` in connection_or.c
- This seems to be when a router cert has an unexpected ID.
I'm thinking of ways to move the logic that currently calls
`control_event_bootstrap_prob_or()` into either the channel layer or even
higher. I think having the callers of `control_event_bootstrap_prob_or()`
call `authdir_mode_tests_reachability()` themselves is unnecessary when
`control_event_bootstrap_prob_or()` itself could probably safely do so.
(The one case above where the caller doesn't call
`authdir_mode_tests_reachability()` is a pluggable transport situation,
and dirauths don't use pluggable transports that I know of.)
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25061#comment:15>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list