1. 15 Sep, 2017 4 commits
  2. 14 Sep, 2017 29 commits
  3. 13 Sep, 2017 4 commits
    • Nick Mathewson's avatar
      Merge branch 'bug23466_squashed' · 00bf4ed5
      Nick Mathewson authored
      00bf4ed5
    • George Kadianakis's avatar
      prop224 test: Test client desc expiration in tests. · 6b794c7e
      George Kadianakis authored and Nick Mathewson's avatar Nick Mathewson committed
      We enrich the test_client_cache() test in two ways:
      
      a) We check that transitioning time periods also cleans up expired
         descriptors in client memory.
      
      b) We test hs_cache_lookup_as_client() instead of
         lookup_v3_desc_as_client(). The former is a higher level function
         which calls the latter and allows us to test deeper into the
         subsystem.
      6b794c7e
    • George Kadianakis's avatar
      prop224: Set stricter expiration time of cached client descriptors. · cf8a2b15
      George Kadianakis authored and Nick Mathewson's avatar Nick Mathewson committed
      In #23466 we discovered that cached descriptors can stay around on the
      client-side for up to 72 hours. In reality we only want those descs to
      get cached for the duration of the current time period, since after that
      TP is gone the client needs to compute a new blinded key to use for the HS.
      
      In this commit we start using the consensus time (if available) when
      cleaning up cached client descriptor entries. That makes sense because
      the client uses consensus time anyway for connecting to hidden
      services (e.g. computing blinded keys and time periods).
      
      If no recent consensus is available, we consider descriptors to be
      expired since we will want to fetch new ones when we get a live
      consensus to avoid the Roger bug. If we didn't do that, when Roger
      desuspends his laptop there would be a race between Tor fetching a new
      consensus, and Tor connecting to the HS which would still cause
      reachability issues.
      
      We also turned a rev counter check into a BUG, since we should never
      receive a descriptor with a strictly smaller rev counter than the one we
      already have, except if there is a bug or if the HSDir wants to mess
      with us. In any case, let's turn this into a BUG so that we can detect
      and debug such cases easily.
      cf8a2b15
    • Nick Mathewson's avatar
      dcaf971a
  4. 12 Sep, 2017 3 commits