Skip to content
Snippets Groups Projects
  1. Feb 23, 2021
  2. Feb 05, 2021
    • Alexander Hansen Færøy's avatar
      Fix Windows build. · af9107af
      Alexander Hansen Færøy authored
      While trying to resolve our CI issues, the Windows build broke with an
      unused function error:
      
         src/test/test_switch_id.c:37:1: error: ‘unprivileged_port_range_start’
         defined but not used [-Werror=unused-function]
      
      We solve this by moving the `#if !defined(_WIN32)` test above the
      `unprivileged_port_range_start()` function defintion such that it is
      included in its body.
      
      This is an unreviewed commit.
      
      See: tor#40275
      af9107af
    • Alexander Hansen Færøy's avatar
      Only check for bindable ports if we are unsure if it will fail. · 67aefd55
      Alexander Hansen Færøy authored
      We currently assume that the only way for Tor to listen on ports in the
      privileged port range (1 to 1023), on Linux, is if we are granted the
      NET_BIND_SERVICE capability. Today on Linux, it's possible to specify
      the beginning of the unprivileged port range using a sysctl
      configuration option. Docker (and thus the CI service Tor uses) recently
      changed this sysctl value to 0, which causes our tests to fail as they
      assume that we should NOT be able to bind to a privileged port *without*
      the NET_BIND_SERVICE capability.
      
      In this patch, we read the value of the sysctl value via the /proc/sys/
      filesystem iff it's present, otherwise we assume the default
      unprivileged port range begins at port 1024.
      
      See: tor#40275
      67aefd55
  3. Feb 03, 2021
  4. Jan 29, 2021
  5. Jan 28, 2021
  6. Jan 13, 2021
    • Nick Mathewson's avatar
      Better fix for #40241 (--enable-all-bugs-are-fatal and fallthrough) · fa8ecf88
      Nick Mathewson authored
      This one should work on GCC _and_ on Clang.  The previous version
      made Clang happier by not having unreachable "fallthrough"
      statements, but made GCC sad because GCC didn't think that the
      unconditional failures were really unconditional, and therefore
      _wanted_ a FALLTHROUGH.
      
      This patch adds a FALLTHROUGH_UNLESS_ALL_BUGS_ARE_FATAL macro that
      seems to please both GCC and Clang in this case: ordinarily it is a
      FALLTHROUGH, but when ALL_BUGS_ARE_FATAL is defined, it's an
      abort().
      
      Fixes bug 40241 again.  Bugfix on earlier fix for 40241, which was
      merged into maint-0.3.5 and forward, and released in 0.4.5.3-rc.
      fa8ecf88
  7. Jan 12, 2021
    • David Goulet's avatar
      0485c7dd
    • David Goulet's avatar
      hs-v3: Require reasonably live consensus · 04b02639
      David Goulet authored
      
      Some days before this commit, the network experienced a DDoS on the directory
      authorities that prevented them to generate a consensus for more than 5 hours
      straight.
      
      That in turn entirely disabled onion service v3, client and service side, due
      to the subsystem requiring a live consensus to function properly.
      
      We know require a reasonably live consensus which means that the HSv3
      subsystem will to its job for using the best consensus tor can find. If the
      entire network is using an old consensus, than this should be alright.
      
      If the service happens to use a live consensus while a client is not, it
      should still work because the client will use the current SRV it sees which
      might be the previous SRV for the service for which it still publish
      descriptors for.
      
      If the service is using an old one and somehow can't get a new one while
      clients are on a new one, then reachability issues might arise. However, this
      is a situation we already have at the moment since the service will simply not
      work if it doesn't have a live consensus while a client has one.
      
      Fixes #40237
      
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      04b02639
  8. Jan 11, 2021
  9. Dec 17, 2020
  10. Dec 14, 2020
    • Nick Mathewson's avatar
      Socks5: handle truncated client requests correctly · c4fe66e3
      Nick Mathewson authored
      Previously, our code would send back an error if the socks5 request
      parser said anything but DONE.  But there are other non-error cases,
      like TRUNCATED: we shouldn't send back errors for them.
      
      This patch lowers the responsibility for setting the error message
      into the parsing code, since the actual type of the error message
      will depend on what problem was encountered.
      
      Fixes bug 40190; bugfix on 0.3.5.1-alpha.
      c4fe66e3
  11. Nov 12, 2020
  12. Nov 09, 2020
  13. Nov 05, 2020
  14. Oct 28, 2020
  15. Oct 23, 2020
    • Nick Mathewson's avatar
      Update required/recommended protocol lists more systematically · fd58e74d
      Nick Mathewson authored
      First I began with a set of candidates:
      
        The client's _required_ list starts with all the protocols
        supported by every release in 0.2.9-stable through current
        master.
      
        The client's _required_ list starts with all the protocols
        supported by every release in 0.3.5-stable through current
        master.
      
        Everybody's _recommended_ list starts with all the protocols
        supported by every release in 0.3.5-stable through current master.
      
      Then I removed the protocol versions that we do not actually want to
      require or recommend:
      
        DirCache=1 (deprecated)
        HSDir=1, HSIntro=1-3, HSRend=1 (deprecated)
        (All HS* protocol requirements for clients)
        Link=1-3 (deprecated)
        LinkAuth=1 (obsolete)
        Relay=1 (obsolete)
      fd58e74d
  16. Oct 22, 2020
    • Roger Dingledine's avatar
      Turn ConsensusParams into a Linelist · 00118355
      Roger Dingledine authored
      Make it possible to specify multiple ConsensusParams torrc
      lines.
      
      Now directory authority operators can for example put the
      main ConsensusParams config in one torrc file and then add to it
      from a different torrc file.
      
      Closes ticket 40164.
      00118355
  17. Oct 18, 2020
    • Nick Mathewson's avatar
      Update required/recommended protocol versions. · d872c692
      Nick Mathewson authored
        Cons=1 is the old format of consensuses, without ed25519 keys. It
        is no longer required or recommended.
      
        Cons=2 is the new format of consensuses, with ed25519 keys. It
        is now required.
      
        (Similarly for Desc=1,2 and Microdesc=1,2)
      
      No supported client or relay versions should be affected by this
      change, since these versions are supported by clients and relays
      running 0.2.9 and later.  It will only take effect once enough
      authorities vote for it.
      
      Closes ticket 40162.
      d872c692
    • Nick Mathewson's avatar
      Split required/recommended protocol lists into multiple lines · 4298d877
      Nick Mathewson authored
      This should make diffs easier to read.
      4298d877
  18. Oct 14, 2020
    • Nick Mathewson's avatar
      Implement proposal 318: Limit protovers to 0..63 · dd63b972
      Nick Mathewson authored
      In brief: we go through a lot of gymnastics to handle huge protover
      numbers, but after years of development we're not even close to 10
      for any of our current versions.  We also have a convenient
      workaround available in case we ever run out of protocols: if (for
      example) we someday need Link=64, we can just add Link2=0 or
      something.
      
      This patch is a minimal patch to change tor's behavior; it doesn't
      take advantage of the new restrictions.
      
      Implements #40133 and proposal 318.
      dd63b972
  19. Oct 07, 2020
Loading