aboutsummaryrefslogtreecommitdiff
path: root/src/common/tortls.c
Commit message (Collapse)AuthorAge
* Add write watermarks to filtered bufferevents.Nick Mathewson2011-08-24
|
* Automatically use filtering bufferevents with IOCP.Nick Mathewson2011-08-18
|
* Don't warn on http connection to my orportSebastian Hahn2011-08-11
| | | | | | Also remove a few other related warnings that could occur during the ssl handshake. We do this because the relay operator can't do anything about them, and they aren't their fault.
* Make WIN32_WINNT defines conditionalNick Mathewson2011-07-15
| | | | | Requested by Gisle Vanem on tor-dev. I'm not quite sure this is the right solution, but it's probably harmless.
* Document feature3116 fns and improve outputNick Mathewson2011-07-11
| | | | | | | | - We were reporting the _bottom_ N failing states, not the top N. - With bufferevents enabled, we logged all TLS states as being "in bufferevent", which isn't actually informative. - When we had nothing to report, we reported nothing too loudly. - Also, we needed documentation.
* 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.
* Log SSL state changes at LOG_DEBUG, LD_HANDSHAKE.Nick Mathewson2011-06-20
| | | | | | This can be slightly useful for debugging blocking events. Addresses ticket 3116; based on loud_ssl_states branch.
* C style fix: a no-args function is void fn(void), not void fn().Nick Mathewson2011-03-03
|
* Add a magic field to tor_tls_t to catch exdata corruption bugs, if any appear.Nick Mathewson2011-03-03
|
* Check the result of SSL_set_ex_dataRobert Ransom2011-03-03
| | | | Reported by piebeer.
* Use SSL_*_ex_data instead of SSL_*_app_dataRobert Ransom2011-03-03
| | | | | | | | | | | | | | SSL_*_app_data uses ex_data index 0, which will be the first one allocated by SSL_get_ex_new_index. Thus, if we ever started using the ex_data feature for some other purpose, or a library linked to Tor ever started using OpenSSL's ex_data feature, Tor would break in spectacular and mysterious ways. Using the SSL_*_ex_data functions directly now may save us from that particular form of breakage in the future. But I would not be surprised if using OpenSSL's ex_data functions at all (directly or not) comes back to bite us on our backends quite hard. The specified behaviour of dup_func in the man page is stupid, and crypto/ex_data.c is a horrific mess.
* Remove now-unused helper functionsRobert Ransom2011-03-03
| | | | | | These functions were needed only by code removed in the preceding commit. Reported by mobmix.
* remove tls related hash table codeGladys Shufflebottom2011-03-01
|
* Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-02-03
|\
| * Handle failing cases of DH allocationNick Mathewson2011-01-25
| |
* | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2011-01-24
|\|
| * Make the DH parameter we use for TLS match the one from Apache's mod_sslNick Mathewson2011-01-24
| | | | | | | | | | | | Our regular DH parameters that we use for circuit and rendezvous crypto are unchanged. This is yet another small step on the path of protocol fingerprinting resistance.
* | 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
| | |
| | * Fix compilation with mingw and OpenSSL 0.9.8m+mingw-san2010-11-23
| | |
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2010-11-21
|\| |
| * | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2Nick Mathewson2010-11-21
| |\|
| | * Do not set the hostname TLS extension server-side; only client-sideNick Mathewson2010-11-20
| | | | | | | | | | | | | | | This may fix bug 2204, and resolve the incompatibility with openssl 0.9.8p/1.0.0b.
* | | 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.
* | | Make check-spaces happySebastian Hahn2010-10-14
| | |
* | | 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.
* | | Log OpenSSL errors coming from bufferevent_opensslNick Mathewson2010-10-11
| | |
* | | Merge remote branch 'origin/maint-0.2.2'Nick Mathewson2010-10-04
|\| |
| * | Correct a bogus comment.Robert Ransom2010-10-04
| | | | | | | | | | | | | | | | | | Whether or not OpenSSL reference-counts SSL_CTX objects is irrelevant; what matters is that Tor reference-counts its wrapper objects for SSL_CTXs.
| * | Correct a couple of log messages in tortls.cRobert Ransom2010-10-04
| | |
| * | Fix several comments in tortls.cRobert Ransom2010-10-04
| | |
* | | Make the bufferevent code use the renegotiation-reenabling hackNick Mathewson2010-09-27
| | |
* | | Always defer bufferevent_openssl callbacks to avoid reentrant invocationsNick Mathewson2010-09-27
| | |
* | | Fix whitespace in bufferevents branchNick 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
* | | Some bufferevents related fixes and pointers for nickmSebastian Hahn2010-09-27
| | |
* | | Convert bufferevents to use rate-limiting.Nick Mathewson2010-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This requires the latest Git version of Libevent as of 24 March 2010. In the future, we'll just say it requires Libevent 2.0.5-alpha or later. Since Libevent doesn't yet support hierarchical rate limit groups, there isn't yet support for tracking relayed-bytes separately when using the bufferevent system. If a future version does add support for hierarchical buckets, we can add that back in.
* | | Documentation for a few bufferevent functions.Nick Mathewson2010-09-27
| | |
* | | 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.
* | Fix compilation with mingw and OpenSSL 0.9.8m+mingw-san2010-07-26
| |
* | Rename log.h to torlog.hNick Mathewson2010-07-09
| | | | | | | | | | | | | | | | | | | | This should make us conflict less with system files named "log.h". Yes, we shouldn't have been conflicting with those anyway, but some people's compilers act very oddly. The actual change was done with one "git mv", by editing Makefile.am, and running find . -name '*.[ch]' | xargs perl -i -pe 'if (/^#include.*\Wlog.h/) {s/log.h/torlog.h/; }'
* | moved wince related includes and defs to compat.h where possible, removed ↵valerino2010-05-24
| | | | | | | | unused/redundant wince includes
* | Demote a warning about missing client ciphersSebastian Hahn2010-04-20
| |
* | minor cleanupsRoger Dingledine2010-04-20
| |
* | Merge commit 'origin/maint-0.2.1'Nick Mathewson2010-04-15
|\|