[tor-bugs] #19327 [Core Tor/Tor]: controller: expose fine-grained circuit detail.
Tor Bug Tracker & Wiki
blackhole at torproject.org
Mon Sep 23 15:58:35 UTC 2019
#19327: controller: expose fine-grained circuit detail.
-------------------------------------------------+-------------------------
Reporter: nickm | Owner: (none)
Type: enhancement | Status:
| needs_review
Priority: Medium | Milestone: Tor:
| unspecified
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: tor-control isolation test-support | Actual Points:
intro |
Parent ID: #17284 | Points: 2
Reviewer: nickm | Sponsor:
| SponsorS-can
-------------------------------------------------+-------------------------
Comment (by nickm):
This is an interesting design question: do we want to expose everything
here, or just stuff where we have a specific use-case for having it?
Ideally, we should only expose things where any implementation of the Tor
protocol might also want to expose them.
I'd suggest ignoring isolation stuff for now, since there is work on
progress for that stuff with ticket #19859. That includes all the stuff
isolate_*, nym_epoch, and the things between client_proto_type and
associated_isolated_stream_global_id in the source code. If we expose
those, we'll want to do so in some way that's compatible with how we
expose the same information for streams.
For implementation strategy, I suggest the following:
* Let's pick an fields set of options to add. Probably some of the above
fields will be easier and
* Then, let's get documentation for control-spec.txt that explains the
new fields, so we can make sure that we are explaining them right. This
is spec documentation, so it needs to explain what the fields are
_guaranteed_ to mean, not what they actually mean in today's Tor. If
there are any fields that might go away in the future, let's document that
too.
* Once that's settled, let's figure out how we do tests for these. One
option is a unit test that constructs a dummy origin_circuit_t object and
calls the appropriate function to serialize it for a controller. Another
option would be a new test in Stem.
* Once we have a specification and a testing strategy, let's start
merging the new fields. Let's do a branch that implements just one or two
of them at first, so that we can make sure we're on the sampe page about
implementation and testing strategy. After that's done, we can figure out
our best approach for doing the rest.
(Next I'll look at each of the options you mentioned above and make some
suggestions.)
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/19327#comment:13>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list