Commit Graph

33033 Commits

Author SHA1 Message Date
Nick Mathewson
3e42464f5a Merge branch 'bug34078_prelim_035' into bug34078_prelim_041 2020-05-06 15:18:36 -04:00
Nick Mathewson
3d3641152b Remove an incorrect "Fall through" comment. 2020-05-06 15:08:02 -04:00
Nick Mathewson
8798c0a94a address.c: add a single (harmless) missing break; 2020-05-06 15:08:02 -04:00
Nick Mathewson
37b8324ed3 include compat_compiler for ed25519_donna 2020-05-06 15:08:02 -04:00
Nick Mathewson
9fe23b8672 Replace some "fall through" comments not at the end of a case. 2020-05-06 15:08:02 -04:00
Nick Mathewson
75547c01a3 Replace a "fall through" comment that was outside a switch. 2020-05-06 15:08:02 -04:00
Nick Mathewson
6c3c94357c Add a fallthrough macro.
This macro defers to __attribute__((fallthrough)) on GCC (and
clang).  Previously we had been using GCC's magic /* fallthrough */
comments, but clang very sensibly doesn't accept those.

Since not all compiler recognize it, we only define it when our
configure script detects that it works.

Part of a fix for 34078.
2020-05-06 15:08:02 -04:00
Nick Mathewson
a02e866642 Merge branch 'bug34077_041' into maint-0.4.1 2020-05-04 10:14:38 -04:00
Nick Mathewson
d7e166bd95 Fix a GCC 10.0.1 compilation warning.
Fixes 34077 for 0.4.1; bugfix on 0.4.0.3-alpha. (Specifically, GCC
first gives this warning for 9eeff921ae)
2020-04-30 22:56:31 -04:00
teor
987f2fa50a
Merge branch 'maint-0.3.5' into maint-0.4.1 2020-04-09 11:03:20 +10:00
teor
d380acaeca
Merge remote-tracking branch 'tor-github/pr/1784' into maint-0.3.5 2020-04-09 11:02:49 +10:00
teor
26fd31fef8
Merge branch 'bug33673_035' into bug33673_041
Merge duplicate DLL copies from maint-0.4.1 with bug33673_035.
2020-03-20 14:49:11 +10:00
teor
38e07b88fa
Appveyor: Copy required DLLs to test and app
Copy required DLLs to test and app, before running tor's tests.

This ensures that tor.exe and test*.exe use the correct version of each
DLL. This fix is not required, but we hope it will avoid DLL search
issues in future.

Closes bug 33673; bugfix on 0.3.4.2-alpha.
2020-03-20 14:48:31 +10:00
Nick Mathewson
42ea03eb7f Merge branch 'ticket33643_skip_035' into ticket33643_skip_041 2020-03-19 18:38:18 -04:00
Nick Mathewson
ee3d23c05a Appveyor: disable crypto/openssl_version 2020-03-19 18:36:36 -04:00
Nick Mathewson
6bafe97bc1 Add a TOR_SKIP_TESTCASES environment variable for suppressing tests.
For example, "TOR_SKIP_TESTCASES=crypto/.. ./src/test/test" will run
the tests and suppress all the "crypto/" tests.  You could get the
same effect by running "./src/test/test :crypto/..", but that can be
harder to arrange from CI.

Part of a fix/workaround for 33643.
2020-03-19 18:36:36 -04:00
Nick Mathewson
cb69a5a118 Merge branch 'maint-0.3.5' into maint-0.4.1
"ours" to avoid version bump.
2020-03-18 12:16:59 -04:00
Nick Mathewson
efdbf42432 Bump version to 0.4.1.9-dev 2020-03-18 12:15:53 -04:00
Nick Mathewson
3150c30351 Bump version to 0.3.5.10-dev 2020-03-18 12:15:32 -04:00
Nick Mathewson
4ad3f17c26 Merge branch 'maint-0.3.5' into maint-0.4.1 2020-03-18 08:20:16 -04:00
Nick Mathewson
0526801ed4 Port rsa_private_key_too_long() to work on OpenSSL 1.1.0. 2020-03-18 08:19:48 -04:00
Nick Mathewson
57b1d0848e Merge branch 'maint-0.3.5' into maint-0.4.1 2020-03-17 15:22:36 -04:00
Nick Mathewson
3c8a4b8fbd Merge branch 'trove_2020_002_041' into maint-0.4.1 2020-03-17 15:22:02 -04:00
Nick Mathewson
fe3d8ec38e Merge branch 'trove_2020_002_035' into maint-0.3.5 2020-03-17 15:21:48 -04:00
Nick Mathewson
cec647ff3e Merge branch 'trove_2020_004_041_v2' into maint-0.4.1 2020-03-17 13:56:03 -04:00
Nick Mathewson
5f4e14b8c8 Merge branch 'maint-0.3.5' into maint-0.4.1 2020-03-17 11:45:16 -04:00
George Kadianakis
089e57d22f Fix TROVE-2020-003.
Given that ed25519 public key validity checks are usually not needed
and (so far) they are only necessary for onion addesses in the Tor
protocol, we decided to fix this specific bug instance without
modifying the rest of the codebase (see below for other fix
approaches).

