[tor-bugs] #28281 [Core Tor/Tor]: outline of high-level bootstrap tracker abstractions
Tor Bug Tracker & Wiki
blackhole at torproject.org
Fri Nov 2 18:19:46 UTC 2018
#28281: outline of high-level bootstrap tracker abstractions
--------------------------+------------------------------------
Reporter: catalyst | Owner: catalyst
Type: task | Status: assigned
Priority: Medium | Milestone: Tor: 0.3.6.x-final
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: s8-boostrap | Actual Points:
Parent ID: #28018 | Points: 0.5
Reviewer: | Sponsor: Sponsor8
--------------------------+------------------------------------
Comment (by catalyst):
Working from the list in [ticket:27103#comment:2 #27103], this is a
hopefully useful breakdown of the high-level phases of bootstrapping:
1. making the initial OR_CONN to any relay or bridge (see #27103)
* this should track the farthest progress that any individual attempt
has made so far
* "farthest progress" should probably be reset under some circumstances
(see #27691)
2. directory info
a. one-hop circuit, if needed?
b. bridge descriptor, if bridges are used? (see #11966)
c. consensus
d. descriptors (usually microdescs for clients)
3. building a useful application circuit
a. first OR_CONN to a guard if we're not using bridges
b. intermediate progress such as noting when each hop gets built (see
#27104)
In a pubsub framework, (1) will need to subscribe to events from
connections, and keep track of the maximum progress any one connection has
gotten.
There should be an abstraction that tracks circuit-building progress. We
can use it for (2)(a) and (3)(b).
We could make separate trackers for (2)(c) and (2)(d). As a bonus, those
trackers could handle the scaling of incremental progress for downloads.
If we make a tracker that subscribes to both circuit and connection
events, we could cleanly solve bugs such as #25061. It would also work
for (3)(a), which needs to know both circuit type (application circuit)
and connection state.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28281#comment:1>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list