aboutsummaryrefslogtreecommitdiff
path: root/src/common/tortls.h
Commit message (Collapse)AuthorAge
* Update copyright dates to 2012; add a few missing copyright statementsNick Mathewson2012-06-04
|
* Rename nonconformant identifiers.Nick Mathewson2012-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 4893. These changes are pure mechanical, and were generated with this perl script: /usr/bin/perl -w -i.bak -p s/crypto_pk_env_t/crypto_pk_t/g; s/crypto_dh_env_t/crypto_dh_t/g; s/crypto_cipher_env_t/crypto_cipher_t/g; s/crypto_digest_env_t/crypto_digest_t/g; s/aes_free_cipher/aes_cipher_free/g; s/crypto_free_cipher_env/crypto_cipher_free/g; s/crypto_free_digest_env/crypto_digest_free/g; s/crypto_free_pk_env/crypto_pk_free/g; s/_crypto_dh_env_get_dh/_crypto_dh_get_dh/g; s/_crypto_new_pk_env_rsa/_crypto_new_pk_from_rsa/g; s/_crypto_pk_env_get_evp_pkey/_crypto_pk_get_evp_pkey/g; s/_crypto_pk_env_get_rsa/_crypto_pk_get_rsa/g; s/crypto_new_cipher_env/crypto_cipher_new/g; s/crypto_new_digest_env/crypto_digest_new/g; s/crypto_new_digest256_env/crypto_digest256_new/g; s/crypto_new_pk_env/crypto_pk_new/g; s/crypto_create_crypto_env/crypto_cipher_new/g; s/connection_create_listener/connection_listener_new/g; s/smartlist_create/smartlist_new/g; s/transport_create/transport_new/g;
* Revert "Get rid of tor_tls_block_renegotiation()."Nick Mathewson2011-12-06
| | | | This reverts commit 340809dd224b244675496e301d3ba154a6fe68d0.
* Revert "Use callback-driven approach to block renegotiations."Nick Mathewson2011-12-06
| | | | This reverts commit 406ae1ba5ad529a4d0e710229dab6ed645d42b50.
* Revert "Refactor tor_event_base_once to do what we actually want"Nick Mathewson2011-12-06
| | | | This reverts commit 7920ea55b8d994268d2b07f27316b0f34d8f27e5.
* Refactor tor_event_base_once to do what we actually wantNick Mathewson2011-11-25
| | | | | This version avoids the timeout system entirely, gives a nicer interface, and lets us manage allocation explicitly.
* Merge remote-tracking branch 'asn/bug4312'Nick Mathewson2011-11-25
|\
| * Use callback-driven approach to block renegotiations.George Kadianakis2011-11-13
| | | | | | | | Also use this new approach in the bufferevents-enabled case.
| * Get rid of tor_tls_block_renegotiation().George Kadianakis2011-10-26
| | | | | | | | | | | | | | 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).
* | Make certificate skew into a protocol warningNick Mathewson2011-11-15
| |
* | Allow up to a 30 days future skew, 48 hours past skew in certs.Nick Mathewson2011-11-15
| |
* | Fix a bunch of whitespace errorsNick Mathewson2011-10-11
|/
* Make tor_tls_cert_is_valid check key lengthsNick Mathewson2011-10-10
|
* Function to return peer cert as tor_tls_certNick Mathewson2011-10-10
|
* Functions to get a public RSA key from a certNick Mathewson2011-10-10
|
* Function to detect certificate types that signal v3 certificatesNick Mathewson2011-10-10
|
* Function to get digests of the certs and their keysNick Mathewson2011-10-10
|
* More functions to manipulate certs received in cellsNick Mathewson2011-10-10
|
* Function to extract the TLSSECRETS field for v3 handshakesNick Mathewson2011-10-10
|
* Turn X509 certificates into a first-class type and add some functionsNick Mathewson2011-10-10
|
* Record the states of failing OR connectionsNick Mathewson2011-07-11
| | | | | | | | | | | | | | | | | 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.
* Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-03
|\
| * Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2011-01-03
| |\ | | | | | | | | | | | | | | | Conflicts: src/common/test.h src/or/test.c
| | * Bump copyright statements to 2011Nick Mathewson2011-01-03
| | |
* | | Add a testing-only option to use bufferevent_openssl as a filterNick Mathewson2010-11-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2010-10-21
|\| | | | | | | | | | | | | | Conflicts: src/common/tortls.c
| * | Maintain separate server and client TLS contexts.Robert Ransom2010-10-04
| | | | | | | | | | | | Fixes bug #988.
| * | Refactor tor_tls_context_new:Robert Ransom2010-10-04
| |/ | | | | | | | | | | | | * 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.
* | Set OpenSSL 0.9.8l renegotiation flag early enough for buffereventsNick Mathewson2010-10-12
| | | | | | | | This seems to fix another case of bug2001.
* | Actually call connection_tls_finish_handshake() with buffereventsNick Mathewson2010-10-12
| | | | | | | | | | | | 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.
* | Add header for tor_tls_log_one_errorNick Mathewson2010-10-11
| |
* | Make the bufferevent code use the renegotiation-reenabling hackNick Mathewson2010-09-27
| |
* | Document and/or fix stuff found by Sebastian in code reviewNick Mathewson2010-09-27
| | | | | | | | Thanks to Sebastian for his code-review of the bufferevents patch series.x
* | Get SSL connections and linked connections working with bufferevents.Nick Mathewson2010-09-27
|/ | | | | 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.
* Update Tor Project copyright yearsNick Mathewson2010-02-27
|
* Make Tor work with OpenSSL 0.9.8lNick Mathewson2009-11-05
| | | | | | | | | | | | | | | | | | | 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.
* Fix compile warnings on Snow LeopardSebastian Hahn2009-09-01
| | | | Big thanks to nickm and arma for helping me with this!
* Update copyright to 2009.Karsten Loesing2009-05-04
|
* Remove svn $Id$s from our source, and remove tor --version --version.Nick Mathewson2009-01-04
| | | | | | | | 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
* Use a consistent naming standard for header file guard macros, taking care ↵Nick Mathewson2008-12-29
| | | | | | not to collide with any system headers. This tripped us up on Android. svn:r17805
* Downlgrade tweak, and answer lots of XXX021s. No actual code fixes in this ↵Nick Mathewson2008-12-18
| | | | | | patch. svn:r17686
* Resolve many DOCDOCs.Nick Mathewson2008-12-17
| | | | svn:r17662
* r15161@31-33-107: nickm | 2008-04-10 11:11:58 -0400Nick Mathewson2008-04-10
| | | | | | | 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
* r14362@31-33-219: nickm | 2008-02-21 11:01:10 -0500Nick Mathewson2008-02-21
| | | | | | | Change some of our log messages related to closed TLS connections in order to better reflect reality. svn:r13657
* r18218@catbus: nickm | 2008-02-19 17:27:40 -0500Nick Mathewson2008-02-19
| | | | | | | When SafeLogging is off, have TLS errors and messages logged with their associated addresses. svn:r13591
* r18051@catbus: nickm | 2008-02-12 15:20:43 -0500Nick Mathewson2008-02-12
| | | | | | | 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
* r14062@tombo: nickm | 2008-02-08 15:17:07 -0500Nick Mathewson2008-02-08
| | | | | | | Change DNs in x509 certificates to be harder to fingerprint. Raise common code. Refactor random hostname generation into crypto.c svn:r13429
* Update some copyright notices: it is now 2008.Nick Mathewson2008-02-07
| | | | svn:r13412
* r17955@catbus: nickm | 2008-02-06 16:53:07 -0500Nick Mathewson2008-02-06
| | | | | | | 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
* r17947@catbus: nickm | 2008-02-06 11:57:53 -0500Nick Mathewson2008-02-06
| | | | | | | Fix a bunch of DOCDOC items; document the --quiet flag; refactor a couple of XXXX020 items. svn:r13405