Damian's Dev Blog

Tor Development Reports

  • Contact
  • Stem
  • Tor

Status Report for January 2016

Posted by atagar on February 3, 2016
Posted in: Status Report.

This was a great start to the year! Highlight was lunch with David White, author of Battle for Wesnoth who also gave me a tour of Valve. But January had lots of neat Tor stuff too…


Nyx Connections Despite DisableDebuggerAttachment

For years Tor’s DisableDebuggerAttachment has been the bane of Nyx. The feature wasn’t intended to effect us, but screws with proc permissions breaking every connection resolver we have.

Resolvers read /proc//fd to get connection inodes, then use that to determine what from /proc/net/tcp belongs to our process. Tor’s DisableDebuggerAttachment breaks that by making /proc//fd only readable by root. However, even without knowing the inodes we can identify Tor related connections by if they go to a relay or our Tor ports. This is exactly what Nyx already does to identify a connection’s type.

TL;DR. Connection resolution now works all the time. Only drawbacks are…

  • This will blend connections when running multiple Tor processes.
  • Connection resolution can’t work until we have consensus information. This can take a few seconds when starting up.
  • We can’t show client or exit connections. Nyx already scrubbed these so no big loss, but means we now can’t even show that they exist.

Small drawbacks to have the connection panel work by default once again. User can still set ‘DisableDebuggerAttachment 0’ in their torrc for more reliable connection resolution.


IPv6 Connection Resolvers

Thanks to toralf Stem can now retrieve IPv6 connection information. More important for users, this means Nyx’s connection panel now works for IPv6 relays!


Few other noteworthy things…

  • Working with Karsten and Philipp we now have benchmarks for how our descriptor parsing libraries perform.
  • Nyx is faster! There’s still a lot of room to improve but quick pass over low hanging fruit reduced its load by an order of magnitude.

Posts navigation

← Status Report for December 2015
Status Report for February 2016 →
  • Recent Posts

    • Status Report for August 2022
    • Status Report for August 2021
    • Status Report for July 2021
    • Status Report for June 2021
    • Status Report for May 2021
  • Links

    • Contact
    • Stem
    • Tor
Proudly powered by WordPress Theme: Parament by Automattic.