Hi all. I spent most of August, like the prior month, traveling. This time I attended Toorcamp [1] and went on vacation. Both were pleasant and relaxing, but not terribly conducive to coding so I don't have much to report...
* Descriptor CSV Export Functionality
Naif proposed export functionality for Tor server descriptors a while back [1], which Eric and Megan took the first stab at [2]. I ended up revising this quite a bit [4], but it turned out nicely.
* Caching Expansion and Test Prompt
Added caching for GETCONF and static GETINFO queries. I also added a handy little script for a debugging interpretor. It kicks off Tor, then provides an interactive python prompt with a controller instance to it (optionally shutting Tor down afterward). Ravi code reviewed these changes [5] and volunteered to do code reviews of my future work as well.
* Consensus Parsing
Over the last few weeks Ravi's been working on a patch to parse network status documents [6]. It's functional, but missing unit tests and deviates from the parsing style and strict validation done for the other descriptor types so I'm taking a turn with the code. Thus far I'm done revising and adding tests for router status entries, and now working on the document. Changes are available in the 'document-parsing' branch of my repo [7].
Parsing these documents is a far larger task than I thought (especially if you include v2 documents and microdescriptors), so working on this branch will probably keep me occupied for much of September.
* Controller Expansion
Ravi has gone on a hacking binge, adding support for USEFEATURE [8], SIGNAL [9], EXTENDCIRCUIT [10], and SETCIRCUITPURPOSE [11].
Cheers! -Damian
[1] http://www.toorcamp.org/ [2] https://trac.torproject.org/6171 [3] https://trac.torproject.org/6512 [4] https://gitweb.torproject.org/stem.git/commitdiff/7022021c4207a0066cb9326162... [5] https://trac.torproject.org/6631 [6] https://trac.torproject.org/6569 [7] https://gitweb.torproject.org/user/atagar/stem.git/shortlog/refs/heads/docum... [8] https://trac.torproject.org/6417 [9] https://trac.torproject.org/6659 [10] https://trac.torproject.org/6666 [11] https://trac.torproject.org/6670