1. 02 Sep, 2014 1 commit
    • Nick Mathewson's avatar
      Another clang analyzer complaint wrt HT_GENERATE · 00ffccd9
      Nick Mathewson authored
      We're calling mallocfn() and reallocfn() in the HT_GENERATE macro
      with the result of a product.  But that makes any sane analyzer
      worry about overflow.
      
      This patch keeps HT_GENERATE having its old semantics, since we
      aren't the only project using ht.h.  Instead, define a HT_GENERATE2
      that takes a reallocarrayfn.
      00ffccd9
  2. 24 Aug, 2014 4 commits
  3. 20 Aug, 2014 2 commits
  4. 18 Aug, 2014 1 commit
  5. 15 Aug, 2014 2 commits
  6. 16 Jun, 2014 1 commit
  7. 14 Jun, 2014 1 commit
    • Nick Mathewson's avatar
      Try to diagnose bug 12184 · 8f3e3279
      Nick Mathewson authored
      Check for consistency between the queued destroy cells and the marked
      circuit IDs.  Check for consistency in the count of queued destroy
      cells in several ways.  Check to see whether any of the marked circuit
      IDs have somehow been marked longer than the channel has existed.
      8f3e3279
  8. 11 Jun, 2014 1 commit
    • Nick Mathewson's avatar
      Replace last_added_nonpadding with last_had_circuits · 6557e612
      Nick Mathewson authored
      The point of the "idle timeout" for connections is to kill the
      connection a while after it has no more circuits.  But using "last
      added a non-padding cell" as a proxy for that is wrong, since if the
      last circuit is closed from the other side of the connection, we
      will not have sent anything on that connection since well before the
      last circuit closed.
      
      This is part of fixing 6799.
      
      When applied to 0.2.5, it is also a fix for 12023.
      6557e612
  9. 13 May, 2014 1 commit
  10. 06 May, 2014 1 commit
  11. 05 May, 2014 1 commit
  12. 29 Apr, 2014 1 commit
  13. 19 Apr, 2014 1 commit
  14. 18 Apr, 2014 1 commit
  15. 15 Apr, 2014 1 commit
    • dana koch's avatar
      Uplift status.c unit test coverage with new test cases and macros. · 3ce39847
      dana koch authored and Nick Mathewson's avatar Nick Mathewson committed
      A new set of unit test cases are provided, as well as introducing
      an alternative paradigm and macros to support it. Primarily, each test
      case is given its own namespace, in order to isolate tests from each
      other. We do this by in the usual fashion, by appending module and
      submodule names to our symbols. New macros assist by reducing friction
      for this and other tasks, like overriding a function in the global
      namespace with one in the current namespace, or declaring integer
      variables to assist tracking how many times a mock has been called.
      
      A set of tests for a small-scale module has been included in this
      commit, in order to highlight how the paradigm can be used. This
      suite gives 100% coverage to status.c in test execution.
      3ce39847
  16. 04 Apr, 2014 2 commits
  17. 26 Mar, 2014 1 commit
  18. 25 Mar, 2014 1 commit
    • Nick Mathewson's avatar
      Free placeholder circid/chan->circuit map entries on exit · 852fd181
      Nick Mathewson authored
      In circuitlist_free_all, we free all the circuits, removing them from
      the map as we go, but we weren't actually freeing the placeholder
      entries that we use to indicate pending DESTROY cells.
      
      Fix for bug 11278; bugfix on the 7912 code that was merged in
      0.2.5.1-alpha
      852fd181
  19. 23 Mar, 2014 1 commit
  20. 14 Mar, 2014 2 commits
  21. 26 Feb, 2014 1 commit
    • Nick Mathewson's avatar
      Monotonize the OOM-killer data timers · 833d0277
      Nick Mathewson authored
      In a couple of places, to implement the OOM-circuit-killer defense
      against sniper attacks, we have counters to remember the age of
      cells or data chunks.  These timers were based on wall clock time,
      which can move backwards, thus giving roll-over results for our age
      calculation.  This commit creates a low-budget monotonic time, based
      on ratcheting gettimeofday(), so that even in the event of a time
      rollback, we don't do anything _really_ stupid.
      
      A future version of Tor should update this function to do something
      even less stupid here, like employ clock_gettime() or its kin.
      833d0277
  22. 13 Feb, 2014 2 commits
  23. 12 Feb, 2014 4 commits
  24. 07 Feb, 2014 2 commits
  25. 20 Nov, 2013 3 commits
  26. 15 Nov, 2013 1 commit