summaryrefslogtreecommitdiff
path: root/src/common/tortls.h
AgeCommit message (Collapse)Author
2011-12-06Revert "Get rid of tor_tls_block_renegotiation()."Nick Mathewson
This reverts commit 340809dd224b244675496e301d3ba154a6fe68d0.
2011-12-06Revert "Use callback-driven approach to block renegotiations."Nick Mathewson
This reverts commit 406ae1ba5ad529a4d0e710229dab6ed645d42b50.
2011-12-06Revert "Refactor tor_event_base_once to do what we actually want"Nick Mathewson
This reverts commit 7920ea55b8d994268d2b07f27316b0f34d8f27e5.
2011-11-25Refactor tor_event_base_once to do what we actually wantNick Mathewson
This version avoids the timeout system entirely, gives a nicer interface, and lets us manage allocation explicitly.
2011-11-25Merge remote-tracking branch 'asn/bug4312'Nick Mathewson
2011-11-15Make certificate skew into a protocol warningNick Mathewson
2011-11-15Allow up to a 30 days future skew, 48 hours past skew in certs.Nick Mathewson
2011-11-13Use callback-driven approach to block renegotiations.George Kadianakis
Also use this new approach in the bufferevents-enabled case.
2011-10-26Get rid of tor_tls_block_renegotiation().George Kadianakis
Since we check for naughty renegotiations using tor_tls_t.server_handshake_count we don't need that semi-broken function (at least till there is a way to disable rfc5746 renegotiations too).
2011-10-11Fix a bunch of whitespace errorsNick Mathewson
2011-10-10Make tor_tls_cert_is_valid check key lengthsNick Mathewson
2011-10-10Function to return peer cert as tor_tls_certNick Mathewson
2011-10-10Functions to get a public RSA key from a certNick Mathewson
2011-10-10Function to detect certificate types that signal v3 certificatesNick Mathewson
2011-10-10Function to get digests of the certs and their keysNick Mathewson
2011-10-10More functions to manipulate certs received in cellsNick Mathewson
2011-10-10Function to extract the TLSSECRETS field for v3 handshakesNick Mathewson
2011-10-10Turn X509 certificates into a first-class type and add some functionsNick Mathewson
2011-07-11Record the states of failing OR connectionsNick Mathewson
This code lets us record the state of any outgoing OR connection that fails before it becomes open, so we can notice if they're all dying in the same SSL state or the same OR handshake state. More work is still needed: - We need documentation - We need to actually call the code that reports the failure when we realize that we're having a hard time connecting out or making circuits. - We need to periodically clear out all this data -- perhaps, whenever we build a circuit successfully? - We'll eventually want to expose it to controllers, perhaps. Partial implementation of feature 3116.
2011-01-03Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
2011-01-03Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson
Conflicts: src/common/test.h src/or/test.c
2011-01-03Bump copyright statements to 2011Nick Mathewson
2010-11-09Add a testing-only option to use bufferevent_openssl as a filterNick Mathewson
We need filtering bufferevent_openssl so that we can wrap around IOCP bufferevents on Windows. This patch adds a temporary option to turn on filtering mode, so that we can test it out on non-IOCP systems to make sure it hasn't got any surprising bugs. It also fixes some allocation/teardown errors in using bufferevent_openssl as a filter.
2010-10-21Merge remote branch 'origin/maint-0.2.2'Nick Mathewson
Conflicts: src/common/tortls.c
2010-10-12Set OpenSSL 0.9.8l renegotiation flag early enough for buffereventsNick Mathewson
This seems to fix another case of bug2001.
2010-10-12Actually call connection_tls_finish_handshake() with buffereventsNick Mathewson
First start of a fix for bug2001, but my test network still isn't working: the client and the server send each other VERSIONS cells, but never notice that they got them.
2010-10-11Add header for tor_tls_log_one_errorNick Mathewson
2010-10-04Maintain separate server and client TLS contexts.Robert Ransom
Fixes bug #988.
2010-10-04Refactor tor_tls_context_new:Robert Ransom
* Make tor_tls_context_new internal to tortls.c, and return the new tor_tls_context_t from it. * Add a public tor_tls_context_init wrapper function to replace it.
2010-09-27Make the bufferevent code use the renegotiation-reenabling hackNick Mathewson
2010-09-27Document and/or fix stuff found by Sebastian in code reviewNick Mathewson
Thanks to Sebastian for his code-review of the bufferevents patch series.x
2010-09-27Get SSL connections and linked connections working with bufferevents.Nick Mathewson
Clients are now verified to work and build circuits correctly. There are still a few warnings given here and there that I need to look into.
2010-02-27Update Tor Project copyright yearsNick Mathewson
2009-11-05Make Tor work with OpenSSL 0.9.8lNick Mathewson
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.
2009-09-01Fix compile warnings on Snow LeopardSebastian Hahn
Big thanks to nickm and arma for helping me with this!
2009-05-04Update copyright to 2009.Karsten Loesing
2009-01-04Remove svn $Id$s from our source, and remove tor --version --version.Nick Mathewson
The subversion $Id$ fields made every commit force a rebuild of whatever file got committed. They were not actually useful for telling the version of Tor files in the wild. svn:r17867
2008-12-29Use a consistent naming standard for header file guard macros, taking care ↵Nick Mathewson
not to collide with any system headers. This tripped us up on Android. svn:r17805
2008-12-18Downlgrade tweak, and answer lots of XXX021s. No actual code fixes in this ↵Nick Mathewson
patch. svn:r17686
2008-12-17Resolve many DOCDOCs.Nick Mathewson
svn:r17662
2008-04-10 r15161@31-33-107: nickm | 2008-04-10 11:11:58 -0400Nick Mathewson
Make dumpstats() log the size and fullness of openssl-internal buffers, so I can test my hypothesis that many of them are empty, and my alternative hypothesis that many of them are mostly empty, against the null hypothesis that we really need to be burning 32K per open OR connection on this. svn:r14350
2008-02-21 r14362@31-33-219: nickm | 2008-02-21 11:01:10 -0500Nick Mathewson
Change some of our log messages related to closed TLS connections in order to better reflect reality. svn:r13657
2008-02-19 r18218@catbus: nickm | 2008-02-19 17:27:40 -0500Nick Mathewson
When SafeLogging is off, have TLS errors and messages logged with their associated addresses. svn:r13591
2008-02-12 r18051@catbus: nickm | 2008-02-12 15:20:43 -0500Nick Mathewson
Re-tune mempool parametes based on testing on peacetime: use smaller chuncks, free them a little more aggressively, and try very hard to concentrate allocations on fuller chunks. Also, lots of new documentation. svn:r13484
2008-02-08 r14062@tombo: nickm | 2008-02-08 15:17:07 -0500Nick Mathewson
Change DNs in x509 certificates to be harder to fingerprint. Raise common code. Refactor random hostname generation into crypto.c svn:r13429
2008-02-07Update some copyright notices: it is now 2008.Nick Mathewson
svn:r13412
2008-02-06 r17955@catbus: nickm | 2008-02-06 16:53:07 -0500Nick Mathewson
The SSL portion of the revised handshake now seems to work: I just finally got a client and a server to negotiate versions. Now to make sure certificate verification is really happening, connections are getting opened, etc. svn:r13409
2008-02-06 r17947@catbus: nickm | 2008-02-06 11:57:53 -0500Nick Mathewson
Fix a bunch of DOCDOC items; document the --quiet flag; refactor a couple of XXXX020 items. svn:r13405
2008-02-05 r17918@catbus: nickm | 2008-02-05 16:39:17 -0500Nick Mathewson
Remove a few #if-0d items. svn:r13392
2008-02-05 r17903@catbus: nickm | 2008-02-05 14:40:03 -0500Nick Mathewson
Remove some dead code; fix some XXX020s; turn some XXX020s into XXXX_IP6s (i.e., "needs to be fixed when we add ipv6 support"). svn:r13382