teor
6c458d2d6e
log/util_bug: Make IF_BUG_ONCE() support ALL_BUGS_ARE_FATAL
...
... and DISABLE_ASSERTS_IN_UNIT_TESTS.
Make all of tor's assertion macros support the ALL_BUGS_ARE_FATAL and
DISABLE_ASSERTS_IN_UNIT_TESTS debugging modes.
Implements these modes for IF_BUG_ONCE(). (It used to log a non-fatal
warning, regardless of the debugging mode.)
Fixes bug 33917; bugfix on 0.2.9.1-alpha.
2020-04-29 22:43:09 +10:00
teor
16f3f6a1af
relay/circuitbuild: Re-use IPv6 connections for circuits
...
Search for existing connections using the remote IPv4 and IPv6
addresses.
Part of 33817.
2020-04-29 22:43:09 +10:00
teor
ec5f4f3c5a
relay/circuitbuild: Report IPv6 addresses in a debug log
...
Part of 33817.
2020-04-29 22:43:09 +10:00
teor
f8f688b309
channel: Make channel_matches_target_addr_for_extend() static
...
It isn't used outside channel.c.
Part of 33817.
2020-04-29 22:43:09 +10:00
teor
bad1181b5d
relay/circuitbuild: Consider IPv6-only extends valid
...
Allow extend cells with IPv6-only link specifiers.
Warn and fail if both IPv4 and IPv6 are invalid.
Also warn if the IPv4 or IPv6 addresses are unexpectedly internal,
but continue with the valid address.
Part of 33817.
2020-04-29 22:43:09 +10:00
teor
7cef02ec1f
test/circuitbuild: Show bad addresses in some logs
...
Disable SafeLogging for some extend tests, so we can check the actual
addresses.
Part of 33817.
2020-04-29 22:43:09 +10:00
teor
44f71e08c4
relay: Log the address in circuit protocol warnings
...
Always log the address family in extend protocol warnings.
If SafeLogging is 0, also log the address and port.
Diagnostics for 33817.
2020-04-29 22:43:09 +10:00
teor
a72e017e7f
net: Add fmt_addrport_ap() and fmt_addr_family()
...
Add fmt_addrport_ap(), a macro that takes a tor_addr_port_t, and uses
it to call fmt_addrport().
Add fmt_addr_family(), a function that returns a string constant
describing the address family.
Utility functions for 33817.
2020-04-29 22:43:09 +10:00
teor
e9d04b05c6
net: Remove an extra space in address.h
2020-04-29 22:43:09 +10:00
teor
ffc2fd001a
relay: Refactor address checks into a function
...
No behaviour change.
Part of 33817.
2020-04-29 22:43:09 +10:00
teor
07c008c672
relay: Refactor address and port checks
...
tor_addr_port_is_valid_ap(ap, 0) checks if the address or port are
zero, exactly like the previous code.
Preparation for 33817.
2020-04-29 22:43:09 +10:00
teor
587a7fbcf6
core/or: Check extends for zero addresses and ports
...
Check for invalid zero IPv4 addresses and ports, when sending and
receiving extend cells.
Fixes bug 33900; bugfix on 0.2.4.8-alpha.
2020-04-29 22:43:09 +10:00
teor
f6c8a8c538
test/cell_formats: Expand the IPv6-only EXTEND2 test
...
Part of 33901.
2020-04-29 22:43:09 +10:00
teor
bd6ab90ad4
core/or: Support IPv6 EXTEND2 cells
...
Allow clients and relays to send dual-stack and IPv6-only EXTEND2 cells.
Parse dual-stack and IPv6-only EXTEND2 cells on relays.
Relays do not make connections or extend circuits via IPv6: that's the
next step.
Closes ticket 33901.
2020-04-29 22:43:09 +10:00
Nick Mathewson
cbe9e56590
Merge remote-tracking branch 'tor-github/pr/1868/head'
2020-04-29 08:32:44 -04:00
teor
3253c357ee
Run "make autostyle"
2020-04-29 22:08:33 +10:00
teor
6eec43161a
rand: Clarify the crypto_rand_uint() range
2020-04-29 21:50:37 +10:00
teor
398e0e0247
nodelist: Remove an outdated comment
...
Part of 33817.
2020-04-29 21:50:26 +10:00
teor
7517e1b5d3
channeltls: Clarify a relay impersonation defence
...
Clarify the comments in channel_tls_matches_target_method(), and make
it clear that the attack is a covert attack.
2020-04-28 21:11:10 +10:00
Nick Mathewson
4dd4dbf046
Merge remote-tracking branch 'onionk/inbufoverflow1-043' into ticket33131_044
2020-04-24 08:15:53 -04:00
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
f5c34d340d
Run practracker regen
...
Lock-in improvements.
Accept some small function size increases.
Allow a small amount of extra file size increase.
2020-04-14 15:42:52 +10: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
202a57e458
Merge branch 'maint-0.4.3'
...
"ours" to avoid version bump.
2020-04-13 17:02:38 -04:00
Nick Mathewson
2e80d7f193
bump to 0.4.3.4-rc-dev
2020-04-13 17:02:20 -04:00
Nick Mathewson
e96bd196aa
copy 0.4.3.4-rc changelog forward.
2020-04-13 17:01:35 -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
8e59b8560a
Return a descriptive error for 'GETINFO status/fresh-relay-descs'
2020-04-12 13:13:50 -07: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
11fbd1f064
Merge branch 'maint-0.4.3'
...
"ours" to avoid version bump
2020-04-09 08:38:59 -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
f431b78465
Merge branch 'maint-0.4.3'
...
"ours" merge, because we only want to remove check-best-practices
from check-local in 0.4.2 and 0.4.3.
2020-04-09 19:42:36 +10:00
teor
1ae0839ef2
Merge branch 'maint-0.4.2' into maint-0.4.3
...
Remove check-best-practices from check-local in maint-0.4.3.
(The check-local jobs are all on separate lines in 0.4.3.)
2020-04-09 19:41:19 +10:00
Nick Mathewson
2d34d4d1af
remove practracker from check-local (0.4.2 and 0.4.3 only)
...
practracker shouldn't be running in release or maint branches.
2020-04-09 19:39:28 +10:00