[tor-bugs] #28692 [Core Tor/sbws]: sbws should set ConnectionPadding 0

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Dec 4 01:21:35 UTC 2018


#28692: sbws should set ConnectionPadding 0
---------------------------+-----------------------------------
 Reporter:  teor           |          Owner:  (none)
     Type:  defect         |         Status:  needs_revision
 Priority:  Medium         |      Milestone:  sbws: 1.0.x-final
Component:  Core Tor/sbws  |        Version:
 Severity:  Normal         |     Resolution:
 Keywords:                 |  Actual Points:
Parent ID:                 |         Points:
 Reviewer:  teor           |        Sponsor:
---------------------------+-----------------------------------
Changes (by teor):

 * status:  needs_review => needs_revision
 * reviewer:   => teor


Comment:

 This patch makes the torrc options in sbws even more complicated.

 Here's what sbws has right now:
 1. a list of hard-coded torrc options in globals.py:
 https://github.com/torproject/sbws/blob/master/sbws/globals.py#L10
 2. a list of configured torrc options in stem.py, and the hard-coded
 option `LearnCircuitBuildTimeout 0`:
 https://github.com/torproject/sbws/blob/master/sbws/util/stem.py#L127
 3. a custom list of torrc options that the user can configure for launch:
 https://github.com/torproject/sbws/blob/master/sbws/util/stem.py#L142
 4. a list of hard-coded torrc options in stem.py, that can't be set until
 after sbws has bootstrapped:
 https://github.com/torproject/sbws/blob/master/sbws/util/stem.py#L197

 Then the pull request adds custom code to ignore the ConnectionPadding
 option if tor doesn't support it. This code is more complicated than it
 needs to be, and it has bugs.

 Here's a simpler design:
 * a list of torrc options in stem.py, containing 1., 2. and 4., with a
 flag saying when the option should be applied to tor (1. and 2. on launch,
 4. after launch)
 * a custom list of torrc options that the user can configure for launch
 (same as 3.)

 (There's an even simpler design in #28712 that makes 3. into a torrc file,
 but it's a breaking change.)

 Once we refactor the torrc option code, we can add:
 * a flag to ignore failures when applying the option after launch
 * a torrc option table entry: ConnectionPadding, 0, apply after launch,
 ignore failures

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/28692#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list