1. 10 Feb, 2014 1 commit
  2. 07 Feb, 2014 2 commits
  3. 06 Feb, 2014 7 commits
  4. 24 Dec, 2013 1 commit
  5. 22 Dec, 2013 3 commits
  6. 21 Dec, 2013 1 commit
    • Nick Mathewson's avatar
      Fix a logic error in circuit_stream_is_being_handled. · b5d13d11
      Nick Mathewson authored
      When I introduced the unusable_for_new_circuits flag in
      62fb209d, I had a spurious ! in the
      circuit_stream_is_being_handled loop.  This made us decide that
      non-unusable circuits (that is, usable ones) were the ones to avoid,
      and caused it to launch a bunch of extra circuits.
      Fixes bug 10456; bugfix on
  7. 19 Dec, 2013 1 commit
  8. 18 Dec, 2013 1 commit
    • Nick Mathewson's avatar
      Never allow OpenSSL engines to replace the RAND_SSLeay method · 7b870039
      Nick Mathewson authored
      This fixes bug 10402, where the rdrand engine would use the rdrand
      instruction, not as an additional entropy source, but as a replacement
      for the entire userspace PRNG.  That's obviously stupid: even if you
      don't think that RDRAND is a likely security risk, the right response
      to an alleged new alleged entropy source is never to throw away all
      previously used entropy sources.
      Thanks to coderman and rl1987 for diagnosing and tracking this down.
  9. 17 Dec, 2013 3 commits
  10. 16 Dec, 2013 1 commit
    • Nick Mathewson's avatar
      Avoid free()ing from an mmap on corrupted microdesc cache · d8cfa2ef
      Nick Mathewson authored
      The 'body' field of a microdesc_t holds a strdup()'d value if the
      microdesc's saved_location field is SAVED_IN_JOURNAL or
      SAVED_NOWHERE, and holds a pointer to the middle of an mmap if the
      microdesc is SAVED_IN_CACHE.  But we weren't setting that field
      until a while after we parsed the microdescriptor, which left an
      interval where microdesc_free() would try to free() the middle of
      the mmap().
      This patch also includes a regression test.
      This is a fix for #10409; bugfix on
  11. 15 Nov, 2013 2 commits
  12. 11 Nov, 2013 1 commit
  13. 10 Nov, 2013 3 commits
  14. 07 Nov, 2013 1 commit
    • Nick Mathewson's avatar
      Improved circuit queue out-of-memory handler · 1b8ceb83
      Nick Mathewson authored
      Previously, when we ran low on memory, we'd close whichever circuits
      had the most queued cells. Now, we close those that have the
      *oldest* queued cells, on the theory that those are most responsible
      for us running low on memory, and that those are the least likely to
      actually drain on their own if we wait a little longer.
      Based on analysis from a forthcoming paper by Jansen, Tschorsch,
      Johnson, and Scheuermann. Fixes bug 9093.
  15. 31 Oct, 2013 4 commits
  16. 12 Oct, 2013 1 commit
    • Roger Dingledine's avatar
      be willing to bootstrap from all three of our directory guards · 8f9fb63c
      Roger Dingledine authored
      Also fix a bug where if the guard we choose first doesn't answer, we
      would try the second guard, but once we connected to the second guard
      we would abandon it and retry the first one, slowing down bootstrapping.
      The fix in both cases is to treat all our initially chosen guards as
      acceptable to use.
      Fixes bug 9946.
  17. 11 Oct, 2013 4 commits
  18. 10 Oct, 2013 3 commits