1. 08 Dec, 2017 2 commits
  2. 29 Sep, 2017 1 commit
  3. 25 Sep, 2017 2 commits
  4. 20 Sep, 2017 1 commit
  5. 15 Sep, 2017 1 commit
  6. 11 Sep, 2017 1 commit
  7. 07 Sep, 2017 1 commit
  8. 24 Aug, 2017 3 commits
  9. 09 Aug, 2017 3 commits
  10. 07 Jul, 2017 1 commit
  11. 26 May, 2017 1 commit
  12. 08 May, 2017 1 commit
    • Mike Perry's avatar
      Bug 17592: Clean up connection timeout logic. · d5a151a0
      Mike Perry authored and Nick Mathewson's avatar Nick Mathewson committed
      This unifies CircuitIdleTimeout and PredictedCircsRelevanceTime into a single
      option, and randomizes it.
      
      It also gives us control over the default value as well as relay-to-relay
      connection lifespan through the consensus.
      
      Conflicts:
      	src/or/circuituse.c
      	src/or/config.c
      	src/or/main.c
      	src/test/testing_common.c
      d5a151a0
  13. 17 Apr, 2017 2 commits
  14. 07 Apr, 2017 1 commit
  15. 15 Mar, 2017 1 commit
  16. 17 Jan, 2017 1 commit
  17. 12 Jan, 2017 1 commit
  18. 02 Jan, 2017 1 commit
  19. 21 Dec, 2016 1 commit
  20. 16 Dec, 2016 4 commits
  21. 14 Dec, 2016 1 commit
    • George Kadianakis's avatar
      prop224 prepwork: Use of HS circuitmap in existing HS code. · 9192e592
      George Kadianakis authored and Nick Mathewson's avatar Nick Mathewson committed
      The new HS circuitmap API replaces old public functions as follows:
         circuit_clear_rend_token -> hs_circuitmap_remove_circuit
         circuit_get_rendezvous -> hs_circuitmap_get_rend_circ
         circuit_get_intro_point -> hs_circuitmap_get_intro_circ_v2
         circuit_set_rendezvous_cookie -> hs_circuitmap_register_rend_circ
         circuit_set_intro_point_digest -> hs_circuitmap_register_intro_circ_v2
      
      This commit also removes the old rendinfo code that is now unused.
      It also fixes the broken rendinfo unittests.
      9192e592
  22. 30 Nov, 2016 4 commits
    • Nick Mathewson's avatar
      Use the new guard notification/selection APIs throughout Tor · dbbaa515
      Nick Mathewson authored
      This patch doesn't cover every case; omitted cases are marked with
      "XXXX prop271", as usual.  It leaves both the old interface and the
      new interface for guard status notification, since they don't
      actually work in the same way: the new API wants to be told when a
      circuit has failed or succeeded, whereas the old API wants to know
      when a channel has failed or succeeded.
      
      I ran into some trouble with directory guard stuff, since when we
      pick the directory guard, we don't actually have a circuit to
      associate it with.  I solved that by allowing guard states to be
      associated with directory connections, not just circuits.
      dbbaa515
    • Nick Mathewson's avatar
      Maintain a list of all the origin circuits. · de617a47
      Nick Mathewson authored
      We'll want this for upgrading waiting circuits.
      de617a47
    • Nick Mathewson's avatar
      Add a new GUARD_WAIT state for circuits · 238828c9
      Nick Mathewson authored
      This state corresponds to the WAITING_FOR_BETTER_GUARD state; it's
      for circuits that are 100% constructed, but which we won't use until
      we are sure that we wouldn't use circuits with a better guard.
      238828c9
    • Nick Mathewson's avatar
      Write the easy parts of the public entryguard interface. · dd6bdab3
      Nick Mathewson authored
      Here we add a little bit of state to origin circuits, and set up
      the necessary functions for the circuit code to call in order to
      find guards, use guards, and decide when circuits can be used.
      
      There's also an incomplete function for the hard part of the
      circuit-maintenance code, where we figure out whether any waiting
      guards are ready to become usable.
      
      (This patch finally uses the handle.c code to make safe handles to
      entry_guard_t objects, so that we are allowed to free an
      entry_guard_t without checking whether any origin_circuit_t is
      holding a reference to it.)
      dd6bdab3
  23. 04 Nov, 2016 1 commit
    • David Goulet's avatar
      hs: Refactor rend_data_t for multi version support · 8293356a
      David Goulet authored
      
      
      In order to implement proposal 224, we need the data structure rend_data_t to
      be able to accomodate versionning that is the current version of hidden
      service (2) and the new version (3) and future version.
      
      For that, we implement a series of accessors and a downcast function to get
      the v2 data structure. rend_data_t becomes a top level generic place holder.
      
      The entire rend_data_t API has been moved to hs_common.{c|h} in order to
      seperate code that is shared from between HS versions and unshared code (in
      rendcommon.c).
      
      Closes #19024
      Signed-off-by: David Goulet's avatarDavid Goulet <dgoulet@torproject.org>
      Signed-off-by: default avatarGeorge Kadianakis <desnacked@riseup.net>
      8293356a
  24. 26 Oct, 2016 1 commit
  25. 22 Sep, 2016 1 commit
    • Nick Mathewson's avatar
      When clearing cells from a circuit for OOM reasons, tell cmux we did so. · e4aaf766
      Nick Mathewson authored
      Not telling the cmux would sometimes cause an assertion failure in
      relay.c when we tried to get an active circuit and found an "active"
      circuit with no cells.
      
      Additionally, replace that assert with a test and a log message.
      
      Fix for bug 20203. This is actually probably a bugfix on
      0.2.8.1-alpha, specifically my code in 8b4e5b7e where I
      made circuit_mark_for_close_() do less in order to simplify our call
      graph. Thanks to "cypherpunks" for help diagnosing.
      e4aaf766
  26. 24 Aug, 2016 1 commit
  27. 19 Jul, 2016 1 commit