1. 16 Oct, 2018 1 commit
  2. 24 Jul, 2018 1 commit
  3. 01 May, 2018 1 commit
  4. 27 Apr, 2018 1 commit
    • David Goulet's avatar
      mod: Move dirauth specific files to its own module · 2115a54b
      David Goulet authored
      This is a pretty big commit but it only moves these files to src/or/dirauth:
        dircollate.c dirvote.c shared_random.c shared_random_state.c
        dircollate.h dirvote.h shared_random.h shared_random_state.h
      Then many files are modified to change the include line for those header files
      that have moved into a new directory.
      Without using --disable-module-dirauth, everything builds fine. When using the
      flag to disable the module, tor doesn't build due to linking errors. This will
      be addressed in the next commit(s).
      No code behavior change.
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
  5. 06 Apr, 2018 1 commit
  6. 02 Apr, 2018 1 commit
  7. 26 Mar, 2018 1 commit
  8. 19 Mar, 2018 1 commit
  9. 17 Mar, 2018 1 commit
    • Nick Mathewson's avatar
      Extract the cryptographic parts of crypt_path_t and or_circuit_t. · 5ecad6c9
      Nick Mathewson authored
      Additionally, this change extracts the functions that created and
      freed these elements.
      These structures had common "forward&reverse stream&digest"
      elements, but they were initialized and freed through cpath objects,
      and different parts of the code depended on them.  Now all that code
      is extacted, and kept in relay_crypto.c
  10. 08 Mar, 2018 1 commit
    • Isis Lovecruft's avatar
      test: Increase time limit for IP creation in an HS test. · 0545f64d
      Isis Lovecruft authored
      This should avoid most intermittent test failures on developer and CI machines,
      but there could (and probably should) be a more elegant solution.
      Also, this test was testing that the IP was created and its expiration time was
      set to a time greater than or equal to `now+INTRO_POINT_LIFETIME_MIN_SECONDS+5`:
          /* Time to expire MUST also be in that range. We add 5 seconds because
           * there could be a gap between setting now and the time taken in
           * service_intro_point_new. On ARM, it can be surprisingly slow... */
          tt_u64_op(ip->time_to_expire, OP_GE,
                    now + INTRO_POINT_LIFETIME_MIN_SECONDS + 5);
      However, this appears to be a typo, since, according to the comment above it,
      adding five seconds was done because the IP creation can be slow on some
      systems.  But the five seconds is added to the *minimum* time we're comparing
      against, and so it actually functions to make this test *more* likely to fail on
      slower systems.  (It should either subtract five seconds, or instead add it to
       * FIXES #25450: https://bugs.torproject.org/25450
  11. 07 Feb, 2018 1 commit
  12. 31 Jan, 2018 1 commit
    • Nick Mathewson's avatar
      Fix a failing unit test. · 3d937043
      Nick Mathewson authored
      When we stopped looking at the "protocols" variable directly, we
      broke the hs_service/build_update_descriptors test, since it didn't
      actually update any of the flags.
      The fix here is to call summarize_protover_flags() from that test,
      and to expose summarize_protover_flags() as "STATIC" from
  13. 21 Dec, 2017 1 commit
  14. 11 Dec, 2017 1 commit
  15. 08 Dec, 2017 1 commit
  16. 05 Dec, 2017 1 commit
  17. 31 Oct, 2017 1 commit
  18. 26 Sep, 2017 1 commit
    • David Goulet's avatar
      hs: Improve logging · 648d5ea6
      David Goulet authored
      Also demote a log message that can occur under natural causes
      (if the circuit subsystem is missing descriptors/consensus etc.).
      The HS subsystem will naturally retry to connect to intro points,
      so no need to make that log user-facing.
  19. 25 Sep, 2017 2 commits
  20. 13 Sep, 2017 2 commits
  21. 12 Sep, 2017 1 commit
  22. 08 Sep, 2017 3 commits
    • David Goulet's avatar
      test: Improve our rotation and build descriptor tests · 6c6ba075
      David Goulet authored
      Because of the latest changes on when we rotate, longer lifetime of
      descriptors and no more overlap period, the tests needed to be improved to
      test more functionnalities.
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
    • David Goulet's avatar
      test: Fix use out of scope and consensus timings · f2c93f99
      David Goulet authored
      First, this fixes #23372
      Second, the consensus timings for the build descriptor have been changed to
      the current test can pass. More extensive tests of descriptor rotation are
      coming in a commit near you because the rotation and time period logic has
      been changed.
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
    • David Goulet's avatar
      prop224: Expand the overlap period concept to be a full SRV protocol run · cd07af60
      David Goulet authored
      Because of #23387, we've realized that there is one scenario that makes
      the client unable to reach the service because of a desynch in the time
      period used. The scenario is as follows:
        |                                                                  |
        | 00:00      12:00       00:00       12:00       00:00       12:00 |
        | SRV#1      TP#1        SRV#2       TP#2        SRV#3       TP#3  |
        |                                                                  |
        |  $==========|-----------$===========|-----------$===========|    |
        |                                    ^ ^                           |
        |                                    C S                           |
      In this scenario the HS has a newer consensus than the client, and the
      HS just moved to the next TP but the client is still stuck on the old
      one. However, the service is not in any sort of overlap mode so it
      doesn't cover the old TP anymore, so the client is unable to fetch a
      We've decided to solve this by extending the concept of overlap period
      to be permanent so that the service always publishes two descriptors and
      aims to cover clients with both older and newer consensuses. See the
      spec patch in #23387 for more details.
  23. 07 Sep, 2017 1 commit
  24. 25 Aug, 2017 1 commit
    • George Kadianakis's avatar
      prop224: Refactor descriptor reupload logic. · c980be95
      George Kadianakis authored
      We refactor the descriptor reupload logic to be similar to the v2 logic
      where we update a global 'consider_republishing_rend_descriptors' flag
      and then we use that to check for hash ring changes during the global
      hidden service callbacks.
      This fixes bugs where we would inspect the hash ring immediately as we
      receive new dirinfo (e.g. consensus) but before running the hidden
      service housekeeping events. That was leaving us in an inconsistent
      state wrt hsdir indices and causing bugs all around.
  25. 24 Aug, 2017 2 commits
  26. 19 Aug, 2017 1 commit
  27. 11 Aug, 2017 1 commit
  28. 09 Aug, 2017 8 commits