Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #20906

Closed (moved)
(moved)
Open
Created Dec 06, 2016 by Arthur Edelstein@arthuredelstein

SocksPorts and ControlPorts should be stored in a set, not a list

When using domain sockets, Tor Launcher needs to launch tor with a specific unix-domain SocksPort. The SocksPort is initially not in the torrc file (as the full path is not known before installation), so Tor Launcher passes the SocksPort setting in to the tor process via the tor command line.

Tor Launcher also calls saveconfig later in the session, such that the SocksPort will be saved to the torrc. So the next time Tor Launcher launches, passing the SocksPort to the command line is a duplicate of the previous SocksPort, now loaded in from the torrc. Tor then shows an error.

For an example, see ticket:20761#comment:11. More background is in #20761 (moved) as well.

I think a solution to this would be for tor to store SocksPorts (and similarly, ControlPorts) in a set rather than a list. So if the command line or a torrc or a setconf invocation specifies a redundant SocksPort setting, no error is thrown but the redundant setting is gracefully ignored. And only a single copy of a given SocksPort setting should be saved to the torrc when saveconfig is invoked.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking