Commit Graph

31360 Commits

Author SHA1 Message Date
Nick Mathewson 2c2c349bdf Merge branch 'maint-0.3.5' into release-0.3.5 2020-05-14 10:20:08 -04:00
Nick Mathewson e63bfca5f2 Travis: temporarily fix stem version to d1174a83c2dcb7b8
This is a workaround for https://github.com/torproject/stem/issues/63
2020-05-14 08:08:24 -04:00
Nick Mathewson 789de7c35b Merge branch 'maint-0.3.5' into release-0.3.5 2020-05-06 16:58:12 -04:00
Nick Mathewson dd795fbee4 changes file for bug 34078. 2020-05-06 16:58:06 -04:00
Nick Mathewson cc397449fc Use __attribute__((fallthrough)) rather than magic GCC comments.
GCC added an implicit-fallthrough warning a while back, where it
would complain if you had a nontrivial "case:" block that didn't end
with break, return, or something like that.  Clang recently added
the same thing.

GCC, however, would let you annotate a fall-through as intended by
any of various magic "/* fall through */" comments.  Clang, however,
only seems to like "__attribute__((fallthrough))".  Fortunately, GCC
accepts that too.

A previous commit in this branch defined a FALLTHROUGH macro to do
the right thing if GNUC is defined; here we replace all of our "fall
through" comments with uses of that macro.

This is an automated commit, made with the following perl one-liner:

  #!/usr/bin/perl -i -p
  s#/\* *falls? ?thr.*?\*/#FALLTHROUGH;#i;
2020-05-06 16:51:11 -04:00
Nick Mathewson 01f1dae8b5 Merge branch 'maint-0.3.5' into release-0.3.5 2020-05-06 16:47:03 -04:00
Nick Mathewson 78a72f8196 Merge branch 'bug34078_prelim_035' into maint-0.3.5 2020-05-06 16:46:31 -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
teor 42ad044391 Merge branch 'maint-0.3.5' into release-0.3.5 2020-04-09 11:03:15 +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
Nick Mathewson 8123ee15de Merge branch 'maint-0.3.5' into release-0.3.5 2020-03-25 10:56:27 -04: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
teor b056b80ea8 Merge branch 'maint-0.3.5' into release-0.3.5 2020-03-20 11:24:44 +10: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 e065f08fe8 Merge branch 'maint-0.3.5' into release-0.3.5 2020-03-18 12:18:31 -04:00
Nick Mathewson 3150c30351 Bump version to 0.3.5.10-dev 2020-03-18 12:15:32 -04:00
Nick Mathewson 87fca69957 Pick release date, copy changelog to releasenotes. tor-0.3.5.10 2020-03-18 09:06:06 -04:00
Nick Mathewson a640bebf0f Merge branch 'maint-0.3.5' into release-0.3.5 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 d82fb437e2 fold in changelog and blurb for trove-2020-002 2020-03-17 15:37:50 -04:00
Nick Mathewson 2e80d38dcd Merge branch 'maint-0.3.5' into release-0.3.5 2020-03-17 15:22:35 -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 261bf5f863 Initial changelog for 0.3.5.10 2020-03-17 15:00:13 -04:00
Nick Mathewson 0d5b20d2aa Merge branch 'maint-0.3.5' into release-0.3.5 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 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
teor 75873c1a30 Merge branch 'maint-0.3.5' into release-0.3.5 2020-03-16 20:54:16 +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 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 36ae644fcd Merge branch 'maint-0.3.5' into release-0.3.5 2020-03-13 16:57:42 -04:00
Nick Mathewson d17108a187 Bump to 0.3.5.10 2020-03-13 16:56:31 -04:00
Nick Mathewson 8fef85306e Merge branch 'maint-0.3.5' into release-0.3.5 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
teor 47e0ac3561 Merge branch 'maint-0.3.5' into release-0.3.5 2020-03-13 13:01:14 +10: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 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 d8cef680fc Merge branch 'maint-0.3.5' into release-0.3.5 2020-02-12 12:21:53 +10:00