| Commit message (Expand) | Author | Age |
* | Disable TLS Session Tickets, which we were apparently getting for free•••OpenSSL 1.0.0 added an implementation of TLS session tickets, a
"feature" that let session resumption occur without server-side state
by giving clients an encrypted "ticket" that the client could present
later to get the session going again with the same keys as before.
OpenSSL was giving the keys to decrypt these tickets the lifetime of
the SSL contexts, which would have been terrible for PFS if we had
long-lived SSL contexts. Fortunately, we don't. Still, it's pretty
bad. We should also drop these, since our use of the extension stands
out with our non-use of session cacheing.
Found by nextgens. Bugfix on all versions of Tor when built with
openssl 1.0.0 or later. Fixes bug 7139.
| Nick Mathewson | 2012-10-19 |
* | Work around a bug in OpenSSL 1.0.1's TLS 1.1 and TLS 1.2 support•••It appears that when OpenSSL negotiates a 1.1 or 1.2 connection, and it
decides to renegotiate, the client will send a record with version "1.0"
rather than with the current TLS version. This would cause the
connection to fail whenever both sides had OpenSSL 1.0.1, and the v2 Tor
handshake was in use.
As a workaround, disable TLS 1.1 and TLS 1.2. When a later version of
OpenSSL is released, we can make this conditional on running a fixed
version of OpenSSL.
Alternatively, we could disable TLS 1.1 and TLS 1.2 only on the client
side. But doing it this way for now means that we not only fix TLS with
patched clients; we also fix TLS when the server has this patch and the
client does not. That could be important to keep the network running
well.
Fixes bug 6033.
| Nick Mathewson | 2012-06-02 |
* | Use correct CVE number for CVE-2011-4576. Found by fermenthor. bug 5066 | Nick Mathewson | 2012-02-10 |
* | Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2 | Nick Mathewson | 2012-01-11 |
|\ |
|
| * | Fix a compilation warning for our bug4822 fix on 64-bit linux | Nick Mathewson | 2012-01-11 |
* | | Fix comment about TLSv1_method() per comments by wanoskarnet | Nick Mathewson | 2012-01-09 |
* | | add a note from wanoskarnet•••he disagrees about what the code that we decided not to use would do
| Roger Dingledine | 2012-01-08 |
* | | Merge remote-tracking branch 'origin/maint-0.2.1' into maint-0.2.2 | Nick Mathewson | 2012-01-05 |
|\| |
|
| * | Log at info level when disabling SSLv3 | Robert Ransom | 2012-01-05 |
| * | Disable SSLv3 when using a not-up-to-date openssl•••This is to address bug 4822, and CVE-2011-4576.
| Nick Mathewson | 2012-01-05 |
* | | Merge branch 'maint-0.2.1_secfix' into maint-0.2.2_secfix•••Conflicts:
src/or/connection_or.c
| Sebastian Hahn | 2011-10-26 |
|\| |
|
| * | Don't send a certificate chain on outgoing TLS connections from non-relays | Nick Mathewson | 2011-10-26 |
| * | Maintain separate server and client TLS contexts.•••Fixes bug #988.
Conflicts:
src/or/main.c
src/or/router.c
| Robert Ransom | 2011-10-26 |
| * | Refactor tor_tls_context_new:•••* 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.
Conflicts:
src/or/main.c
src/or/router.c
| Robert Ransom | 2011-10-26 |
| * | Make the DH parameter we use for TLS match the one from Apache's mod_ssl•••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.
(Backport from 0.2.2's 5ed73e3807d90dd0a3)
| Nick Mathewson | 2011-02-10 |
* | | Handle failing cases of DH allocation | Nick Mathewson | 2011-01-25 |
* | | Make the DH parameter we use for TLS match the one from Apache's mod_ssl•••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.
| Nick Mathewson | 2011-01-24 |
* | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2•••Conflicts:
src/common/test.h
src/or/test.c
| Nick Mathewson | 2011-01-03 |
|\| |
|
| * | Bump copyright statements to 2011 | Nick Mathewson | 2011-01-03 |
| * | Fix compilation with mingw and OpenSSL 0.9.8m+ | mingw-san | 2010-11-23 |
* | | Merge remote branch 'origin/maint-0.2.1' into maint-0.2.2 | Nick Mathewson | 2010-11-21 |
|\| |
|
| * | Do not set the hostname TLS extension server-side; only client-side•••This may fix bug 2204, and resolve the incompatibility with openssl
0.9.8p/1.0.0b.
| Nick Mathewson | 2010-11-20 |
* | | Maintain separate server and client TLS contexts.•••Fixes bug #988.
| Robert Ransom | 2010-10-04 |
* | | Refactor tor_tls_context_new:•••* 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.
| Robert Ransom | 2010-10-04 |
* | | Correct a bogus comment.•••Whether or not OpenSSL reference-counts SSL_CTX objects is irrelevant;
what matters is that Tor reference-counts its wrapper objects for
SSL_CTXs.
| Robert Ransom | 2010-10-04 |
* | | Correct a couple of log messages in tortls.c | Robert Ransom | 2010-10-04 |
* | | Fix several comments in tortls.c | Robert Ransom | 2010-10-04 |
* | | Fix compilation with mingw and OpenSSL 0.9.8m+ | mingw-san | 2010-07-26 |
* | | Rename log.h to torlog.h•••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/; }'
| Nick Mathewson | 2010-07-09 |
* | | moved wince related includes and defs to compat.h where possible, removed unu... | valerino | 2010-05-24 |
* | | Demote a warning about missing client ciphers | Sebastian Hahn | 2010-04-20 |
* | | minor cleanups | Roger Dingledine | 2010-04-20 |
* | | Merge commit 'origin/maint-0.2.1' | Nick Mathewson | 2010-04-15 |
|\| |
|
| * | Fix renegotiation on OpenSSL versions that backport RFC5746.•••Our code assumed that any version of OpenSSL before 0.9.8l could not
possibly require SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION. This is
so... except that many vendors have backported the flag from later
versions of openssl when they backported the RFC5476 renegotiation
feature.
The new behavior is particularly annoying to detect. Previously,
leaving SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION unset meant that
clients would fail to renegotiate. People noticed that one fast!
Now, OpenSSL's RFC5476 support means that clients will happily talk to
any servers there are, but servers won't accept renegotiation requests
from unpatched clients unless SSL_OP_ALLOW_etc is set. More fun:
servers send back a "no renegotiation for you!" error, which unpatched
clients respond to by stalling, and generally producing no useful
error message.
This might not be _the_ cause of bug 1346, but it is quite likely _a_
cause for bug 1346.
| Nick Mathewson | 2010-04-13 |
* | | Merge remote branch 'origin/maint-0.2.1'•••Conflicts:
src/common/test.h
src/or/test.c
| Nick Mathewson | 2010-02-27 |
|\| |
|
| * | Update Tor Project copyright years | Nick Mathewson | 2010-02-27 |
* | | fix typo and garbage grammar | Roger Dingledine | 2010-02-21 |
* | | Merge remote branch 'origin/maint-0.2.1'•••Conflicts:
ChangeLog
configure.in
contrib/tor-mingw.nsi.in
src/win32/orconfig.h
| Nick Mathewson | 2010-02-18 |
|\| |
|
| * | Fix compile | Sebastian Hahn | 2010-02-18 |
| * | Even more conservative option-setting for SSL renegotiation.•••This time, set the SSL3_FLAGS_ALLOW_UNSAFE_RENEGOTIATION flag on every
version before OpenSSL 0.9.8l. I can confirm that the option value (0x0010)
wasn't reused until OpenSSL 1.0.0beta3.
| Nick Mathewson | 2010-02-17 |
* | | Merge remote branch 'origin/maint-0.2.1' | Nick Mathewson | 2010-01-31 |
|\| |
|
| * | Revise OpenSSL fix to work with OpenSSL 1.0.0beta*•••In brief: you mustn't use the SSL3_FLAG solution with anything but 0.9.8l,
and you mustn't use the SSL_OP solution with anything before 0.9.8m, and
you get in _real_ trouble if you try to set the flag in 1.0.0beta, since
they use it for something different.
For the ugly version, see my long comment in tortls.c
| Nick Mathewson | 2010-01-31 |
| * | Decide whether to use SSL flags based on runtime OpenSSL version.•••We need to do this because Apple doesn't update its dev-tools headers
when it updates its libraries in a security patch. On the bright
side, this might get us out of shipping a statically linked OpenSSL on
OSX.
May fix bug 1225.
[backported]
| Nick Mathewson | 2010-01-29 |
* | | Detect the correct versions of openssl for tls negotiation fix•••Since it doesn't seem to hurt, we should use _both_ fixes whenever
we see OpenSSL 0.9.7L .. 0.9.8, or OpenSSL 0.9.8L..
| Nick Mathewson | 2010-01-29 |
* | | Decide whether to use SSL flags based on runtime OpenSSL version.•••We need to do this because Apple doesn't update its dev-tools headers
when it updates its libraries in a security patch. On the bright
side, this might get us out of shipping a statically linked OpenSSL on
OSX.
May fix bug 1225.
| Nick Mathewson | 2010-01-29 |
* | | Merge remote branch 'origin/maint-0.2.1' | Nick Mathewson | 2010-01-23 |
|\| |
|
| * | Avoid a possible crash in tls_log_errors.•••We were checking for msg==NULL, but not lib or proc. This case can
only occur if we have an error whose string we somehow haven't loaded,
but it's worth coding defensively here.
Spotted by rieo on IRC.
| Nick Mathewson | 2010-01-22 |
* | | Now that FOO_free(NULL) always works, remove checks before calling it. | Nick Mathewson | 2009-12-12 |
* | | *_free functions now accept NULL•••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.
| Sebastian Hahn | 2009-12-12 |
* | | Merge commit 'origin/maint-0.2.1' | Nick Mathewson | 2009-12-04 |
|\| |
|