[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-bugs] #31851 [Core Tor/Tor]: Implement some more optional modules in Tor



#31851: Implement some more optional modules in Tor
--------------------------+------------------------------------
 Reporter:  teor          |          Owner:  teor
     Type:  task          |         Status:  needs_review
 Priority:  Medium        |      Milestone:  Tor: 0.4.3.x-final
Component:  Core Tor/Tor  |        Version:
 Severity:  Normal        |     Resolution:
 Keywords:  tor-design    |  Actual Points:  0.2
Parent ID:                |         Points:  5
 Reviewer:  nickm         |        Sponsor:  Sponsor31-can
--------------------------+------------------------------------
Changes (by teor):

 * status:  assigned => needs_review
 * actualpoints:   => 0.2


Comment:

 Here is my proposed design:

 Existing:
 * --disable-module-dirauth
   * Build tor without the Directory Authority module: tor can not run as a
 directory authority.
   * Disables AuthoritativeDirectory (minimal)

 Partially Implemented:
   * Disables *AuthoritativeDir*, and MinUptimeHidServDirectoryV2 options
     * Maybe these options should move under Directory Authority Server
 Options in the man page
   * Disables all the options under Directory Authority Server Options

 New:
 * --disable-module-dircache
   * Build tor without the Directory Cache module: tor can not run as a
 directory cache or authority. Implies --disable-module-dirauth.
   * Disables DirPort and DirCache (minimal)
   * Disables all the other options under Directory Server Options
   * Tor can't currently run as a dirauth without a DirPort, so we need the
 dircache to dirauth dependency
 * --disable-module-relay
   * Build tor without the Relay module: tor can not run as a relay,
 bridge, directory cache, or authority. Implies --disable-module-dircache
 and --disable-module-dirauth.
   * Disables ORPort and sets ClientOnly to 1 (minimal)
   * Disables all the other options under Server Options
   * Disables the --list-fingerprint, RelayBandwidth*,
 MaxAdvertisedBandwidth, PerConnBW*, and ServerTransportPlugin options
     * Maybe some of these options should move under Server Options in the
 man page
   * Tor can't currently run as a dircache without an ORPort, so we need
 the relay to dircache dependency

 Out of scope:
 * an onion service module
 * a module for code that is used by clients but not relays (for example,
 address reachability)
 * splitting bridge and non-bridge code

 Here's the CI design:
 * make all the CI jobs explicit using include (rather than the mix of
 matrix and non-matrix jobs we have right now)
   * we might want to backport this change, so future CI backports are
 easier
 * delete one of each pair of similar jobs with no options, rust,
 distcheck, and module-dirauth
 * add dircache and relay jobs

 Here's how I want to proceed:
 0. Make all CI jobs explicit, delete similar jobs, and backport
 1. Implement minimal --disable-module-dircache which disables DirPort and
 DirCache, with CI, but don't disable any code
 2. Implement minimal --disable-module-relay which disables ORPort and sets
 ClientOnly 1, with CI, but don't disable any code
 3. For each source code module, decide if it can be disabled when relay,
 dircache, or dirauth is disabled, and implement that change
 4. Depending on the config or control refactors, also disable the config
 or control for those modules

 Should we avoid confusion by calling these options --disable-relay-mode ?

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/31851#comment:1>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs