1. 12 Dec, 2009 1 commit
    • Sebastian Hahn's avatar
      *_free functions now accept NULL · 3807db00
      Sebastian Hahn authored
      Some *_free functions threw asserts when passed NULL. Now all of them
      accept NULL as input and perform no action when called that way.
      
      This gains us consistence for our free functions, and allows some
      code simplifications where an explicit null check is no longer necessary.
      3807db00
  2. 05 Nov, 2009 1 commit
    • Nick Mathewson's avatar
      Make Tor work with OpenSSL 0.9.8l · ce0a89e2
      Nick Mathewson authored
      To fix a major security problem related to incorrect use of
      SSL/TLS renegotiation, OpenSSL has turned off renegotiation by
      default.  We are not affected by this security problem, however,
      since we do renegotiation right.  (Specifically, we never treat a
      renegotiated credential as authenticating previous communication.)
      Nevertheless, OpenSSL's new behavior requires us to explicitly
      turn renegotiation back on in order to get our protocol working
      again.
      
      Amusingly, this is not so simple as "set the flag when you create
      the SSL object" , since calling connect or accept seems to clear
      the flags.
      
      For belt-and-suspenders purposes, we clear the flag once the Tor
      handshake is done.  There's no way to exploit a second handshake
      either, but we might as well not allow it.
      ce0a89e2
  3. 24 Sep, 2009 1 commit
    • Nick Mathewson's avatar
      Debugging logs for TLS handshake · b8b29353
      Nick Mathewson authored
      The big change is to add a function to display the current SSL handshake
      state, and to log it everywhere reasonable.  (A failure in
      SSL23_ST_CR_SRVR_HELLO_A is different from one in
      SSL3_ST_CR_SESSION_TICKET_A.)
      
      This patch also adds a new log domain for OR handshaking, so you can pull out
      all the handshake log messages without having to run at debug for everything.
      For example, you'd just say "log notice-err [handshake]debug-err file
      tor.log".
      b8b29353
  4. 16 Sep, 2009 1 commit
  5. 19 Jun, 2009 2 commits
  6. 12 Jun, 2009 1 commit
  7. 04 May, 2009 1 commit
  8. 02 May, 2009 1 commit
  9. 04 Feb, 2009 1 commit
  10. 28 Jan, 2009 1 commit
    • Nick Mathewson's avatar
      Don't obsolete a very-new connection for having no circuits yet. · e06de61d
      Nick Mathewson authored
      This fixes the last known case of bug 891, which could happen if two
      hosts, A and B, disagree about how long a circuit has been open,
      because of clock drift of some kind.  Host A would then mark the
      connection as is_bad_for_new_circs when it got too old and open a new
      connection.  In between when B receives a NETINFO cell on the new
      conn, and when B receives a conn cell on the new circuit, the new
      circuit will seem worse to B than the old one, and so B will mark it
      as is_bad_for_new_circs in the second or third loop of
      connection_or_group_set_badness().
      
      Bugfix on 0.1.1.13-alpha.  Bug found by rovv.
      
      Not a backport candidate: the bug is too obscure and the fix too tricky.
      
      svn:r18303
      e06de61d
  11. 04 Jan, 2009 1 commit
  12. 29 Dec, 2008 1 commit
  13. 24 Dec, 2008 1 commit
  14. 19 Dec, 2008 1 commit
  15. 18 Dec, 2008 1 commit
  16. 17 Dec, 2008 1 commit
  17. 15 Dec, 2008 1 commit
  18. 12 Nov, 2008 1 commit
  19. 09 Sep, 2008 1 commit
  20. 05 Sep, 2008 1 commit
  21. 07 Aug, 2008 1 commit
  22. 05 Aug, 2008 1 commit
    • Nick Mathewson's avatar
      r17641@31-33-44: nickm | 2008-08-05 16:07:53 -0400 · 960a0f0a
      Nick Mathewson authored
       Initial conversion of uint32_t addr to tor_addr_t addr in connection_t and related types.  Most of the Tor wire formats using these new types are in, but the code to generate and use it is not.  This is a big patch.  Let me know what it breaks for you.
      
      
      svn:r16435
      960a0f0a
  23. 24 Jul, 2008 1 commit
  24. 23 Jul, 2008 1 commit
  25. 18 Jun, 2008 1 commit
  26. 11 Jun, 2008 1 commit
  27. 10 Jun, 2008 1 commit
  28. 09 Jun, 2008 1 commit
  29. 07 Jun, 2008 1 commit
  30. 29 May, 2008 1 commit
  31. 22 Apr, 2008 1 commit
  32. 09 Apr, 2008 1 commit
  33. 22 Feb, 2008 1 commit
  34. 19 Feb, 2008 1 commit
  35. 15 Feb, 2008 1 commit
  36. 12 Feb, 2008 2 commits
  37. 11 Feb, 2008 1 commit
  38. 10 Feb, 2008 1 commit