Commit Graph

27690 Commits

Author SHA1 Message Date
Nick Mathewson 088c0367a2 Initial backend for an ntor-v3 implementation.
This code is based directly on the specification, without looking at
the reference implementation or the implementation in Arti.
Nonetheless, it is now passing with the test vectors generated by
the reference implementation.
2021-08-26 15:09:56 -04:00
Nick Mathewson 984e3a9c6c Merge remote-tracking branch 'tor-gitlab/mr/420' 2021-08-18 08:43:31 -04:00
David Goulet cac612af42 dir: Do not flag non-running failing HSDir
When a directory request fails, we flag the relay as non Running so we
don't use it anymore.

This can be problematic with onion services because there are cases
where a tor instance could have a lot of services, ephemeral ones, and
keeps failing to upload descriptors, let say due to a bad network, and
thus flag a lot of nodes as non Running which then in turn can not be
used for circuit building.

This commit makes it that we never flag nodes as non Running on a onion
service directory request (upload or fetch) failure as to keep the
hashring intact and not affect other parts of tor.

Fortunately, the onion service hashring is _not_ selected by looking at
the Running flag but since we do a 3-hop circuit to the HSDir, other
services on the same instance can influence each other by removing nodes
from the consensus for path selection.

This was made apparent with a small network that ran out of nodes to
used due to rapid succession of onion services uploading and failing.
See #40434 for details.

Fixes #40434

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-08-17 13:27:14 -04:00
Alexander Færøy 168ea275b8 Merge branch 'maint-0.4.6' into main 2021-08-16 15:28:22 +00:00
Alexander Færøy 46ad2240de Merge branch 'maint-0.4.5' into maint-0.4.6 2021-08-16 15:28:22 +00:00
Alexander Færøy 903c578119 Always teardown capture of logs in CAPTURE().
This will hopefully solve an issue where our gmtime related tests are
failing on 32-bit builds.
2021-08-16 15:27:38 +00:00
Nick Mathewson b2c4ac09d4 Merge branch 'maint-0.4.6' 2021-08-16 09:51:27 -04:00
Nick Mathewson 6a01c34bb8 Merge branch 'maint-0.4.5' into maint-0.4.6 2021-08-16 09:51:27 -04:00
Nick Mathewson b2d6fed3e9 Disable message checking for some 32-bit tests about timegm failure.
Since we merged 40383, we don't expect these to give the same
warning on every platform.
2021-08-16 09:48:08 -04:00
Nick Mathewson fd38609ae2 Make the version 0.4.6.7, not 0.4.6.7-dev. 2021-08-16 08:21:04 -04:00
Nick Mathewson 1ec4c7b34a Make the version 0.4.5.10, not 0.4.5.10-dev. 2021-08-16 08:18:57 -04:00
Nick Mathewson 2984fba97a Make the version 0.3.6.16, not 0.3.6.16-dev. 2021-08-16 08:17:59 -04:00
David Goulet 041a0a362f Update version to 0.3.5.16
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-08-13 09:43:44 -04:00
David Goulet 685b3e4383 Update version to 0.4.5.10
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-08-13 09:42:52 -04:00
David Goulet 07c417b207 Update version to 0.4.6.7
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-08-13 09:42:26 -04:00
David Goulet 4252744788 Merge branch 'maint-0.4.6' 2021-08-12 12:13:26 -04:00
David Goulet 4c3c40e70c Merge branch 'maint-0.4.5' into maint-0.4.6 2021-08-12 12:13:26 -04:00
David Goulet 33abeeab94 Merge branch 'maint-0.3.5' into maint-0.4.5 2021-08-12 12:13:25 -04:00
Alexander Færøy eca5b62213 Update GeoIP files to match IPFire location DB as per 2021/08/12. 2021-08-12 15:38:11 +00:00
Alexander Færøy 2160697d14 Merge branch 'maint-0.4.6' into main 2021-08-11 13:15:59 +00:00
Alexander Færøy b8660e384f Merge branch 'maint-0.4.5' into maint-0.4.6 2021-08-11 13:15:59 +00:00
Alexander Færøy 81635ec577 Merge branch 'maint-0.3.5' into maint-0.4.5 2021-08-11 13:15:58 +00:00
Alexander Færøy 7e0971d868 Merge remote-tracking branch 'tor-gitlab/mr/417' into maint-0.3.5 2021-08-11 13:15:35 +00:00
Alexander Færøy ac254d5334 Merge branch 'maint-0.4.6' into main 2021-08-11 13:14:26 +00:00
Alexander Færøy e3c2179f25 Merge branch 'maint-0.4.5' into maint-0.4.6 2021-08-11 13:14:26 +00:00
Alexander Færøy c48d1c3f7c Merge branch 'maint-0.3.5' into maint-0.4.5 2021-08-11 13:14:26 +00:00
George Kadianakis fe5a9db1e6 Disable ed25519-donna's batch verification.
Fixes bug 40078.

