[tor-bugs] #28693 [Core Tor/Tor]: Add an option to disable circuit padding

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Apr 17 06:39:05 UTC 2019


#28693: Add an option to disable circuit padding
-------------------------------------------------+-------------------------
 Reporter:  teor                                 |          Owner:  (none)
     Type:  defect                               |         Status:
                                                 |  needs_revision
 Priority:  High                                 |      Milestone:  Tor:
                                                 |  unspecified
Component:  Core Tor/Tor                         |        Version:
 Severity:  Normal                               |     Resolution:
 Keywords:  wtf-pad, tor-relay, tor-cell,        |  Actual Points:
  padding, 041-must                              |
Parent ID:  #28634                               |         Points:  0.5
 Reviewer:                                       |        Sponsor:
                                                 |  Sponsor2
-------------------------------------------------+-------------------------
Changes (by teor):

 * status:  reopened => needs_revision


Comment:

 We have two similar options, !ConnectionPadding and
 !CircuitPaddingDisabled.

 In the current branch, 0 means "connection padding off" but "circuit
 padding on". Which makes it easier for a developer or user to make a
 mistake.

 But it's hard to make the options entirely consistent, because
 !ConnectionPadding has 3 options (force on, negotiate, force off), but
 !CircuitPadding has 2 (negotiate, force off).

 Here's one possible design (let's call it A):

 || || 0 || auto || 1 ||
 || !ConnectionPadding || off || negotiate || on ||
 || !CircuitPadding || off || negotiate || can't force on: reject config as
 invalid ||

 Here is another (let's call it B):

 || || 0 || auto || 1 ||
 || !ConnectionPadding || off || negotiate || on ||
 || !CircuitPadding || off || no third state: reject config as invalid ||
 negotiate ||

 In A, ConnectionPadding and CircuitPadding are consistent with each other:
 0 means off and auto means negotiate.

 In B, CircuitPadding is consistent with other 2-state torrc options,
 because it uses 0 and 1. But negotiate is auto in ConnectionPadding and 1
 in CircuitPadding.

 Do we have any existing options that are (0, auto) or (1, auto)?
 * If we don't, we shouldn't add one.
 * If we do, I guess it's ok, as long as we document it.

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


More information about the tor-bugs mailing list