1. 18 Sep, 2018 1 commit
  2. 05 Jul, 2018 2 commits
    • Nick Mathewson's avatar
      Fix every include path changed in the previous commit (automated) · ef486e3c
      Nick Mathewson authored
      I am very glad to have written this script.
    • Nick Mathewson's avatar
      Move literally everything out of src/or · 63b4ea22
      Nick Mathewson authored
      This commit won't build yet -- it just puts everything in a slightly
      more logical place.
      The reasoning here is that "src/core" will hold the stuff that every (or
      nearly every) tor instance will need in order to do onion routing.
      Other features (including some necessary ones) will live in
      "src/feature".  The "src/app" directory will hold the stuff needed
      to have Tor be an application you can actually run.
      This commit DOES NOT refactor the former contents of src/or into a
      logical set of acyclic libraries, or change any code at all.  That
      will have to come in the future.
      We will continue to move things around and split them in the future,
      but I hope this lays a reasonable groundwork for doing so.
  3. 03 Jul, 2018 2 commits
  4. 01 Jul, 2018 2 commits
  5. 21 Jun, 2018 3 commits
  6. 20 Jun, 2018 2 commits
  7. 15 Jun, 2018 6 commits
  8. 26 Apr, 2018 1 commit
  9. 06 Apr, 2018 1 commit
  10. 20 Mar, 2018 1 commit
  11. 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
  12. 15 Feb, 2018 1 commit
    • David Goulet's avatar
      cmux: Remove round-robin circuit policy · c235c32b
      David Goulet authored
      Since 0.2.4, tor uses EWMA circuit policy to prioritize. The previous
      algorithm, round-robin, hasn't been used since then but was still used as a
      Now that EWMA is mandatory, remove that code entirely and enforce a cmux
      policy to be set.
      This is part of a circuitmux cleanup to improve performance and reduce
      complexity in the code. We'll be able to address future optimization with this
      Closes #25268
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
  13. 07 Feb, 2018 1 commit
  14. 06 Feb, 2018 1 commit
  15. 31 Jan, 2018 2 commits
  16. 19 Jan, 2018 2 commits
  17. 12 Jan, 2018 1 commit
  18. 20 Dec, 2017 1 commit
  19. 08 Dec, 2017 2 commits
  20. 07 Dec, 2017 2 commits
  21. 05 Dec, 2017 2 commits
    • David Goulet's avatar
    • David Goulet's avatar
      hs-v3: Cleanup HS circuits when marking as closed · e80893e5
      David Goulet authored
      First, hs_service_intro_circ_has_closed() is now called in circuit_mark_for
      close() because the HS subsystem needs to learn when an intro point is
      actually not established anymore as soon as possible. There is a time window
      between a close and a free.
      Second, when we mark for close, we also remove it from the circuitmap because
      between the close and the free, a service can launch an new circuit to that
      same intro point and thus register it which only succeeds if the intro point
      authentication key is not already in the map.
      However, we still do a remove from the circuitmap in circuit_free() in order
      to also cleanup the circuit if it wasn't marked for close prior to the free.
      Fixes #23603
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
  22. 27 Nov, 2017 1 commit
    • Nick Mathewson's avatar
      Add a new notion of "stamps" to be a fast 32-bit monotonic timestamp · c3c0a05f
      Nick Mathewson authored
      The goal here is to replace our use of msec-based timestamps with
      something less precise, but easier to calculate.  We're doing this
      because calculating lots of msec-based timestamps requires lots of
      64/32 division operations, which can be inefficient on 32-bit
      We make sure that these stamps can be calculated using only the
      coarse monotonic timer and 32-bit bitwise operations.
  23. 22 Nov, 2017 1 commit
  24. 29 Sep, 2017 1 commit