Commit Graph
25830 Commits
Author SHA1 Message Date
Nick Mathewson 7f9eaec538 Merge remote-tracking branch 'tor-github/pr/1862/head' 2020-04-24 08:14:59 -04:00
Nick Mathewson b2849f449b Merge branch 'maint-0.4.3' 2020-04-21 12:22:37 -04:00
teor 42507429ce channeltls: Stop truncating IPv6 in logs
Stop truncating IPv6 addresses and ports in channel and connection logs.

Fixes bug 33918; bugfix on 0.2.4.4-alpha.
2020-04-21 12:22:30 -04:00
teor e3b1e617ae test/channel: Fix a comment typo 2020-04-15 19:45:56 +10:00
Nick Mathewson 77e65076ab Merge remote-tracking branch 'tor-github/pr/1860/head' 2020-04-14 11:52:00 -04:00
teor a2daca594b core/or: Update file comment in connection_or.c
Fix a typo, and say "v3 (and later) handshake".

Comment-only change.
2020-04-14 14:55:37 +10:00
teor 8c55d34e0a core/or: Accurately log remote relay IPv6 addresses
Log IPv6 addresses on connections where this relay is the responder.

Previously, responding relays would replace the remote IPv6 address with
the IPv4 address from the consensus.

(The port is replaced with the IPv6 ORPort from the consensus, we will
resolve this issue in 33898.)

Fixes bug 33899; bugfix on 0.3.1.1-alpha.
2020-04-14 12:21:49 +10:00
teor 41fa07f751 core/or: Allow IPv6 connections to be canonical
Consider IPv6 addresses when checking if a connection is canonical.

In 17604, relays assumed that a remote relay could consider an IPv6
connection canonical, but did not set the canonical flag on their side
of the connection.

Fixes bug 33899; bugfix on 0.3.1.1-alpha.
2020-04-14 12:16:48 +10:00
teor ab8ff32bec core/or: Remove unused function prototype
Remove the unused function prototype for connection_or_get_for_extend().

There is no function implementation.

Part of 33817.
2020-04-14 10:37:20 +10:00
Nick Mathewson 2e80d7f193 bump to 0.4.3.4-rc-dev 2020-04-13 17:02:20 -04:00
Nick Mathewson e22a8d9c95 Merge branch 'maint-0.4.3' 2020-04-13 14:14:41 -04:00
Nick Mathewson 55cb6c3fcd Merge branch 'bug33545_043_squashed' into maint-0.4.3 2020-04-13 14:13:44 -04:00
George Kadianakis f2f718bca5 hs-v3: Change all-zeroes hard-assert to a BUG-and-err.
And also disallow all-zeroes keys from the filesystem; add a test for it too.
2020-04-13 14:13:33 -04:00
George Kadianakis 37bcc9f3d2 hs-v3: Don't allow registration of an all-zeroes client auth key.
The client auth protocol allows attacker-controlled x25519 private keys being
passed around, which allows an attacker to potentially trigger the all-zeroes
assert for client_auth_sk in hs_descriptor.c:decrypt_descriptor_cookie().

We fixed that by making sure that an all-zeroes client auth key will not be
used.

There are no guidelines for validating x25519 private keys, and the assert was
there as a sanity check for code flow issues (we don't want to enter that
function with an unitialized key if client auth is being used). To avoid such
crashes in the future, we also changed the assert to a BUG-and-err.
2020-04-13 14:13:33 -04:00
Neel Chauhan a638514783 Fix typo in router_build_fresh_unsigned_routerinfo() comment 2020-04-12 12:43:21 -07:00
Nick Mathewson 80031db32a Merge remote-tracking branch 'tor-github/pr/1801/head' 2020-04-09 11:50:20 -04:00
Nick Mathewson bfea7a7326 bump to 0.4.3.4-rc 2020-04-09 08:38:41 -04:00
Nick Mathewson 25729910af Merge branch 'maint-0.4.3' 2020-04-09 08:33:36 -04:00
Nick Mathewson c4da0a5094 Add fsync to list of syscalls permitted by sandbox
(Our fix for 33087 requires this, I believe.)
2020-04-09 08:33:19 -04:00
Nick Mathewson c2aea6134a Merge remote-tracking branch 'tor-github/pr/1723/head' into maint-0.4.3 2020-04-09 08:30:14 -04:00
Nick Mathewson 29693b83bc Make sure that we free 'addr' at the end of a pair of addr tests
Fixes a couple of Coverity warnings about possible memory leaks.
Bug not in any released Tor.
2020-04-09 07:54:23 -04:00
David Goulet cca9e1c803 hs-v3: Several fixes after #32542 review
asn: Accidentally left this commit out when merging #32542, so cherry-picking
it now.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-09 13:59:18 +03:00
teor f6efb3a184 Merge branch 'pr1854_squashed' into maint-0.4.3
Squashed PR 1854, and fixed a minor typo (IPv4 -> IPv6).
2020-04-09 11:05:59 +10:00
David Goulet cd2121a126 client: Revert setting PreferIPv6 on by default
This change broke torsocks that by default is expecting an IPv4 for hostname
resolution because it can't ask tor for a specific IP version with the SOCKS5
extension.

