| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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;
|
|
|
|
| |
This reverts commit 340809dd224b244675496e301d3ba154a6fe68d0.
|
|
|
|
| |
This reverts commit 406ae1ba5ad529a4d0e710229dab6ed645d42b50.
|
|
|
|
| |
This reverts commit 7920ea55b8d994268d2b07f27316b0f34d8f27e5.
|
|
|
|
|
| |
This version avoids the timeout system entirely, gives a nicer
interface, and lets us manage allocation explicitly.
|
|\ |
|
| |
| |
| |
| | |
Also use this new approach in the bufferevents-enabled case.
|
| |
| |
| |
| |
| |
| |
| | |
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).
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/common/test.h
src/or/test.c
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\| |
| | |
| | |
| | |
| | | |
Conflicts:
src/common/tortls.c
|
| | |
| | |
| | |
| | | |
Fixes bug #988.
|
| |/
| |
| |
| |
| |
| |
| | |
* 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.
|
| |
| |
| |
| | |
This seems to fix another case of bug2001.
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Thanks to Sebastian for his code-review of the bufferevents patch series.x
|
|/
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Big thanks to nickm and arma for helping me with this!
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
not to collide with any system headers. This tripped us up on Android.
svn:r17805
|
|
|
|
|
|
| |
patch.
svn:r17686
|
|
|
|
| |
svn:r17662
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Change some of our log messages related to closed TLS connections in order to better reflect reality.
svn:r13657
|
|
|
|
|
|
|
| |
When SafeLogging is off, have TLS errors and messages logged with their associated addresses.
svn:r13591
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Change DNs in x509 certificates to be harder to fingerprint. Raise common code. Refactor random hostname generation into crypto.c
svn:r13429
|
|
|
|
| |
svn:r13412
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Fix a bunch of DOCDOC items; document the --quiet flag; refactor a couple of XXXX020 items.
svn:r13405
|