| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Remove a few #if-0d items.
svn:r13392
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
svn:r12786
|
|
|
|
|
|
|
| |
Add support to get a callback invoked when the client renegotiate a connection. Also, make clients renegotiate. (not enabled yet, until they detect that the server acted like a v2 server)
svn:r12623
|
|
|
|
|
|
|
| |
Start getting freaky with openssl callbacks in tortls.c: detect client ciphers, and if the list doesn't look like the list current Tors use, present only a single cert do not ask for a client cert. Also, support for client-side renegotiation. None of this is enabled unless you define V2_HANDSHAKE_SERVER.
svn:r12622
|
|
|
|
|
|
|
| |
When we complete an OR handshake, set up all the internal fields and mark the connection as open.
svn:r12495
|
|
|
|
|
|
|
| |
Improve "tls error. breaking" message a little.
svn:r12411
|
|
|
|
|
|
|
| |
Parse CERT cells and act correctly when we get them.
svn:r12396
|
|
|
|
|
|
|
| |
Send and parse link_auth cells properly.
svn:r12386
|
|
|
|
|
|
|
| |
Add functions to encode certificates
svn:r12384
|
|
|
|
|
|
|
| |
Remember X509 certificates in the context. Store peer/self certificate digests in handshake state.
svn:r12382
|
|
|
|
|
|
|
| |
Code to remember client_random and server_random values, and to compute hmac using TLS master secret.
svn:r12381
|
|
|
|
|
|
|
| |
Implement (but do not enable) link connection version negotiation
svn:r12286
|
|
|
|
|
|
|
| |
Include fewer redundant headers; use the compiler search paths better.
svn:r11060
|
|
|
|
|
|
|
| |
Update copyright dates.
svn:r9570
|
|
|
|
|
|
|
| |
Removing the last DOCDOC comment hurt so much that I had to use Doxygen to identify undocumented macros and comments, and add 150 more DOCDOCs to point out where they were. Oops. Hey, kids! Fixing some of these could be your first Tor patch!
svn:r9477
|
|
|
|
|
|
|
| |
Audit non-const char arguments; make a lot more of them const.
svn:r9466
|
|
|
|
|
|
|
| |
Tidy up ORCONN reason patch from Mike Perry. Changes: make some of the handling of TLS error codes less error prone. Enforce house style wrt spaces. Make it compile with --enable-gcc-warnings. Only set or_conn->tls_error in the case of an actual error. Add a changelog entry.
svn:r9355
|
|
|
|
|
|
|
| |
Patch from Mike Perry: Track reasons for OR connection failure; display them in control events. Needs review and revision.
svn:r9354
|
|
|
|
|
|
|
| |
Count TLS bytes accurately: previously, we counted only the number of bytes read or transmitted via tls, not the number of extra bytes used to do so. This has been a lonstanding wart. The fix "Works for me".
svn:r9207
|
|
|
|
|
|
|
| |
Try to fix an assert failure in new write limiting code: make buffers.c aware of previous "forced" write sizes from tortls.
svn:r9105
|
|
|
|
|
|
|
| |
a client-only tls, that is, one with no certs.
svn:r6558
|
|
|
|
|
|
|
|
|
|
| |
is, even tor clients do the same sort of handshake.
this has been true for years, so it's best to get rid of the
stale code.
svn:r6557
|
|
|
|
|
|
|
| |
shout about it unless we want to hear about protocol violations.
svn:r6507
|
|
|
|
| |
svn:r5949
|
|
|
|
|
|
| |
domain. Domains are now bitmasks... just in case. Make some err msgs non-general.
svn:r5309
|
|
|
|
| |
svn:r5253
|
|
|
|
| |
svn:r5208
|
|
|
|
| |
svn:r4382
|
|
|
|
| |
svn:r4378
|
|
|
|
|
|
| |
TLS errors when handling certs. Fix2: stop assert(0)ing on uncaught TLS errors.)
svn:r4085
|
|
|
|
| |
svn:r3982
|
|
|
|
|
|
|
| |
was an initiator or a receiver
svn:r3931
|
|
|
|
| |
svn:r3615
|