PreferIPv6 made it that sometimes the IPv6 could be returned to torsocks that
was expecting an IPv4.

Torsocks is probably a very unique case because the runtime flow is that it
hijacks DNS resolution (ex: getaddrinfo()), gets an IP and then sends it back
for the connect() to happen.

The libc has DNS resolution functions that allows the caller to request a
specific INET family but torsocks can't tell tor to resolve the hostname only
to an IPv4 or IPv6 and thus by default fallsback to IPv4.

Reverting this change into 0.4.3.x series but we'll keep it in the 0.4.4.x
series in the hope that we add this SOCKS5 extension to tor for DNS resolution
and then change torsocks to use that.

Fixes #33804

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-09 11:05:32 +10:00
teor 2d6f00e45b Merge branch 'maint-0.4.2' into maint-0.4.3 2020-04-09 11:03:34 +10:00
teor 2d7e08d57e Merge branch 'maint-0.4.1' into maint-0.4.2 2020-04-09 11:03:27 +10: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 cb262930f5 relay: Run "make autostyle"
But only take the changes from the relay module.

Part of 33633.
2020-04-09 11:00:04 +10:00
teor 00a45a900e test/circuitbuild: Add a test for onionskin_answer()
Part of 33633.
2020-04-09 11:00:04 +10:00
teor d79e5d52bc relay/circuitbuild: Refactor circuit_extend()
Make the "else" case explicit at the end of the function.

Part of 33633.
2020-04-09 11:00:04 +10:00
teor 6d75f3244f test/circuitbuild: Add tests for circuit_extend()
Part of 33633.
2020-04-09 11:00:04 +10:00
teor 2b66429fcf core/or: Make some functions mockable
Preparation for testing circuit_extend().

Part of 33633.
2020-04-09 11:00:04 +10:00
teor 8f3cbe755b channel: Rewrite the channel_get_for_extend() comments
Explain what the function does now.
Fix some typos.

Part of 33633.
2020-04-09 11:00:04 +10:00
teor 7bc3413322 test/circuitbuild: Add tests for open_connection_for_extend
Part of 33633.
2020-04-09 11:00:04 +10:00
teor 42fdbbb50b circuitbuild: Make some functions mockable
Part of 33633.
2020-04-09 11:00:04 +10:00
teor 46980d767d test/circuitbuild: Add tests for extend_lspec_valid
Part of 33633.
2020-04-09 11:00:04 +10:00
teor 327688b968 test/circuitbuild: Make some tests fork
Since we're testing IF_BUG_ONCE(), we need to fork.

Part of 33633.
2020-04-09 11:00:04 +10:00
teor cbfb826513 test/circuitbuild: Tests for adding ed25519 keys
Add tests for circuit_extend_add_ed25519_helper().

Part of 33633.
2020-04-09 11:00:04 +10:00
teor f8fef609f6 nodelist: Make some functions mockable
Part of 33633.
2020-04-09 11:00:04 +10:00
teor eb11c9d07c test/circuitbuild: Add a test for extend_state_valid
Part of 33633.
2020-04-09 11:00:04 +10:00
teor 7261078566 test/circuitbuid: Fix new_route_len_unhandled_exit
Make test_new_route_len_unhandled_exit more robust, by always tearing
down logs. (Rather than just tearing them down on success.)
2020-04-09 11:00:04 +10:00
teor 3334f63516 test/circuitbuild: Refactor test case array
Avoid repeating test names.

Part of 33633.
2020-04-09 11:00:04 +10:00
teor ec632b01db relay: End circuitbuild logs with "."
Consistent logs make testing easier.

Part of 33633.
2020-04-09 11:00:04 +10:00
teor 4f9f56be47 relay: Check for NULL arguments in circuitbuild
Part of 33633.
2020-04-09 11:00:04 +10:00
teor b10b287589 relay: Make circuitbuild functions STATIC
Allow the circuitbuild_relay functions to be accessed by the unit tests.

Part of 33633.
2020-04-09 11:00:04 +10:00
teor 44f634d0be relay: Remove a redundant function return value
Part of 33633.
2020-04-09 11:00:04 +10:00
teor ca9565b9f7 relay: Split out opening a connection for an extend
Part of 33633.
2020-04-09 11:00:04 +10:00
teor 2640030b10 relay: Refactor some long lines from circuit_extend()
Part of 33633.
2020-04-09 11:00:04 +10:00
teor 5cb2bbea7d relay: Split link specifier checks from circuit_extend()
Part of 33633.
2020-04-09 11:00:04 +10:00