As reported by hdevalence our batch verification logic can cause an assert
crash.

The assert happens because when the batch verification of ed25519-donna fails,
the code in `ed25519_checksig_batch()` falls back to doing a single
verification for each signature.

The crash occurs because batch verification failed, but then all signatures
individually verified just fine.

That's because batch verification and single verification use a different
equation which means that there are sigs that can pass single verification
but fail batch verification.

Fixing this would require modding ed25519-donna which is not in scope for
this ticket, and will be soon deprecated in favor of arti and
ed25519-dalek, so my branch instead removes batch verification.
2021-08-11 13:14:05 +00:00
David Goulet 0e60b65f6c fallbackdir: Regenerate list
New list for all stable releases.

Closes #40447

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-08-11 09:07:05 -04:00
David Goulet 399518da02 relay: Reduce streaming compression ratio from HIGH to LOW
Fixes #40301

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-08-11 12:51:32 +00:00
David Goulet 70d8fb3eab relay: Reduce streaming compression ratio from HIGH to LOW
Fixes #40301

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-08-11 12:47:20 +00:00
Mike Perry 5c3021be85 Make inbuf and outbuf len check params const 2021-07-30 12:57:31 -04:00
Mike Perry a0368b3759 MAKEFILE: include new CC algs in makefile 2021-07-30 12:57:31 -04:00
Mike Perry ed1e91ffc2 TOR_NOLA: Implement a pure BDP tracking CC alg
How come no one ever named a congestion control algorithm after New Orleans?
2021-07-30 12:57:31 -04:00
Mike Perry 663cd052b5 TOR_VEGAS: Implement Prop#324 TOR_VEGAS. 2021-07-30 12:57:30 -04:00
Mike Perry 33cd92922a TOR_WESTWOOD: Implement Prop#324 TOR_WESTWOOD 2021-07-30 12:57:30 -04:00
Mike Perry 66f975e4e6 Prop#324: Free congestion control object on circ and cpath 2021-07-30 12:57:30 -04:00
Mike Perry 4d8c6d5701 Prop#324: Hook up CC window checks for relay cell packaging 2021-07-30 12:57:30 -04:00
Mike Perry 31fc7591a1 Prop#324: Hook up CC algs to main sendme callpoints 2021-07-30 12:57:30 -04:00
Mike Perry 802d7e22c5 Prop#324: Add congestion control state to structs 2021-07-30 12:57:30 -04:00
Mike Perry f1d0c2d826 Prop#324: Common RTT, BDP, and blocked channel signal support 2021-07-30 12:57:30 -04:00
George Kadianakis 4f68fe3e6c Merge branch 'vanguards-lite-dev-rebased' 2021-07-28 12:00:37 +03:00
George Kadianakis 72aa23a9fd circpad: Be smarter on when to send back STOP cells. 2021-07-22 15:03:56 +03:00
George Kadianakis 30a97d9bb3 Increase frequency of vg-lite callback to 15 minutes 2021-07-20 13:03:32 +03:00
Nick Mathewson 27d6b3ae7a Remove some needless includes 2021-07-12 15:53:56 -04:00
Nick Mathewson c63541a0b0 Remove fuzz_hexdigest.c: It is already covered by other fuzzers 2021-07-12 15:42:32 -04:00
Nick Mathewson 45bb6ae60b Merge remote-tracking branch 'tor-gitlab/mr/407' 2021-07-12 15:41:12 -04:00
Nick Mathewson a11a9bb3a0 test_hs_ob: initialize pointers to NULL
This is an attempt to fix CID 1486280, where coverity warns us that,
if the tests failed, we might free() an uninitialized pointer.
2021-07-12 15:04:43 -04:00
Nick Mathewson 1d9de2948b test_hs_control: initialize pointers to NULL
This is an attempt to fix CID 1486276, where coverity warns us that,
if the tests failed, we might free() an uninitialized pointer.
2021-07-12 14:59:29 -04:00
George Kadianakis 5949a70b58 Add stricter limits to the number of L2 nodes 2021-07-12 12:27:25 +03:00
George Kadianakis 7f701794e7 Add a switch to toggle the feature on/off 2021-07-12 12:22:58 +03:00