Skip to content
Snippets Groups Projects
  1. Aug 17, 2021
    • David Goulet's avatar
      dir: Do not flag non-running failing HSDir · cac612af
      David Goulet authored
      
      When a directory request fails, we flag the relay as non Running so we
      don't use it anymore.
      
      This can be problematic with onion services because there are cases
      where a tor instance could have a lot of services, ephemeral ones, and
      keeps failing to upload descriptors, let say due to a bad network, and
      thus flag a lot of nodes as non Running which then in turn can not be
      used for circuit building.
      
      This commit makes it that we never flag nodes as non Running on a onion
      service directory request (upload or fetch) failure as to keep the
      hashring intact and not affect other parts of tor.
      
      Fortunately, the onion service hashring is _not_ selected by looking at
      the Running flag but since we do a 3-hop circuit to the HSDir, other
      services on the same instance can influence each other by removing nodes
      from the consensus for path selection.
      
      This was made apparent with a small network that ran out of nodes to
      used due to rapid succession of onion services uploading and failing.
      See #40434 for details.
      
      Fixes #40434
      
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      cac612af
  2. Aug 16, 2021
  3. Aug 13, 2021
  4. Aug 12, 2021
  5. Aug 11, 2021
  6. Jul 06, 2021
    • George Kadianakis's avatar
    • George Kadianakis's avatar
      98b9df61
    • Nick Mathewson's avatar
      Use native timegm when available. · c1d96358
      Nick Mathewson authored
      Continue having a tor_gmtime_impl() unit test so that we can detect
      any problems in our replacement function; add a new test function to
      make sure that gmtime<->timegm are a round-trip on now-ish times.
      
      This is a fix for bug #40383, wherein we ran into trouble because
      tor_timegm() does not believe that time_t should include a count of
      leap seconds, but FreeBSD's gmtime believes that it should.  This
      disagreement meant that for a certain amount of time each day,
      instead of calculating the most recent midnight, our voting-schedule
      functions would calculate the second-most-recent midnight, and lead
      to an assertion failure.
      
      I am calling this a bugfix on 0.2.0.3-alpha when we first started
      calculating our voting schedule in this way.
      c1d96358
  7. Jul 01, 2021
    • Nick Mathewson's avatar
      Suppress a clang 12 warning about "suspicious concatenation". · 2bc02b21
      Nick Mathewson authored
      My clang doesn't like it when we write code like this:
      
          char *list[] = {
             "abc",
             "def",
             "ghi"
             "jkl"
          }
      
      It wonders whether we meant to put a comma between "ghi" and "jkl"
      or not, and gives a warning.
      
      To suppress this warning (since in this case, we did mean to omit
      the comma), we just wrap the two strings in parentheses.
      
      Closes #40426; bugfix on 0.4.0.4-rc.
      2bc02b21
  8. Jun 30, 2021
  9. Jun 28, 2021
  10. Jun 25, 2021
  11. Jun 14, 2021
  12. Jun 10, 2021
Loading