rl1987
5ab2110eb6
Rework predicted_ports_prediction_time_remaining() to fix CID 1438153
2018-08-19 21:03:01 +03:00
Unto Sten
ba3c785092
Inform users about configuration file and directory includes
...
This patch makes it clearer to users what settings Tor daemon
is actually using. I think it is pretty important.
2018-08-17 14:08:59 +03:00
Nick Mathewson
e56f0c9d33
Adjust windows stubs for new start/finish_daemon() return types
2018-08-14 16:44:59 -04:00
Nick Mathewson
a57c27a1c7
Call crypto_postfork on start_daemon() instead.
2018-08-08 17:32:26 -04:00
Nick Mathewson
622a2c6bee
Make finish_daemon() return a boolean to say whether it did anything.
2018-08-08 16:59:53 -04:00
Nick Mathewson
26f1167e71
Merge branch 'bug26779_033' into bug26779_035
2018-08-08 15:50:29 -04:00
Nick Mathewson
7787150521
Merge branch 'maint-0.3.4'
2018-08-08 09:26:23 -04:00
Nick Mathewson
622a057e7e
Merge remote-tracking branch 'public/string_coverage'
2018-08-03 07:03:29 -04:00
Nick Mathewson
f83b417bf8
Suppress strict-prototypes warning in crypto_nss_mgt.c
2018-08-02 08:41:33 -04:00
Nick Mathewson
727f1676d6
Fix double-link of crypto_openssl_mgt.c
2018-08-02 08:38:59 -04:00
Nick Mathewson
b590cc0449
Add a cast to make clang happier.
2018-08-02 08:36:24 -04:00
Nick Mathewson
ff7229b32c
Document new helper functions in socketpair.c
2018-08-01 11:01:52 -04:00
Nick Mathewson
1b7b9c7e63
Reindent tor_ersatz_socketpair
2018-08-01 11:01:52 -04:00
Nick Mathewson
fc0dc5aa9e
Refactor tor_ersatz_socketpair() not to need socket.
...
This change also makes tor_ersatz_socketpair() follow the same
interface as socketpair() rather than tor_socketpair(), so it now
needs to be wrapped in the same code as socketpair() does.
2018-08-01 11:01:52 -04:00
Nick Mathewson
9b24609af0
Remove dependency from socketpair.c on address.h
...
Also refactor some annoying code in tor_ersatz_socketpair.
2018-08-01 09:24:22 -04:00
Nick Mathewson
2884639ad6
Extract tor_ersatz_socketpair into a new c file
...
I'm doing this because I want to make it a lower-level function
again, so that we can use it without linking in the rest of the
universe.
2018-08-01 08:47:27 -04:00
Nick Mathewson
a4c0a0e81e
Fix issues with crypto_ope compilation now that crypto.h is gone
2018-07-31 19:56:42 -04:00
Nick Mathewson
fdaa483098
Merge branch 'nss_dh_squashed' into nss_dh_squashed_merged
2018-07-31 19:56:23 -04:00
Nick Mathewson
17f922d371
Only link crypto_dh_openssl.c once
...
(We do this unconditionally, since we still need it for tortls.c)
2018-07-31 19:46:00 -04:00
Nick Mathewson
17ea931ac7
Implement DH in NSS.
2018-07-31 19:46:00 -04:00
Nick Mathewson
32bbc8f6b5
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.
2018-07-31 19:46:00 -04:00
Nick Mathewson
ac9a470c64
Extract the shared part of crypto_dh_compute_secret.
2018-07-31 19:46:00 -04:00
Nick Mathewson
60a5b78480
Extract the OpenSSL DH functionality to a new file.
2018-07-31 19:46:00 -04:00
Nick Mathewson
2d80673b9a
Fix "make distcheck."
2018-07-31 19:46:00 -04:00
Nick Mathewson
76e10ee6b9
Use NSS for AES_CTR.
2018-07-31 19:46:00 -04:00
Nick Mathewson
60705a5719
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.
2018-07-31 19:46:00 -04:00
Nick Mathewson
f64c9dccde
Use NSS's digest code in Tor.
...
This was a fairly straightforward port, once I realized which layer
I should be calling into.
2018-07-31 19:46:00 -04:00
teor
e26794ace9
Add TOR_PRIdSZ to torint.h
2018-07-31 11:21:28 +10:00
Nick Mathewson
acb54dee7b
Remove a now-obsolete comment about deadcode_dummy__
2018-07-30 09:09:10 -04:00
Nick Mathewson
70b16bc679
Merge branch 'ticket26890'
2018-07-30 09:08:39 -04:00
Nick Mathewson
13393b2d91
Merge remote-tracking branch 'rl1987/ticket21349_4'
2018-07-30 08:49:49 -04:00
Nick Mathewson
5823e62fa2
Merge branch 'maint-0.3.4'
2018-07-30 08:17:25 -04:00
rl1987
e6c51a056c
Make entry_guards_update_primary() shorter
2018-07-21 18:38:33 +03:00
Nick Mathewson
c515dc8d0d
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.
2018-07-20 11:19:54 -04:00
Nick Mathewson
7253603e6b
Merge branch 'bug26712'
2018-07-19 12:20:13 -04:00
Nick Mathewson
ee12c11dd4
Increase line coverage in libtor-string to 100%
...
(On linux.)
2018-07-17 16:47:32 -04:00
Nick Mathewson
e2b744ce38
Merge branch 'bug25552_ope_squashed'
2018-07-17 16:19:32 -04:00
George Kadianakis
0140052a35
Make the OPE scheme return CRYPTO_OPE_ERROR on error.
...
Instead of UINT64_MAX.
2018-07-17 15:57:46 -04:00
George Kadianakis
34a5eb5904
Increase OPE_INPUT_MAX.
2018-07-17 15:57:46 -04:00
Nick Mathewson
3a45f6ffe9
Implementation for a simple order-preserving encryption scheme.
...
This is meant for use when encrypting the current time within the
period in order to get a monotonically increasing revision counter
without actually revealing our view of the time.
This scheme is far from the most state-of-the-art: don't use it for
anything else without careful analysis by somebody much smarter than
I am.
See ticket #25552 for some rationale for this logic.
2018-07-17 15:57:46 -04:00
Nick Mathewson
d811ce2421
Add postfork support for nss
...
We need this in our unit tests, since otherwise NSS will notice
we've forked and start cussing us out.
I suspect we'll need a different hack for daemonizing, but this
should be enough for tinytest to work.
2018-07-13 12:35:22 -04:00
Nick Mathewson
c317e78dd7
Initialize and shut down NSS.
...
This is largely conjectural, based on online documentation for NSS
and NSPR.
2018-07-13 12:35:22 -04:00
Nick Mathewson
f45107e7de
Rename crypto.c to crypto_cipher.c (since that's all it still has.)
2018-07-11 14:12:36 -04:00
Nick Mathewson
9010797e63
Remove most includes from crypto.c
2018-07-11 14:02:23 -04:00
Nick Mathewson
922208bd2d
Extract and rename crypto_log_errors().
2018-07-11 13:54:47 -04:00
Nick Mathewson
8e2df98860
Move crypto_add_spaces_to_fp() to crypto_rsa.c
2018-07-11 13:51:26 -04:00
Nick Mathewson
12a1ada158
Move the initialization and cleanup parts of crypto.c
...
These are now part of crypto_init.c. The openssl-only parts now
live in crypto_openssl_mgt.c.
I recommend reviewing this patch with -b and --color-moved.
2018-07-11 13:45:49 -04:00
Nick Mathewson
79267bad65
Add a configure switch to build with NSS.
...
When it is set, include the NSS headers and libraries as
appropriate. Doesn't actually use them yet, though.
2018-07-11 13:22:20 -04:00
Nick Mathewson
2b52360448
Only use OpenSSL kdf support if it is present.
...
We have to check for ERR_load_KDF_strings() here, since that's the
only one that's actually a function rather than a macro.
Fixes compilation with LibreSSL. Fixes bug 26712; bug not in
any released Tor.
2018-07-11 10:19:06 -04:00
Nick Mathewson
5aee26ee46
Move all use cases of micro-revision.i to a single place
...
That place is git-revision.c; git-revision.c now lives in lib/log.
Also fix the compilation rules so that all object files that need
micro-revision.i depend on it.
2018-07-11 09:52:39 -04:00