[tor-dev] Damian's Status Report - February 2013

Damian Johnson atagar at torproject.org
Sat Mar 2 21:07:08 UTC 2013

Hi all. Between being a short month and oncall for work I didn't get
as much done as I'd like. What time I did have for tor mostly went
into stem's descriptor functionality. In particular...


* Microdescriptor Support

Stem can now read and parse microdescritpors (#8253), with controller
methods coming later this weekend.

I understand the desire for lightweight descriptors but they're a step
backward for controllers. Their lack of fingerprints make them clunky
to use (https://trac.torproject.org/8323#comment:2), and tor lacks the
usual methods for retrieving them (#8323) and v3 network status
information (#7953). Controllers will often need to read descriptor
content from the data directory until those are fixed.

* Invalid descriptor content within archives caused the reader to stop
processing content from the archive. This bug is simple in retrospect
but cost me around a week of hair pulling frustration to sort out.
Thanks to Karsten for catching it! (#8049)

* Descriptor readers can now optionally provide network status
documents rather than the entries they contain. Feature request by
Karsten. (#8050)

* Calling str() on Descriptors choked if it contained unicode content.
Caught by Sathyanarayanan. (#8265)

* Thanks to Karsten Descriptors now provide hex digests. (#8036)

* Discussed the new 'flag-thresholds' attribute and added support for
it to stem. (#8165)

* Descriptor parsers that used readline() could choke if derived from
a descriptor archive. Caught by Karsten.


General tasks included...

* Discussed proposal 218 with Karsten on tor-dev at ...


* Changed our consensus-tracker script to alarm for non-exits (we had
an undetected sybil attack early in the month). Also fixed an issue
where the script gobbled up way too much memory. (#7831}

* Made a few backward incompatible changes to improve stem's usability
in anticipation of our March API freeze...

  * Version comparison is now done through normal comparison operators
rather than a meets_requirements() method.
  * Renamed the keyword arguments for Controller.from_port() and
others to be less verbose (for instance 'control_port' to just
  * Dropped the 'path' arg from parse_file(), it was never intended
for external callers.

* Variety of bug fixes...

  * We didn't recognize a 'NEVER' date in ADDRMAP events. Caught by
Desoxy. {#8162)
  * Patch from Abhishek so our tests avoid static /tmp usage. (#7926)
  * Added copyright notices throughout most of our codebase. Suggested
by Juan. (#7954)
  * Addressed issues with get_process_name() on OSX. Caught by
Sathyanarayanan. (#8266)

Cheers! -Damian

More information about the tor-dev mailing list