[tor-dev] Damian's Status Report - June 2012

Damian Johnson atagar at torproject.org
Tue Jul 3 16:26:36 UTC 2012

Hi all. This June I exchanged my developer hat to be a mentor instead,
spending more time reviewing code than writing it myself. Fingers
crossed that at least one or two of them stick around after the summer

As such, this status report is more about other people than me.
Apologies if I miss anything.

* Ravi (GSoC Student)

This month Ravi discovered a bug with Tor's GETCONF method [1] and
wrote numerous features including SAFECOOKIE support [2] and a GETCONF
method for the controller [3]. The GETCONF handling is complicated by
the accursed HiddenServiceOptions so it has needed several iterations,
but I plan to merge it this week. After that Ravi already has two more
feature branches lined up for me to review (*sob*)...

* Beck (Volunteer)

Somehow I've never been able to bring myself to do development on
Windows (if you haven't seen Neal Stephenson's Hole Hawg article then
I recommend it [4]). Fortunately Beck does, and has done a fantastic
job of fixing stem and its tests to work there [5][6]. He also added
get_version(), authenticate(), and protocolinfo() methods to the

* Erik and Megan (Wesleyan Students)

Erik and Megan have been focusing on stem's tests, first submitting a
couple fixes for the mocking module [7][8] then writing unit and
integration tests for the proc utilities [9]. Next they plan to
implement the CSV export functionality suggested by naif [10].

* Sathyanarayanan (Volunteer)

Though work has kept him pretty occupied, Sathyanarayanan has been
working on an ExitPolicy class [11] and is presently at the dev
meeting making plans to implement a python based Onionoo.

* Karsten

Though he isn't hacking on stem itself, Karsten has been helping by
reviewing its descriptor handling and suggesting improvements

Besides those, I implemented a few stem improvements too this month...

* Sphinx Documentation

At the start of June I rewrote stem's documentation into
reStructuredText so it could be compiled by Sphinx. The results are
very pretty...

* Python 2.5 Compatibility

Stem aims to support python versions 2.5 and above (in the 2.x
series). However, most of our development has been on 2.7, letting
backward incompatible changes slip in inadvertently. This ended up
being a two week bug fixing odyssey, but now that it's done stem and
its tests should now work if users want an interpretor that harks back
to 2006...

* Test Freezing Issue on Mac OSX

Both Sathyanarayanan and Karsten reported that stem's integ tests
freeze on Mac OSX. After a dozen hours of hair pulling I've narrowed
it down to an issue where control sockets are left in a CLOSE_WAIT
state when closed, and eventually we lose the ability to make new
control sockets...

>From what I can tell this is either an issue with Tor, Python, or Mac
OSX (my money's on the last). Help welcome if anyone has ideas.

Other random things from this month include going to the Fremont Fair,
attending a SEAPIG meeting (local python developer group) and making
travel arrangements to attend Defcon later in July.

Cheers! -Damian

[1] https://trac.torproject.org/6172
[2] https://trac.torproject.org/5262
[3] https://trac.torproject.org/6114
[4] http://www.team.net/mjb/hawg.html
[5] https://trac.torproject.org/5493
[6] https://trac.torproject.org/6205
[7] https://gitweb.torproject.org/stem.git/commitdiff/66376f5
[8] https://gitweb.torproject.org/stem.git/commitdiff/385b05b
[9] https://trac.torproject.org/6082
[10] https://trac.torproject.org/6171
[11] https://trac.torproject.org/5454
[12] https://lists.torproject.org/pipermail/tor-dev/2012-June/003608.html
[13] https://trac.torproject.org/6257

More information about the tor-dev mailing list