1. 21 Sep, 2018 5 commits
  2. 20 Sep, 2018 20 commits
  3. 19 Sep, 2018 3 commits
    • Nick Mathewson's avatar
      Split routerlist.c into 4 separate modules · 08e3b88f
      Nick Mathewson authored
      There are now separate modules for:
          * the list of router descriptors
          * the list of authorities and fallbacks
          * managing authority certificates
          * selecting random nodes
      08e3b88f
    • David Goulet's avatar
      test: hs-v3 desc has arrived unit test · cb81a69f
      David Goulet authored
      
      
      That unit test makes sure we don't have pending SOCK request if the descriptor
      turns out to be unusable.
      
      Part of #27410.
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      cb81a69f
    • David Goulet's avatar
      hs-v3: Close all SOCKS request on descriptor failure · f4f809fe
      David Goulet authored
      
      
      Client side, when a descriptor is finally fetched and stored in the cache, we
      then go over all pending SOCKS request for that descriptor. If it turns out
      that the intro points are unusable, we close the first SOCKS request but not
      the others for the same .onion.
      
      This commit makes it that we'll close all SOCKS requests so we don't let
      hanging the other ones.
      
      It also fixes another bug which is having a SOCKS connection in RENDDESC_WAIT
      state but with a descriptor in the cache. At some point, tor will expire the
      intro failure cache which will make that descriptor usable again. When
      retrying all SOCKS connection (retry_all_socks_conn_waiting_for_desc()), we
      won't end up in the code path where we have already the descriptor for a
      pending request causing a BUG().
      
      Bottom line is that we should never have pending requests (waiting for a
      descriptor) with that descriptor in the cache (even if unusable).
      
      Fixees #27410.
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      f4f809fe
  4. 18 Sep, 2018 12 commits