1. 21 Dec, 2018 1 commit
    • Taylor Yu's avatar
      Add origin circuit event pubsub system · a0b4fa1f
      Taylor Yu authored
      Add a publish-subscribe subsystem to publish messages about changes to
      origin circuits.
      
      Functions in circuitbuild.c and circuitlist.c publish messages to this
      subsystem.
      
      Move circuit event constants out of control.h so that subscribers
      don't have to include all of control.h to take actions based on
      messages they receive.
      
      Part of ticket 27167.
      a0b4fa1f
  2. 14 Nov, 2018 1 commit
  3. 18 Oct, 2018 1 commit
    • David Goulet's avatar
      hs-v3: Close client intro circuits if the descriptor is replaced · 9ba16c4d
      David Goulet authored
      
      
      When storing a descriptor in the client cache, if we are about to replace an
      existing descriptor, make sure to close every introduction circuits of the old
      descriptor so we don't have leftovers lying around.
      
      Ticket 27471 describes a situation where tor is sending an INTRODUCE1 cell on
      an introduction circuit for which it doesn't have a matching intro point
      object (taken from the descriptor).
      
      The main theory is that, after a new descriptor showed up, the introduction
      points changed which led to selecting an introduction circuit not used by the
      service anymore thus for which we are unable to find the corresponding
      introduction point within the descriptor we just fetched.
      
      Closes #27471.
      
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      9ba16c4d
  4. 27 Sep, 2018 1 commit
    • Nick Mathewson's avatar
      Move the predicted ports code out of rephist.c · 241c1505
      Nick Mathewson authored
      It differs from the rest of the rephist code in that it's actually
      necessary for Tor to operate, so it should probably go somewhere
      else.  I'm not sure where yet, so I'll leave it in the same
      directory, but give it its own file.
      241c1505
  5. 21 Sep, 2018 3 commits
  6. 18 Sep, 2018 1 commit
  7. 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.
      ef486e3c
    • 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.
      63b4ea22
  8. 03 Jul, 2018 2 commits
  9. 01 Jul, 2018 2 commits
  10. 21 Jun, 2018 3 commits
  11. 20 Jun, 2018 2 commits
  12. 15 Jun, 2018 6 commits
  13. 26 Apr, 2018 1 commit
  14. 06 Apr, 2018 1 commit
  15. 20 Mar, 2018 1 commit
  16. 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
      5ecad6c9
  17. 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
      fallback.
      
      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
      work.
      
      Closes #25268
      
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      c235c32b
  18. 07 Feb, 2018 1 commit
  19. 06 Feb, 2018 1 commit
  20. 31 Jan, 2018 2 commits
  21. 19 Jan, 2018 2 commits
  22. 12 Jan, 2018 1 commit
  23. 20 Dec, 2017 1 commit
  24. 08 Dec, 2017 2 commits