In our minimal fix we check that the pubkey in
hs_service_add_ephemeral() is valid and error out otherwise.
2020-03-17 11:44:45 -04:00
George Kadianakis
c940b7cf13 Trivial bugfixes found during TROVE investigation. 2020-03-17 11:43:03 -04:00
Nick Mathewson
9163781039 Merge branch 'trove_2020_002_035' into trove_2020_002_041 2020-03-17 10:45:03 -04:00
Nick Mathewson
f958b537ab Use >= consistently with max_bits. 2020-03-17 10:44:38 -04:00
Nick Mathewson
2328c79a5f Add off-by-one checks for key length. 2020-03-17 10:44:38 -04:00
Nick Mathewson
8abdb39489 Extract key length check into a new function, and check more fields.
In the openssl that I have, it should be safe to only check the size
of n.  But if I'm wrong, or if other openssls work differently, we
should check whether any of the fields are too large.

Issue spotted by Teor.
2020-03-17 10:44:38 -04:00
Nick Mathewson
78bcfc1280 circpad_setup_machine_on_circ(): exit early on error.
This function does a nonfatal assertion to make sure that a machine
is not registered twice, but Tobias Pulls found a case where it
happens.  Instead, make the function exit early so that it doesn't
cause a remotely triggered memory leak.

Fixes bug 33619; bugfix on 0.4.0.1-alpha.  This is also tracked as
TROVE-2020-004.
2020-03-16 17:59:57 -04:00
teor
c22696e360
Merge branch 'maint-0.3.5' into maint-0.4.1 2020-03-16 20:54:20 +10:00
teor
1c688ba925
Travis: Produce detailed chutney diagnostics
When a Travis chutney job fails, use chutney's new "diagnostics.sh" tool
to produce detailed diagnostic output.

Closes ticket 32792.
2020-03-16 16:04:51 +10:00
Nick Mathewson
dd6e2277e0 Merge branch 'trove_2020_002_035' into trove_2020_002_041 2020-03-14 14:20:51 -04:00
Nick Mathewson
29c9675bde Fix memory leak in crypto_pk_asn1_decode_private.
(Deep, deep thanks to Taylor for reminding me to test this!)
2020-03-14 14:17:37 -04:00
Nick Mathewson
ab2e66ccdc Add a test for crypto_pk_asn1_decode_private maxbits. 2020-03-14 14:17:13 -04:00
Nick Mathewson
be064f77b9 Revise TROVE-2020-002 fix to work on older OpenSSL versions.
Although OpenSSL before 1.1.1 is no longer supported, it's possible
that somebody is still using it with 0.3.5, so we probably shouldn't
break it with this fix.
2020-03-14 13:38:53 -04:00
Nick Mathewson
7a9e2a261b Merge branch 'maint-0.3.5' into maint-0.4.1
"ours" to avoid version bump.
2020-03-13 16:56:44 -04:00
Nick Mathewson
d17108a187 Bump to 0.3.5.10 2020-03-13 16:56:31 -04:00
Nick Mathewson
7f0ad3343e Bump to 0.4.1.9 2020-03-13 16:56:22 -04:00
Nick Mathewson
b2e543bfe7 Merge branch 'maint-0.3.5' into maint-0.4.1 2020-03-13 16:46:16 -04:00
Nick Mathewson
b9d71f3848 Merge remote-tracking branch 'tor-github/pr/1693/head' into maint-0.3.5 2020-03-13 16:46:09 -04:00
David Goulet
894ff2dc84 dos: Pass transport name on new client connection
For a bridge configured with a pluggable transport, the transport name is
used, with the IP address, for the GeoIP client cache entry.

However, the DoS subsystem was not aware of it and always passing NULL when
doing a lookup into the GeoIP cache.

This resulted in bridges with a PT are never able to apply DoS defenses for
newly created connections.

Fixes #33491

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-10 14:45:13 -04:00
teor
c96cf14943
Merge branch 'bug33195_035' into bug33195_041
Conflicts:
* Keep TOR_TEST_RNG_SEED from maint-0.4.1
* Keep the ordering from bug33195_035
2020-02-13 13:55:55 +10:00
teor
add387c507
Travis: Sort jobs in order of speed
Putting the slowest jobs first takes full advantage of Travis
concurrency.

Closes 33194.
2020-02-13 13:52:41 +10:00
teor
fc3555100f
Travis: Remove a redundant distcheck job
Part of 33194.
2020-02-13 13:45:18 +10:00
teor
03650e0f60
Travis: Require the macOS IPv6 chutney job
The job was previously set to fast_finish / allow_failure, to
speed up the build.

Closes ticket 33195.
2020-02-13 13:43:59 +10:00
teor
5298113da9
Merge branch 'maint-0.3.5' into maint-0.4.1 2020-02-12 12:21:57 +10:00