]>
git.ipfire.org Git - thirdparty/tor.git/log
Nick Mathewson [Fri, 17 Aug 2018 15:24:50 +0000 (11:24 -0400)]
Initial NSS support for TLS.
This is enough to get a chutney network to bootstrap, though a bunch
of work remains.
Nick Mathewson [Mon, 13 Aug 2018 18:54:35 +0000 (14:54 -0400)]
NSS support for x509 certs
7 unit tests are failing at this point, but they're all TLS-related.
Nick Mathewson [Wed, 22 Aug 2018 15:03:33 +0000 (11:03 -0400)]
Log error strings in crypto_nss_log_errors().
I'll need this for debugging.
Nick Mathewson [Wed, 22 Aug 2018 14:31:44 +0000 (10:31 -0400)]
Change log_test_helpers macros to use printf, not pasting
This ensures that our test failure messages actually tell us what
strings Tor was expecting. I will need this to debug some test
failures.
Nick Mathewson [Sun, 12 Aug 2018 23:40:47 +0000 (19:40 -0400)]
Make some x509 functions generic; remove some fields NSS doesn't need
Nick Mathewson [Sun, 12 Aug 2018 22:01:14 +0000 (18:01 -0400)]
Extract internal-only parts of x509.h
Nick Mathewson [Sun, 12 Aug 2018 21:54:06 +0000 (17:54 -0400)]
Extract the non-generic part of tor_tls_context_decref().
Nick Mathewson [Sun, 12 Aug 2018 21:46:53 +0000 (17:46 -0400)]
Implement PBKDF2 with NSS.
This was a gap that we left in the last commit.
Nick Mathewson [Sun, 12 Aug 2018 21:18:41 +0000 (17:18 -0400)]
When enabling NSS, disable OpenSSL.
We used to link both libraries at once, but now that I'm working on
TLS, there's nothing left to keep OpenSSL around for when NSS is
enabled.
Note that this patch causes a couple of places that still assumed
OpenSSL to be disabled when NSS is enabled
- tor-gencert
- pbkdf2
Nick Mathewson [Sun, 12 Aug 2018 20:04:12 +0000 (16:04 -0400)]
Split tls modules and their tests into openssl and generic.
Also, add a stubbed-out nss version of the modules. The tests won't
pass with NSS yet since the NSS modules don't do anything.
This is a good patch to read with --color-moved.
Nick Mathewson [Sat, 11 Aug 2018 23:54:11 +0000 (19:54 -0400)]
Refactor some of the certificate-manipulation logic
Nick Mathewson [Sat, 11 Aug 2018 23:38:07 +0000 (19:38 -0400)]
Extract tortls structures into a new header; clean up a little
Nick Mathewson [Sat, 11 Aug 2018 22:16:04 +0000 (18:16 -0400)]
Split X509 code out of tortls.c
Nick Mathewson [Sat, 11 Aug 2018 20:36:05 +0000 (16:36 -0400)]
The RSA_free in this test is no longer needed or wanted
Nick Mathewson [Thu, 19 Jul 2018 16:03:01 +0000 (12:03 -0400)]
Implement RSA for NSS.
Nick Mathewson [Tue, 31 Jul 2018 22:42:42 +0000 (18:42 -0400)]
Also reinitialize the pregenerated keys postfork.
Nick Mathewson [Thu, 19 Jul 2018 21:09:23 +0000 (17:09 -0400)]
Refactor crypto_rsa to use pem module.
This cleans up a lot of junk from crypto_rsa_openssl, and will
save us duplicated code in crypto_rsa_nss (when it exists).
(Actually, it already exists, but I am going to use git rebase so
that this commit precedes the creation of crypto_rsa_nss.)
Nick Mathewson [Thu, 19 Jul 2018 19:47:48 +0000 (15:47 -0400)]
Add rudimentary support for PEM-encoding, since NSS doesn't do that.
Nick Mathewson [Thu, 19 Jul 2018 13:23:30 +0000 (09:23 -0400)]
Use a constant for "65537"
Nick Mathewson [Thu, 19 Jul 2018 13:07:08 +0000 (09:07 -0400)]
Rename openssl-bridging functions in crypto_rsa
These functions exist only to expose RSA keys to other places in Tor
that use OpenSSL; let's be specific about their purpose.
Nick Mathewson [Thu, 19 Jul 2018 13:00:12 +0000 (09:00 -0400)]
Remove a redundant function.
Nick Mathewson [Thu, 19 Jul 2018 12:56:51 +0000 (08:56 -0400)]
Rename functions that encode/decode private keys
It is not nice to expose a private key's contents without having the
function name advertise the fact. Fortunately, we weren't misusing
these yet.
Nick Mathewson [Thu, 19 Jul 2018 12:53:40 +0000 (08:53 -0400)]
Extract openssl RSA functionality into its own file.
Nick Mathewson [Tue, 14 Aug 2018 20:44:59 +0000 (16:44 -0400)]
Adjust windows stubs for new start/finish_daemon() return types
Nick Mathewson [Wed, 8 Aug 2018 21:32:26 +0000 (17:32 -0400)]
Call crypto_postfork on start_daemon() instead.
Nick Mathewson [Wed, 8 Aug 2018 20:59:53 +0000 (16:59 -0400)]
Make finish_daemon() return a boolean to say whether it did anything.
Nick Mathewson [Wed, 8 Aug 2018 20:50:23 +0000 (16:50 -0400)]
When RunAsDaemon is set, crypto_postfork() as needed
Nick Mathewson [Thu, 2 Aug 2018 12:41:33 +0000 (08:41 -0400)]
Suppress strict-prototypes warning in crypto_nss_mgt.c
Nick Mathewson [Thu, 2 Aug 2018 12:38:59 +0000 (08:38 -0400)]
Fix double-link of crypto_openssl_mgt.c
Nick Mathewson [Thu, 2 Aug 2018 12:36:24 +0000 (08:36 -0400)]
Add a cast to make clang happier.
Nick Mathewson [Tue, 31 Jul 2018 23:56:42 +0000 (19:56 -0400)]
Fix issues with crypto_ope compilation now that crypto.h is gone
Nick Mathewson [Tue, 31 Jul 2018 23:56:23 +0000 (19:56 -0400)]
Merge branch 'nss_dh_squashed' into nss_dh_squashed_merged
Nick Mathewson [Wed, 18 Jul 2018 14:19:20 +0000 (10:19 -0400)]
Only link crypto_dh_openssl.c once
(We do this unconditionally, since we still need it for tortls.c)
Nick Mathewson [Tue, 17 Jul 2018 17:08:34 +0000 (13:08 -0400)]
Additional tests for NSS DH
Notably, there's a test to make sure that it round-trips with
OpenSSL, if OpenSSL is enabled.
Nick Mathewson [Tue, 17 Jul 2018 15:27:08 +0000 (11:27 -0400)]
Implement DH in NSS.
Nick Mathewson [Tue, 17 Jul 2018 15:23:53 +0000 (11:23 -0400)]
Refactor the dependency between tortls and crypto_dh.
We only ever need this to get us a DH ephemeral key object,
so make a function that does just that.
Nick Mathewson [Tue, 17 Jul 2018 13:16:11 +0000 (09:16 -0400)]
Extract the shared part of crypto_dh_compute_secret.
Nick Mathewson [Tue, 17 Jul 2018 13:06:05 +0000 (09:06 -0400)]
Extract the OpenSSL DH functionality to a new file.
Nick Mathewson [Wed, 18 Jul 2018 14:40:52 +0000 (10:40 -0400)]
Make the rust tests link.
Nick Mathewson [Wed, 18 Jul 2018 13:52:47 +0000 (09:52 -0400)]
Fix "make distcheck."
Nick Mathewson [Mon, 16 Jul 2018 18:07:38 +0000 (14:07 -0400)]
Changes files for feature26815 and 26816
Nick Mathewson [Mon, 16 Jul 2018 13:49:05 +0000 (09:49 -0400)]
Use NSS for AES_CTR.
Nick Mathewson [Fri, 13 Jul 2018 18:35:51 +0000 (14:35 -0400)]
Use NSS in crypto_rand.c
This is comparatively straightforward too, except for a couple of
twists:
* For as long as we're building with two crypto libraries, we
want to seed _both_ their RNGs, and use _both_ their RNGs to
improve the output of crypto_strongest_rand()
* The NSS prng will sometimes refuse to generate huge outputs.
When it does, we stretch the output with SHAKE. We only need
this for the tests.
Nick Mathewson [Fri, 13 Jul 2018 17:43:23 +0000 (13:43 -0400)]
Make sure NSS is initialized before running benchmarks
Nick Mathewson [Wed, 11 Jul 2018 20:54:05 +0000 (16:54 -0400)]
Use NSS's digest code in Tor.
This was a fairly straightforward port, once I realized which layer
I should be calling into.
Nick Mathewson [Tue, 31 Jul 2018 12:50:38 +0000 (08:50 -0400)]
Merge remote-tracking branch 'teor/bug26986'
Nick Mathewson [Tue, 31 Jul 2018 12:30:58 +0000 (08:30 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Tue, 31 Jul 2018 12:30:01 +0000 (08:30 -0400)]
Merge branch 'maint-0.3.3' into maint-0.3.4
Nick Mathewson [Tue, 31 Jul 2018 12:29:54 +0000 (08:29 -0400)]
Merge remote-tracking branch 'teor/bug26876_033' into maint-0.3.3
Nick Mathewson [Tue, 31 Jul 2018 12:26:15 +0000 (08:26 -0400)]
Merge remote-tracking branch 'teor/bug26979'
Nick Mathewson [Tue, 31 Jul 2018 12:21:10 +0000 (08:21 -0400)]
Merge branch 'ticket26447'
Roger Dingledine [Tue, 31 Jul 2018 02:35:33 +0000 (22:35 -0400)]
fix wrong word in comment
teor [Tue, 31 Jul 2018 02:14:40 +0000 (12:14 +1000)]
Appveyor CI: always use HEAD for the short commit
Part of 26979.
teor [Tue, 31 Jul 2018 01:58:04 +0000 (11:58 +1000)]
Appveyor CI: Changes file for 26979
Closes 26979.
teor [Tue, 31 Jul 2018 01:54:02 +0000 (11:54 +1000)]
Appveyor CI: sort environmental variables
To avoid future duplicates.
teor [Tue, 31 Jul 2018 01:49:11 +0000 (11:49 +1000)]
Appveyor CI: fix some typos
teor [Tue, 31 Jul 2018 01:47:33 +0000 (11:47 +1000)]
Appveyor CI: Generate correct tag names
Part of 26979.
teor [Tue, 31 Jul 2018 01:37:11 +0000 (11:37 +1000)]
Appveyor CI: Switch to one URL per line
Part of 26979.
teor [Tue, 31 Jul 2018 01:19:41 +0000 (11:19 +1000)]
Use Windows-compatible format strings in tor-print-ed-signing-cert.c
Fixes bug 26986; bugfix on master.
teor [Tue, 31 Jul 2018 01:20:44 +0000 (11:20 +1000)]
Add TOR_PRIdSZ to torint.h
teor [Tue, 31 Jul 2018 01:12:21 +0000 (11:12 +1000)]
Appveyor CI: Generate correct branches and URLs for pull requests
Part of 26979.
teor [Tue, 31 Jul 2018 01:10:55 +0000 (11:10 +1000)]
Appveyor CI: Make short commits 10 hexdigits long
That's what git does for tor.
Part of 26979.
teor [Tue, 31 Jul 2018 01:09:54 +0000 (11:09 +1000)]
Appveyor CI: Fix GitHub provider detection
Part of 26979.
Nick Mathewson [Mon, 30 Jul 2018 13:09:10 +0000 (09:09 -0400)]
Remove a now-obsolete comment about deadcode_dummy__
Nick Mathewson [Mon, 30 Jul 2018 13:08:39 +0000 (09:08 -0400)]
Merge branch 'ticket26890'
Nick Mathewson [Mon, 30 Jul 2018 13:07:19 +0000 (09:07 -0400)]
Run check-includes.py script with detected python path.
Nick Mathewson [Mon, 30 Jul 2018 13:01:59 +0000 (09:01 -0400)]
Merge branch 'maint-0.3.3' into maint-0.3.4
Nick Mathewson [Mon, 30 Jul 2018 13:01:59 +0000 (09:01 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Mon, 30 Jul 2018 13:01:55 +0000 (09:01 -0400)]
Merge remote-tracking branch 'teor/bug26627_033_merged_master'
Nick Mathewson [Mon, 30 Jul 2018 13:01:45 +0000 (09:01 -0400)]
Merge remote-tracking branch 'teor/bug26627_033' into maint-0.3.3
Nick Mathewson [Mon, 30 Jul 2018 12:57:18 +0000 (08:57 -0400)]
Update include in tor-print-ed-signing-cert
Nick Mathewson [Mon, 30 Jul 2018 12:55:57 +0000 (08:55 -0400)]
Merge remote-tracking branch 'rl1987/feature19506_3'
Nick Mathewson [Mon, 30 Jul 2018 12:49:49 +0000 (08:49 -0400)]
Merge remote-tracking branch 'rl1987/ticket21349_4'
Nick Mathewson [Mon, 30 Jul 2018 12:45:01 +0000 (08:45 -0400)]
Merge branch 'maint-0.3.3' into maint-0.3.4
Nick Mathewson [Mon, 30 Jul 2018 12:45:01 +0000 (08:45 -0400)]
Merge branch 'maint-0.3.2' into maint-0.3.3
Nick Mathewson [Mon, 30 Jul 2018 12:45:01 +0000 (08:45 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Mon, 30 Jul 2018 12:44:58 +0000 (08:44 -0400)]
Merge remote-tracking branch 'teor/bug26924'
Nick Mathewson [Mon, 30 Jul 2018 12:44:40 +0000 (08:44 -0400)]
Merge remote-tracking branch 'teor/bug26924_032' into maint-0.3.2
Nick Mathewson [Mon, 30 Jul 2018 12:33:59 +0000 (08:33 -0400)]
Merge remote-tracking branch 'juga/ticket3723_03_squashed_rebased'
Nick Mathewson [Mon, 30 Jul 2018 12:24:14 +0000 (08:24 -0400)]
Merge remote-tracking branch 'rl1987/bug26892_take2'
Nick Mathewson [Mon, 30 Jul 2018 12:17:25 +0000 (08:17 -0400)]
Merge branch 'maint-0.3.3' into maint-0.3.4
Nick Mathewson [Mon, 30 Jul 2018 12:17:25 +0000 (08:17 -0400)]
Merge branch 'maint-0.3.4'
Nick Mathewson [Mon, 30 Jul 2018 12:17:24 +0000 (08:17 -0400)]
Merge branch 'maint-0.3.2' into maint-0.3.3
Taylor Yu [Thu, 26 Jul 2018 17:32:34 +0000 (12:32 -0500)]
Don't disable an unsupported compiler warning
Conditionalize the pragma that temporarily disables
-Wunused-const-variable. Some versions of gcc don't support it. We
need to do this because of an apparent bug in some libzstd headers.
Fixes bug 26785; bugfix on 0.3.2.11.
rl1987 [Thu, 26 Jul 2018 14:49:27 +0000 (17:49 +0300)]
Early bailout from log_addr_has_changed() if running as client
teor [Wed, 25 Jul 2018 07:40:20 +0000 (17:40 +1000)]
Remove comment about Tor2web
Part of #26367.
teor [Wed, 25 Jul 2018 04:50:45 +0000 (14:50 +1000)]
Merge branch 'bug26924_032' into bug26924
Update rendcommon.h include path.
teor [Wed, 25 Jul 2018 04:39:31 +0000 (14:39 +1000)]
Improve connection auth logging
Improve the log message when connection initiators fail to authenticate
direct connections to relays.
Fixes bug 26927; bugfix on 0.3.0.1-alpha.
teor [Wed, 25 Jul 2018 04:33:10 +0000 (14:33 +1000)]
Merge branch 'bug26924_029' into bug26924_032
teor [Wed, 25 Jul 2018 04:28:06 +0000 (14:28 +1000)]
Stop logging link auth warnings on Single Onion Services and Tor2web
Instead, log a protocol warning when single onion services or
Tor2web clients fail to authenticate direct connections to relays.
Fixes bug 26924; bugfix on 0.2.9.1-alpha.
teor [Tue, 24 Jul 2018 23:17:17 +0000 (09:17 +1000)]
Merge branch 'bug26627_033' into bug26627_033_merged_master
teor [Tue, 24 Jul 2018 08:22:41 +0000 (18:22 +1000)]
Stop putting unsupported
ed25519 link auth in v3 onion service descs
Stop putting
ed25519 link specifiers in v3 onion service descriptors,
when the intro point doesn't support
ed25519 link authentication.
Fixes bug 26627; bugfix on 0.3.2.4-alpha.
teor [Fri, 6 Jul 2018 06:06:44 +0000 (16:06 +1000)]
Stop sending unsupported
ed25519 link specifiers in v3 introduce cells
Stop sending
ed25519 link specifiers in v3 onion service introduce
cells, when the rendezvous point doesn't support
ed25519 link
authentication.
Fixes bug 26627; bugfix on 0.3.2.4-alpha.
juga0 [Sat, 21 Jul 2018 21:59:50 +0000 (21:59 +0000)]
Add changes file regarding bandwidth file headers
rl1987 [Fri, 22 Jun 2018 13:48:57 +0000 (16:48 +0300)]
Add changes file
rl1987 [Fri, 22 Jun 2018 13:43:50 +0000 (16:43 +0300)]
Split select_entry_guard_for_circuit()
rl1987 [Fri, 22 Jun 2018 13:04:08 +0000 (16:04 +0300)]
Make entry_guards_update_primary() shorter
rl1987 [Fri, 22 Jun 2018 12:21:05 +0000 (15:21 +0300)]
Split sampled_guards_update_from_consensus() into subfunctions
Nick Mathewson [Fri, 20 Jul 2018 15:18:11 +0000 (11:18 -0400)]
Remove over-cleverness from our coverity BUG() definition.
Our previous definition implied that code would never keep running
if a BUG occurred (which it does), and that BUG(x) might be true
even if x was false (which it can't be).
Closes ticket 26890. Bugfix on 0.3.1.4-alpha.
Nick Mathewson [Fri, 20 Jul 2018 15:02:05 +0000 (11:02 -0400)]
Tweak assertion in get_time_period_length() for coverity
This is another attempt to fix
1437668 . The assertion here should
be safe, since the rules of networkstatus_get_param() keep the value
it returns in range.