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
teor
2563d74a5c
relay: Split state checks out of circuit_extend()
...
Part of 33633.
2020-04-09 11:00:04 +10:00
teor
beee9ca608
relay: Improve the comments on onionskin_answer()
...
Part of 33633.
2020-04-09 11:00:04 +10:00
teor
c9b674d511
relay: Protocol warn when a client gets an extend
...
circuit_extend() may be called when a client receives an extend cell,
even if the relay module is disabled.
Log a protocol warning when the relay module is disabled.
Part of 33633.
2020-04-09 10:59:51 +10:00
Roger Dingledine
9bd73da7cf
fix typos from #32542
2020-04-08 19:13:52 -04:00
George Kadianakis
7a82c972ef
Merge branch 'tor-github/pr/1857'
2020-04-08 18:15:37 +03:00
David Goulet
9b72a561f5
test: Unit test for missing ExtendedErrors
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-08 18:15:21 +03:00
David Goulet
c1bf819a31
Merge branch 'maint-0.4.3'
2020-04-08 09:42:13 -04:00
Mrigyen Sawant
34faee0600
Correct 'was not internal' to 'was internal' in test_external_ip()
2020-04-08 09:41:58 -04:00
George Kadianakis
0b0b8a5b6d
Merge branch 'tor-github/pr/1855'
2020-04-08 16:31:37 +03:00
David Goulet
6ab11bbf30
hs-v3: Report SOCKS ExtendedErrors when all intro timed out
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-08 07:56:54 -04:00
David Goulet
cf39276f78
hs-v3: Report rendezvous circuit failure SOCKS ExtendedErrors
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-08 07:56:54 -04:00
David Goulet
fdd6352506
hs-v3: Report introduction failure SOCKS ExtendedErrors
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-08 07:56:54 -04:00
teor
1720a2191d
address: Simplify tor_addr_is_valid()
...
And rewrite the function comment.
Part of 33679.
2020-04-07 23:11:17 +05:30
MrSquanchee
cbd3f88831
Added tests for tor_addr_is_null/valid()
...
Added tests for tor_addr_is_valid(),
and added tests for tor_addr_is_null(),
which is not modfied.
Ticket 33679
2020-04-07 23:11:17 +05:30
David Goulet
6fbf624b50
hs-v3: Fix typo in log info when PublishHidServDescriptors is set to 0
...
Fixes #33779
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-07 13:17:21 -04:00
teor
065ccda4f6
Merge branch 'pr1838_squashed'
2020-04-07 17:36:17 +10:00
Nick Mathewson
9b434b79ce
Add a test script to check subsystem order as part of make check.
2020-04-07 17:35:51 +10:00
teor
00ce25a720
channel: Fix a comment typo
2020-04-06 19:10:30 +10:00
teor
6df16022a1
channel: Remove a newline at the start of the file
2020-04-06 19:08:33 +10:00
teor
1e75974362
core/or: Fix a comment typo in onion.h
...
Comment-only change.
2020-04-04 15:05:34 +10:00
teor
a84fd949ed
Merge branch 'maint-0.4.3'
2020-04-04 13:23:56 +10:00
Putta Khunchalee
f43a841d94
Change starting file descriptor for tests.
2020-04-03 16:47:38 +07:00
David Goulet
eecf6c5199
hs-v3: Move to log notice the registration of an OB instance
...
This is to allow a visual feedback in the logs for operators setting up Onion
Balance so they can confirm they properly configured the instances.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-04-01 08:31:20 -04:00
David Goulet
b5412d12f9
Merge branch 'tor-github/pr/1844'
2020-04-01 08:22:36 -04:00
Steven Engler
cc5319bf8e
Updated the TestingTorNetwork man page options
...
Updated 'doc/tor.1.txt' to match 'src/app/config/testnet.inc'.
2020-04-01 01:00:09 -04:00
teor
f863954f1e
Move LOG_PROTOCOL_WARN to app/config.h
...
LOG_PROTOCOL_WARN was in core/or.h, but the function it depends on is in
app/config.h. Put them in the same header, to reduce dependencies.
Part of 33633.
2020-04-01 09:17:18 +10:00
George Kadianakis
8fda94f944
hs-v3: Move ob_subcreds to hs_service_state_t.
...
It's more natural there since it's runtime state.
2020-03-30 23:37:26 +03:00
George Kadianakis
0667a5af8d
hs-v3: Don't crash after SIGHUP in Onionbalance backend mode.
...
The ob_subcreds array was not copied after SIGHUP, and that left the
post-SIGHUP service with a NULL ob_subcreds pointer (until the next descriptor
gets build where we regenerate ob_subcreds in hs_ob_refresh_keys()).
Fixes bug #33762 ; not in any released tor version.
2020-03-30 23:35:19 +03:00
David Goulet
ca8e6451f2
Merge branch 'maint-0.4.3'
2020-03-30 13:38:58 -04:00
George Kadianakis
42e56f5bac
hs-v3: Relax severity of a log message when decoding descriptors.
...
Make it LOG_PROTOCOL_WARN and also add the expiration timestamp in there to
ease debugging in the future.
2020-03-30 13:38:29 -04:00
David Goulet
27e2989fe9
Merge branch 'tor-github/pr/1775'
2020-03-30 13:31:56 -04:00
Nick Mathewson
0dc25a4b66
Use a macro to make our hs_opts checking terser.
2020-03-30 13:31:44 -04:00
Nick Mathewson
84868109d2
Use SECTION_HEADER, not "HiddenServiceDir".
...
Add a nonfatal assertion about a branch that should be unreachable.
2020-03-30 13:31:44 -04:00
Nick Mathewson
8aacd78e14
Update expected log messages in tests to new format.
2020-03-30 13:31:44 -04:00
Nick Mathewson
d421050f3a
Derive hidden service configuration from hs_opts_t.
...
This simplifies our parsing code by about 150 lines, and makes the
functions more straightforward.
2020-03-30 13:31:44 -04:00
Nick Mathewson
cfaf1bca98
Start using confmgt logic to parse HS configuration.
...
This patch doesn't actually use the results of the parsed object to
create the service configuration: subsequent patches will do
that. This patch just introduces the necessary configuration tables
and starts using them to validate the configuration.
As of this writing, this patch breaks tests. I'll likely fix that
in a rebase later on: the current error messages for failures to
parse options are a regression, so I've opened #33640 for that.
2020-03-30 13:31:44 -04:00
Nick Mathewson
43b578e099
Use config_lines_partition() to parse hs config sections.
2020-03-30 13:31:44 -04:00
Roger Dingledine
3a0f200505
fix typo in struct addr_policy_t comment
2020-03-27 03:48:15 -04:00
Roger Dingledine
46f4f82ac9
correct tor_addr_family() function comment
...
kind of a losing game to remember to update that comment when
we add another possible family, but hey, maybe it will be a while
until we add one more.
2020-03-27 03:46:54 -04:00
Roger Dingledine
f8ecf01cc1
spell consensus more right in comments
2020-03-27 02:56:59 -04:00
Roger Dingledine
a4304c6031
fix typo in log message
2020-03-27 02:51:01 -04:00
Nick Mathewson
ac72ecd581
Add --dbg-dump-subsystem-list command to list the subsystems.
...
I'm prefixing this with --dbg-* because it is not meant to be used
externally.
2020-03-26 12:17:28 -04:00
Nick Mathewson
8f49943459
Implement a function to list the subsystems to stdout.
2020-03-26 11:20:20 -04:00
Nick Mathewson
3f6e37b1bc
Add a SUBSYS_DECLARE_LOCATION() to every subsystem.
2020-03-26 11:20:20 -04:00
Nick Mathewson
53d74c0954
Add a "location" field for subsystems to declare which file they are in.
2020-03-26 11:20:20 -04:00
Nick Mathewson
e7290dc8c0
Merge remote-tracking branch 'tor-github/pr/1780/head'
2020-03-26 10:38:08 -04:00
David Goulet
cf58b0b369
Merge branch 'maint-0.4.3'
2020-03-26 09:15:01 -04:00
David Goulet
e472737297
Merge branch 'tor-github/pr/1794' into maint-0.4.3
2020-03-26 09:14:25 -04:00
Nick Mathewson
2eb78e2061
Merge branch 'bug33651'
2020-03-25 10:38:01 -04:00
cypherpunks
64a934ff05
buf: use BUF_MAX_LEN
2020-03-24 05:56:43 +00:00
cypherpunks
9e988406c7
net, tls: use BUF_MAX_LEN
2020-03-24 05:56:15 +00:00
cypherpunks
9ce9513898
buf: use INT_MAX - 1 in checks
...
No functionality change.
2020-03-24 05:55:34 +00:00
cypherpunks
bb3eda8617
net, tls: use INT_MAX - 1 in checks for buf_t
...
No functionality change.
2020-03-24 05:54:37 +00:00
cypherpunks
f46b9320ae
buf: add BUF_MAX_LEN
2020-03-24 05:53:01 +00:00
cypherpunks
d3ded1cc1c
Merge branch 'maint-0.4.3'
2020-03-24 05:51:12 +00:00
cypherpunks
84fe1c891b
core/mainloop: remove noisy logging
2020-03-24 05:19:27 +00:00
cypherpunks
fd3e0c1542
core/mainloop: Limit growth of conn->inbuf
...
If the buf_t's length could potentially become greater than INT_MAX - 1,
it sets off an IF_BUG_ONCE in buf_read_from_tls().
All of the rest of the buffers.c code has similar BUG/asserts for this
invariant.
2020-03-24 05:19:24 +00:00
George Kadianakis
a4d60ff854
Merge branch 'maint-0.4.3'
2020-03-23 16:57:27 +02:00
George Kadianakis
29420ab396
Merge branch 'tor-github/pr/1788' into maint-0.4.3
2020-03-23 16:56:59 +02:00
Nick Mathewson
a0efba9bd0
Merge remote-tracking branch 'tor-github/pr/1797/head'
2020-03-23 09:05:45 -04:00
teor
1d22411cea
Add some comments about future relay IPv6 work
...
Comments about 33681.
2020-03-21 04:07:17 +10:00
teor
e0eec3bf29
parseconf: Add ORPort and DirPort auto tests
...
These tests don't actually trigger bug 32588, but they do increase
the coverage of the auto port config code.
Tests for 32588.
2020-03-21 04:07:03 +10:00
teor
4b914dea02
Merge branch 'bug32588_043' into bug32588_master
2020-03-21 04:02:08 +10:00
teor
52f61ec83e
Merge branch 'bug32588_042' into bug32588_043
...
Merge static function declaration deletions from bug32588_042 and
maint-0.4.3 in app/config/config.c.
2020-03-21 04:01:00 +10:00
teor
5e2f31f177
Merge branch 'bug32588_041' into bug32588_042
2020-03-21 03:52:32 +10:00
teor
2962c32b7a
Merge branch 'bug32588_035' into bug32588_041
...
Merge tests from maint-0.4.1 with new tests from bug32588_035
in test_router.c.
2020-03-21 03:50:36 +10:00
Nick Mathewson
96ca14d989
Add a test for the localhost case.
2020-03-21 03:44:01 +10:00
Nick Mathewson
1251265a0f
Extend test to handle router_get_advertised_ipv6_or_ap
2020-03-21 03:43:58 +10:00
Nick Mathewson
1ba79d4567
Add a test for router_get_advertised_or_port_by_af().
2020-03-21 03:43:55 +10:00
Nick Mathewson
6ffe073db7
Add tests for get_first_advertised_{addr,port}_by_type_af()
2020-03-21 03:43:52 +10:00
teor
bac8bc0ff1
router: Refactor IPv6 ORPort function logic
...
Return early when there is no suitable IPv6 ORPort.
Show the address and port on error, using a convenience function.
Code simplification and refactoring.
Cleanup after 32588.
2020-03-21 03:43:48 +10:00
teor
861337fd6d
router: Stop advertising incorrect auto IPv6 ORPorts
...
When IPv6 ORPorts are set to "auto", tor relays and bridges would
advertise an incorrect port in their descriptor.
This may be a low-severity memory safety issue, because the published
port number may be derived from uninitialised or out-of-bounds memory
reads.
Fixes bug 32588; bugfix on 0.2.3.9-alpha.
2020-03-21 03:36:39 +10:00
teor
f9fef2633f
relay: Set some output arguments in stubs
...
Fixes part of bug 33674; not in any released version of tor.
2020-03-21 02:48:40 +10:00
Nick Mathewson
3e24bd5557
Merge branch 'maint-0.4.3'
2020-03-20 07:56:42 -04:00
teor
d4a74021e5
relay/dirauth: Set some output arguments in stubs
...
And document how some functions set their output arguments.
Fixes bug 33674; bugfix on 0.4.3.1-alpha.
2020-03-20 07:56:26 -04:00
Nick Mathewson
c478dc9b2f
Set *have_low_ports_out from stub port_parse_ports_relay().
...
Previously we just ignored this option, which would leave it unset,
and cause an assertion failure later on when running with the User
option.
Fixes bug 33668; bugfix on 0.4.3.1-alpha.
2020-03-20 07:56:26 -04:00
teor
81687f5bc9
relay: Split out relay-only circuit building
...
Move the relay-only circuit building functions into a new file.
Part of 33633.
2020-03-20 18:05:10 +10:00
teor
fdba6ff0c0
relay: Move inform_testing_rechability() to relay
...
Move inform_testing_rechability() to the relay module, and disable it
when the relay module is disabled.
Part of 33633.
2020-03-20 18:05:10 +10:00
teor
07280c567e
relay: Re-order selftest header
...
The selftest header declares functions, and stubs for when the relay
module is disabled. Put the functions and stubs in the same order.
Part of 33633.
2020-03-20 18:05:10 +10:00
teor
2f1f3b1702
Merge branch 'maint-0.4.3'
2020-03-20 15:40:39 +10:00
teor
250b8499b8
dirauth: Remove a duplicate macro definition
...
Obviously correct changes to already-reviewed code.
2020-03-20 15:39:55 +10:00
teor
4bb06cae26
Merge branch 'maint-0.4.3'
2020-03-20 11:25:04 +10:00
teor
eb2d08a72c
Merge branch 'maint-0.4.2' into maint-0.4.3
2020-03-20 11:24:57 +10:00
teor
3aa855dc68
Merge branch 'maint-0.4.1' into maint-0.4.2
2020-03-20 11:24:51 +10:00
Nick Mathewson
42ea03eb7f
Merge branch 'ticket33643_skip_035' into ticket33643_skip_041
2020-03-19 18:38:18 -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
Neel Chauhan
52b4b7e492
Fix erroneous spaces in circuitmux_ewma.c
2020-03-19 13:18:26 -07:00
George Kadianakis
dccac40e69
Merge branch 'tor-github/pr/1778'
2020-03-19 17:16:00 +02:00
Nick Mathewson
9bcd7e5939
Actually log post-bootstrap directory dl totals.
...
Fixes bug 33651; bug not in any released Tor.
2020-03-19 08:08:58 -04:00
Nick Mathewson
4f596b3edf
Merge remote-tracking branch 'tor-github/pr/1807/head'
2020-03-19 08:02:09 -04:00
George Kadianakis
e8f0860557
Merge branch 'tor-github/pr/1792'
2020-03-19 13:43:49 +02:00
David Goulet
4dbbe47d86
hs-v3: Improve accessor semantic of client cached object
...
Add an inline helper function that indicates if the cached object contains a
decrypted descriptor or not.
The descriptor object is NULL if tor is unable to decrypt it (lacking client
authorization) and some actions need to be done only when we have a decrypted
object.
This improves code semantic.
Fixes #33458
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-19 13:43:39 +02:00
teor
c862205ba5
coverity: Silence spurious unreachable warning
...
Closes bug 33641; not in any released version of tor.
2020-03-19 17:11:13 +10:00
teor
fe5ecaa270
Merge branch 'maint-0.4.3'
2020-03-19 17:02:02 +10:00
teor
259fad5877
Merge remote-tracking branch 'tor-github/pr/1806' into maint-0.4.3
2020-03-19 16:56:49 +10:00
Roger Dingledine
987247bd76
fix typo in comment
2020-03-19 00:41:57 -04:00
Nick Mathewson
a17f4b11b4
Bump version to 0.4.2.7-dev
2020-03-18 12:16:11 -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
7059c32968
Merge branch 'maint-0.4.3'
2020-03-18 08:20:38 -04:00
Nick Mathewson
84f57b69f3
Merge branch 'maint-0.4.2' into maint-0.4.3
2020-03-18 08:20:16 -04:00
Nick Mathewson
758deaa472
Merge branch 'maint-0.4.1' into maint-0.4.2
2020-03-18 08:20:16 -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
3d8c97a988
Merge branch 'maint-0.4.3'
2020-03-17 15:22:36 -04:00
Nick Mathewson
e0d68ce84f
Merge branch 'maint-0.4.2' into maint-0.4.3
2020-03-17 15:22:36 -04:00
Nick Mathewson
85141a3a74
Merge branch 'maint-0.4.1' into maint-0.4.2
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
d4595b344a
Merge branch 'maint-0.4.3'
2020-03-17 13:56:10 -04:00
Nick Mathewson
6803373aab
Merge branch 'maint-0.4.2' into maint-0.4.3
2020-03-17 13:56:10 -04:00
Nick Mathewson
4ee2699416
Merge branch 'maint-0.4.1' into maint-0.4.2
2020-03-17 13:56:10 -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
d3c4ed08f1
Merge branch 'maint-0.4.3'
2020-03-17 11:53:24 -04:00
Nick Mathewson
bc4c89eb2f
Split a wide line.
2020-03-17 11:53:01 -04:00
Nick Mathewson
7cd4dcf5a6
Merge branch 'maint-0.4.3'
2020-03-17 11:48:45 -04:00
George Kadianakis
5ff8757aa8
Add unittest for TROVE-2020-003.
...
This unittest currently fails on purpose (to demonstrate the bug) but it will
stop failing after the next commit (the bugfix).
2020-03-17 11:48:36 -04:00
Nick Mathewson
270fe01557
Merge branch 'maint-0.4.3'
2020-03-17 11:47:35 -04:00
Nick Mathewson
e15a621ac8
Merge branch 'maint-0.4.1' into maint-0.4.2
2020-03-17 11:45:16 -04:00
Nick Mathewson
5f4e14b8c8
Merge branch 'maint-0.3.5' into maint-0.4.1
2020-03-17 11:45:16 -04:00
Nick Mathewson
bbc80ea042
Merge branch 'maint-0.4.2' into maint-0.4.3
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
David Goulet
ee3e987898
sendme: Emit version 1 by default
...
Closes #33623
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-17 10:14:57 -04:00
teor
44f92e8e42
Merge remote-tracking branch 'tor-github/pr/1784'
2020-03-17 23:11:31 +10:00
teor
0fa1d8ef92
Merge branch 'pr1777_squashed'
2020-03-17 21:08:45 +10:00
rl1987
5675cbd4c7
Conditionally disable part of hs_intropoint/introduce1_validation
...
This makes it not fail when ALL_BUGS_ARE_FATAL is enabled. Fixes bug 33546.
2020-03-17 21:08:16 +10:00
rl1987
4ab20b4f63
Conditionally disable part of dir/param_voting_lookup that expects soft asserts to happen
2020-03-17 21:08:13 +10:00
rl1987
752122b2e9
Try fixing Windows build to work with ALL_BUGS_ARE_FATAL
2020-03-17 21:08:10 +10:00
teor
9c73f5adc4
Run "make autostyle"
2020-03-17 18:19:04 +10: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
Nick Mathewson
49eec76c5e
Merge branch 'maint-0.4.3'
2020-03-16 12:21:57 -04:00
Nick Mathewson
855cd533e1
Merge branch 'ticket32672_042_squashed_w_test' into maint-0.4.3
2020-03-16 12:21:49 -04:00
Nick Mathewson
612c40bc39
Adjust unit tests for patch for 32672 (rejecting old version)
...
Patch by Neel Chauhan.
2020-03-16 10:42:40 -04:00
Nick Mathewson
452398913a
Merge branch 'ticket32672_041_squashed' into ticket32672_042_squashed_w_test
2020-03-16 10:40:55 -04:00
Neel Chauhan
460b97380b
Reject 0.2.9 and 0.4.0 in dirserv_rejects_tor_version()
2020-03-16 10:40:14 -04: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
MrSquanchee
1a9cbc5bb4
Get all default flags from port_cfg_new()
...
Now port_cfg_new() returns all default flags and
port_parse_config() acts on defaults returned by port_cfg_new()
that is uses the default port_cfg_t object returned by port_cfg_new()
and modifies them later according to the port specifications in
configuration files
Might close tor#32994.
2020-03-14 20:18:42 +10: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
2c1a49c464
Bump to 0.4.2.7.
2020-03-13 16:56:06 -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
6ed2c9e5fa
Merge branch 'maint-0.4.1' into maint-0.4.2
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
Nick Mathewson
b504942331
Merge remote-tracking branch 'tor-github/pr/1718/head' into maint-0.4.2
2020-03-13 16:42:47 -04:00
teor
9cf7839df7
config: Improve some comments
...
Document the namelen argument to port_cfg_new().
Fix a typo in a comment in port_cfg_line_extract_addrport().
Comment-only changes.
2020-03-13 18:53:48 +10:00
teor
cc2fb91ea5
connection: Stop forcing some ports to prefer IPv6
...
Stop forcing all non-SOCKSPorts to prefer IPv6 exit connections.
Instead, prefer IPv6 connections by default, but allow users to change
their configs using the "NoPreferIPv6" port flag.
Fixes bug 33608; bugfix on 0.4.3.1-alpha.
2020-03-13 12:28:19 +10:00
Nick Mathewson
8bc4822ba6
Merge branch 'maint-0.4.3'
2020-03-12 13:45:06 -04:00
Nick Mathewson
3e42004e54
Merge branch 'ticket33361_035_01_squashed' into maint-0.4.3
2020-03-12 13:42:42 -04:00
Nick Mathewson
8dc7ad1275
Fix unit tests that look at contactinfo logs.
2020-03-12 13:42:17 -04:00
Nick Mathewson
9ca7900e17
Merge branch 'maint-0.4.3'
2020-03-12 12:46:12 -04:00
Nick Mathewson
e03bb35f90
Merge branch 'ticket33361_035_01_squashed' into maint-0.4.3
...
Conflicts:
src/app/config/config.c
2020-03-12 12:45:56 -04:00
David Goulet
b755a489bd
config: Warn if ContactInfo is not set
...
Closes #33361
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-12 12:43:00 -04:00
Nick Mathewson
eed196f122
Merge branch 'bug33032_042' into bug33032_043
2020-03-11 10:35:47 -04:00
Nick Mathewson
554b805093
Merge branch 'bug33032_041' into bug33032_042
2020-03-11 10:35:47 -04:00
Nick Mathewson
55055396cc
Merge branch 'maint-0.4.1' into bug33032_041
2020-03-11 10:35:46 -04:00
Nick Mathewson
5721ec22d8
pem_decode(): Tolerate CRLF line endings
...
Fixes bug 33032; bugfix on 0.3.5.1-alpha when we introduced our own
PEM decoder.
2020-03-11 10:35:17 -04:00
David Goulet
df3f2bd9aa
hs-v3: Log reasons why service can't upload descriptor
...
When a service can not upload its descriptor(s), we have no logs on why. This
adds logging for each possible reason for each descriptors.
That logging is emitted every second so it is rate limited for each reason and
per descriptor.
Closes #33400
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-11 15:32:11 +02: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
Nick Mathewson
f0646919af
Bump to 0.4.3.3-alpha.
2020-03-10 10:28:09 -04:00
David Goulet
05aab3fd21
Merge branch 'maint-0.4.3'
2020-03-10 09:14:44 -04:00
rl1987
f89c32ccd0
Document poll_interval_tv in procmon.c
2020-03-10 09:13:22 -04:00
David Goulet
2d53168511
Merge branch 'tor-github/pr/1723'
2020-03-09 10:36:05 -04:00
Steven Engler
4b964ef5b2
Update comment in router_differences_are_cosmetic()
...
Descriptor differences are cosmetic if 2 hours has passed,
not 12 hours (see ticket 33573).
2020-03-09 10:13:36 -04:00
David Goulet
6684c6e17f
Merge branch 'tor-github/pr/1751'
2020-03-09 09:33:05 -04:00
Neel Chauhan
7d673e70b0
Remove the ClientAutoIPv6ORPort option
2020-03-09 09:33:00 -04:00
Neel Chauhan
53e2292c05
Space out the line.key/line.value in test_policy_summary_helper_family_flags()
2020-03-08 17:12:28 -07:00
rl1987
dcb75f00e1
Disable parts of test_protover_all_supported() that cause fatal exceptions when ALL_BUGS_ARE_FATAL
2020-03-06 19:25:54 +02:00
rl1987
0732513f16
Also skip dir/purpose_needs_anonymity_returns_true_by_default when ALL_BUGS_ARE_FATAL
2020-03-06 19:25:54 +02:00
rl1987
3db65bc218
Skip test_new_route_len_unhandled_exit() when ALL_BUGS_ARE_FATAL
2020-03-06 17:55:21 +02:00
Nick Mathewson
9dc946ba67
Add a config_lines_partition() function to help with LINELIST_V.
...
This function works a little bit like strsep(), to get a chunk of
configuration lines with a given header. We can use this to make
hidden service config easier to parse.
2020-03-05 10:13:50 -05:00
Nick Mathewson
ba8d71d9c3
Merge remote-tracking branch 'tor-github/pr/1774/head'
2020-03-05 09:10:24 -05:00
Nick Mathewson
8e5c75e896
Merge remote-tracking branch 'tor-github/pr/1772/head'
2020-03-05 09:09:16 -05:00
Nick Mathewson
7177eeddf1
Merge branch 'maint-0.4.3'
2020-03-05 08:48:40 -05:00
Nick Mathewson
686494f0f7
Merge branch 'clang_format_prep_3'
2020-03-05 08:23:32 -05:00
Roger Dingledine
29542ccdcc
Remove surprising empty line in info-level cbt log
...
Fixes bug 33531; bugfix on 0.3.3.1-alpha.
2020-03-04 13:45:34 -05:00
George Kadianakis
edc0bf5089
Merge branch 'tor-github/pr/1763'
2020-03-03 14:35:31 +02:00
Nick Mathewson
a5bc08579f
shared_random: Improve fallback for client no-live-consensus case.
...
In this case, when we're looking for the voting interval, we should
try looking at the _latest_ consensus if we have one. When we're
looking for the start of the current voting period, we can use our
existing fallback logic without complaint, since the voting interval
code will already have given us a reasonable voting interval, and we
want to have a round starting time based on the current time.
2020-03-03 14:35:01 +02:00
Nick Mathewson
9a7b10e23f
Comment updates from review.
2020-03-03 14:35:01 +02:00
Nick Mathewson
1b66b39699
Make voting_schedule.h work correctly when dirauth-mode is disabled.
2020-03-03 14:35:01 +02:00
Nick Mathewson
9fb18756df
Stop using all dirauth-only options in shared_random_client.c
...
This is not as clean a patch as I would like: see the comment on
ASSUME_AUTHORITY_SCHEDULING. This issue here is that the unit tests
sometimes assume that we are going to be looking at the dirauth
options and behaving like a dirauth, but without setting the options
to turn is into one.
This isn't an issue for actually running Tor, as far as I can tell
with chutney.
2020-03-03 14:35:01 +02:00
Neel Chauhan
2ef2fef711
Correct spacing in dns_launch_correctness_checks()
2020-02-26 15:48:45 -08:00
Nick Mathewson
6472d9cfdf
Run "make autostyle"
2020-02-26 16:45:33 -05:00
Nick Mathewson
2c792d1e0e
In typed_var_kvassign, include config names in error messages.
...
This should improve the usability of our configuration error messages.
2020-02-26 14:18:40 -05:00
Nick Mathewson
7e7aff9b6a
confmgt: when a units value is invalid, include a meaningful error.
...
Part of 33460.
2020-02-26 13:03:10 -05:00
Nick Mathewson
b133325a3e
confmgt: when an int/enum value is invalid, say which values are ok.
...
Part of 33460.
2020-02-26 13:02:28 -05:00
Nick Mathewson
11adf0f46f
Merge remote-tracking branch 'tor-github/pr/1750/head'
2020-02-25 12:58:23 -05:00
Nick Mathewson
7777f1df49
Dirauth-specific function to get voting interval.
2020-02-24 10:55:06 -05:00
Nick Mathewson
d865a50296
Extract most of dirauth_sched_get_next_valid_after_time()
...
Most of this function was about recreating a voting schedule on
demand if it didn't exist yet or was not up-to-date. I've made that
into its own function.
2020-02-24 10:13:07 -05:00
Nick Mathewson
4fb6d8675f
Rename voting_schedule_*() functions.
...
This is an automated commit, generated by this command:
./scripts/maint/rename_c_identifier.py \
voting_schedule_recalculate_timing dirauth_sched_recalculate_timing \
voting_schedule_get_start_of_next_interval voting_sched_get_start_of_interval_after \
voting_schedule_get_next_valid_after_time dirauth_sched_get_next_valid_after_time
2020-02-24 10:07:09 -05:00
Nick Mathewson
b7ba558f56
Move one voting schedule fn into networkstatus.c
...
The 'voting_schdule_get_start_of_next_interval' function isn't
actually dirauth-specific.
2020-02-24 10:04:01 -05:00
Nick Mathewson
e1cf10ceb7
Move voting_schedule.[ch] to src/feature/dirauth/
2020-02-24 10:00:51 -05:00
Nick Mathewson
d4d5d9d1d1
Merge branch 'ticket33316_squashed'
2020-02-24 07:49:45 -05:00
Nick Mathewson
e067cb426a
Move process subsystem after evloop.
...
Process uses evloop, and so should be initialized after it.
2020-02-24 07:49:39 -05:00
Nick Mathewson
63b7dabdea
Merge ocirc and orconn events into or subsystem.
...
Pubsub events are not supposed to have their own subsystems; they're
supposed to be part of a parent subsystem.
2020-02-24 07:49:39 -05:00
Nick Mathewson
2e5d555c0e
Initialize all subsystems during the unit tests
...
Previously we had initialized only the library subsystems. This
made it hard to write some tests, and encouraged people to put their
subsystems at a level lower than they really belonged at. Instead,
it probably just makes sense to initialize everything before we
start the tests.
Without this fix, 33316 breaks our tests because of raising the
level of the ocirc/orconn events.
2020-02-24 07:49:39 -05:00
Nick Mathewson
90524de0b2
Move winprocess_sys into a new low-level hardening module
...
This code was in our process module, but it doesn't belong there:
process is for launching and monitoring subprocesses, not for
hardening the current process.
This change lets us have our subsystem init order more closely match
our dependency order.
2020-02-24 07:49:39 -05:00
Nick Mathewson
caa392a73a
Merge remote-tracking branch 'tor-github/pr/1685/head'
2020-02-24 07:45:20 -05:00
George Kadianakis
93cb8072be
Final touches to #32709 based on Nick's feedback.
...
- Fix a bug and add unittest.
- Add changes file.
- Add man page entry.
2020-02-24 12:15:35 +02:00
Nick Mathewson
84f2e28204
Use PRIu64 and TOR_PRIuSZ, to fix 32-bit build error.
2020-02-20 20:49:38 -05:00
Nick Mathewson
ce9eeefbcc
Make direclient_dump_total_dls() respect SafeLogging and pass tests.
...
Don't dump totals with anonymous purposes. Additionally, don't dump
headers that have nothing underneath them.
2020-02-20 12:26:32 -05:00
Nick Mathewson
66bbdadbbe
Merge branch 'extract_routerkeys_squashed'
2020-02-20 10:41:12 -05:00
Nick Mathewson
1d068625dd
Move relay_handshake.[ch] into src/feature/relay, and make it optional
2020-02-20 10:41:06 -05:00
Nick Mathewson
e425ffc637
Disable routerkeys.c with --disable-relay-mode.
2020-02-20 10:41:06 -05:00
Nick Mathewson
09fb7987c5
Merge branch 'maint-0.4.3'
2020-02-20 08:50:18 -05:00
Nick Mathewson
f733b8acd6
Merge remote-tracking branch 'tor-github/pr/1719/head' into maint-0.4.3
2020-02-20 08:48:17 -05:00
Nick Mathewson
d559ca3d5a
Move router_reset_reachability() into correct header, add a stub
...
Without this, -O0 builds fail, which is a sign that LTO builds may
fail too.
2020-02-20 08:36:40 -05:00
Nick Mathewson
5149c100ed
run "make autostyle"
2020-02-20 08:33:40 -05:00
Nick Mathewson
b9cc4cc50a
Merge branch 'ticket4631_squashed'
2020-02-20 08:17:47 -05:00
teor
bed3b292ad
dirvote: Improve the posted vote log message
...
Cleanup after 4631.
2020-02-20 08:17:37 -05:00
Nick Mathewson
dd4fa9b468
Extract relay-only handshake code into its own file.
...
This is not the only relay-only handshake code, but it is most of
such code that is in connection_or.c.
2020-02-19 19:11:57 -05:00
Nick Mathewson
a65efa7e83
Merge branch 'extract_relay_dns'
2020-02-19 13:58:53 -05:00
Nick Mathewson
65b75ef3d5
Merge branch 'extract_ext_orport'
2020-02-19 13:55:18 -05:00
Nick Mathewson
defd941fe7
Make dns_cancel_pending_resolve() STATIC.
...
It is not called by anything outside of the tests and dns.c.
2020-02-19 12:30:09 -05:00
Nick Mathewson
f739aa7962
Remove assert_all_pending_dns_resolves_ok().
...
It hasn't been used since 2009.
2020-02-19 12:27:49 -05:00