[tor-project] [TSoP] stem.client - status report #6
dmr-x at riseup.net
Mon Aug 13 05:18:12 UTC 2018
This is my sixth status report for the stem.client TSoP project .
You may see my previous reports on the tor-project ml. 
This report is about a week late.
It's been roughly 2.5 weeks since my last update.
I've still suffered from illness during this time - I'd say it knocked
out most of a week :( - but I think I've made some decent progress in
stem.client. I'm working through it, somewhat successfully.
I'm working through my plans for the stem.client roadmap.
You may recall from a previous status report  these early items on
1. refactor: Relay cell encryption/decryption/processing
2. centralize ORPort reads/sends (demux/mux) at connection level
3. implement required RelayCell subclasses (e.g. parsing of decrypted
(1) is mostly done in #27112 , with just a few more changes I wish to
Both (2) and (3) have had some groundwork laid with #27112, as well.
Notably I've created an intermediate RawRelayCell class that can handle
arbitrary payloads (mostly to be used for encrypted payloads), and
started to move the finer details of encryption/decryption/processing
into the Cell abstraction.
## stem, general
Discovering a py3 bug in #26432 , I filed #27030 .
I concurrently ran into some of the problems Damian did, and took notes
about / fixed them concurrently:
* hashing super() causing an infinite loop, a la
b48ce682ef1a5fc1d4237d106700ec929f49246b (but not exactly this) 
* a bit of cleanup from #26420 
I ran into a lot of trouble with the tests in #27053 , and provided
a few rounds of input that has helped move that ticket forward.
## other project-related
I convened with plcp a bit over IRC in discussing stem.client code and
functionality of the tor-spec, reviewing some of their code .
And I did some stem ticket bookkeeping / responses.
## tor, general
I've continued to do some bookkeeping / ticket triage as I run across
* #25573, #25574 "DropMark"
* #26228, respond on PR and close out PR
* probably more at such lower notability that I didn't take a note about
I've improved my IRC client config for rejoining the registered IRC
channels on reconnect - I should be easier to reach now, even when I'm
not personally paying attention to the IRC client.
# What's next
There's only a bit over a week left in the project.
I plan to focus as much as possible on stem.client!
Please refer above to the roadmap bullets.
I've highlighted a few more changes I wish to make for (1) in the ticket
Between (2) and (3), I'm not sure what's best to tackle next.
For (2), the work primarily involves rearchitecting the recv/send into
its own thread(s) and centralizing the handling. I've done that sort of
work before, so I think I could design and implement that well.
For (3), the work is a bit more mundane, but it *does* provide the
building blocks to do higher-level management of circuits, like
extending a circuit (building blocks, naturally: EXTEND[ED] cells).
I'm thus leaning to tackle (3) first.
These are both important, but I think (3) enables other work to be done,
whereas (2) is an architectural improvement that improves stability and
usage, but doesn't open way for much functionality.
File tickets to track spec improvements resulting from TSoP experience.
(These are bookkeeping / awareness tickets for my WIP changes.)
I still haven't filed these, and the spec has changed a bit, so I'm
deprioritizing this further until after stem.client coding.
I've generated a backlog of tasks that I haven't gotten to, including
ones I've mentioned in previous status reports. I'm deprioritizing these
for now, but I really do hope to get to them.
I'm not going to repeat / enumerate them here, for sanity's sake :)
# Other Tor things
Multiple in-person chats, yet again. While a sample size of 1 (i.e. me)
is by no means scientific, I'd say there's a definite, growing interest
in Tor and digital privacy overall.
With illness persisting, I had another period where I stopped reading
IRC scrollback proactively, but I think I might be back on track again.
Nonetheless, please still mention my nick (dmr) if you want to get my
As with before, please don't hesitate to reach out to me via IRC or
More information about the tor-project