1. 23 Nov, 2020 1 commit
    • David Goulet's avatar
      config: Catch missing Bridge for ClientTransportPlugin · 780f2d93
      David Goulet authored
      
      
      First of all, tor doesn't support multiple transport name on a single
      *TransportPlugin line so get rid of that. The manpage has never documented
      that feature and it complexifies the line for no reason. A user can just use
      multiple ClientTransportPlugin line instead.
      
      Second, if no Bridge line is found, error immediately and exit. Don't leave
      the Bridge line alone there leading to bugs like #25528
      
      Third, when making sure we have a Bridge line with a ClientTransportPlugin, we
      now check at the managed proxy list. In order to pull this off, the transport
      name had to be added to the managed_proxy_t object so we can match for which
      transport it is used for. And thus justifying the removal of multiple
      transport support which adds no benefit except complexity.
      
      Fixes #40106
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      780f2d93
  2. 21 Nov, 2020 1 commit
  3. 19 Nov, 2020 3 commits
  4. 18 Nov, 2020 2 commits
  5. 17 Nov, 2020 13 commits
  6. 13 Nov, 2020 1 commit
    • David Goulet's avatar
      port: Don't ignore ports of a different family · d425dbf0
      David Goulet authored
      Commit c3a0f757
      
       added this feature for ORPort
      that we ignore any port that is not the family of our default address when
      parsing the port. So if port_parse_config() was called with an IPv4 default
      address, all IPv6 address would be ignored.
      
      That makes sense for ORPort since we call twice port_parse_config() for
      0.0.0.0 and [::] but for the rest of the ports, it is not good since a
      perfectly valid configuration can be:
      
        SocksPort 9050
        SocksPort [::1]:9050
      
      Any non-ORPort only binds by default to an IPv4 except the ORPort that binds
      to both IPv4 and IPv6 by default.
      
      The fix here is to always parse all ports within port_parse_config() and then,
      specifically for ORPort, remove the duplicates or superseding ones. The
      warning is only emitted when a port supersedes another.
      
      A unit tests is added to make sure SocksPort of different family always exists
      together.
      
      Fixes #40183
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      d425dbf0
  7. 12 Nov, 2020 14 commits
  8. 10 Nov, 2020 2 commits
  9. 09 Nov, 2020 3 commits