Commit Graph

37614 Commits

Author SHA1 Message Date
David Goulet 903fb3dd62 relay: Avoid duplicate MetricsPort DNS error
We don't output per-type DNS errors anymore so avoid looping over the
DNS query type and output each errors for them. Before this commit, it
created 3x the same message because we had A, AAAA and PTR type records.

Fix on previous commit e7abab8782

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-20 13:49:44 -04:00
David Goulet e7abab8782 relay: For metrics, don't report DNS errors by query type
This is due to the libevent bug
https://github.com/libevent/libevent/issues/1219 that fails to return
back the DNS record type on error.

And so, the MetricsPort now only reports the errors as a global counter
and not a per record type.

Closes #40490

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-20 10:40:56 -04:00
David Goulet 7a8108ea87 relay: Overload state on DNS timeout is now X% over Y secs
With this commit, we will only report a general overload state if we've
seen more than X% of DNS timeout errors over Y seconds. Previous
behavior was to report when a single timeout occured which is really too
small of a threshold.

The value X is a consensus parameters called
"overload_dns_timeout_scale_percent" which is a scaled percentage
(factor of 1000) so we can represent decimal points for X like 0.5% for
instance. Its default is 1000 which ends up being 1%.

The value Y is a consensus parameters called
"overload_dns_timeout_period_secs" which is the time period for which
will gather DNS errors and once over, we assess if that X% has been
reached ultimately triggering a general overload signal.

Closes #40491

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-20 10:00:03 -04:00
David Goulet 3752a71ded Merge branch 'maint-0.4.6' 2021-10-20 09:16:45 -04:00
David Goulet caa305a5ad changes: Add file for ticket 40491
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-20 09:15:51 -04:00
David Goulet 996409c9c4 test: Add unit tests for DNS timeout overload state
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-20 09:09:25 -04:00
David Goulet de907893be relay: Overload state on DNS timeout is now X% over Y secs
With this commit, we will only report a general overload state if we've
seen more than X% of DNS timeout errors over Y seconds. Previous
behavior was to report when a single timeout occured which is really too
small of a threshold.

The value X is a consensus parameters called
"overload_dns_timeout_scale_percent" which is a scaled percentage
(factor of 1000) so we can represent decimal points for X like 0.5% for
instance. Its default is 1000 which ends up being 1%.

The value Y is a consensus parameters called
"overload_dns_timeout_period_secs" which is the time period for which
will gather DNS errors and once over, we assess if that X% has been
reached ultimately triggering a general overload signal.

Closes #40491

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-20 09:09:25 -04:00
David Goulet d455f9e18a hs: v2 address are now considered a bad hostname
This means that at this commit, tor will stop logging that v2 is
deprecated and treat a v2 address as a bad hostname that we can't use.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 10:59:19 -04:00
David Goulet af48f5736a hs: Fix merge conflicts after merging forward 40476
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 10:57:10 -04:00
David Goulet 2a705e81a3 Merge branch 'maint-0.4.6' 2021-10-19 10:35:40 -04:00
David Goulet 326f954f10 Merge branch 'maint-0.4.5' into maint-0.4.6 2021-10-19 10:35:35 -04:00
David Goulet d949a2f924 Merge branch 'maint-0.3.5' into maint-0.4.5 2021-10-19 10:29:15 -04:00
David Goulet 44e105c27f hs: Improve warning for bad service version
Now that we don't have version 2, it gives us:

  [warn] HiddenServiceVersion must be between 3 and 3, not 2.

This commit changes it to:

  [warn] HiddenServiceVersion must be 3, not 2.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:51:24 -04:00
David Goulet 18b5630a7c changes: Add file for ticket 40476
Closes #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:51:24 -04:00
David Goulet f9750249ac test: Don't run HSv2 Chutney test networks
Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:51:24 -04:00
David Goulet 9a6c6e8ec5 test: Fix unit tests after disabling version 2
Some tests were removed because they were testing something not usable
anymore.

Some tests remains to make sure that things are indeed disabled.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:51:24 -04:00
David Goulet d0053fdfb5 hs: Improve warning for bad service version
Now that we don't have version 2, it gives us:

  [warn] HiddenServiceVersion must be between 3 and 3, not 2.

This commit changes it to:

  [warn] HiddenServiceVersion must be 3, not 2.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:50:23 -04:00
David Goulet 3dd4b3316d changes: Add file for ticket 40476
Closes #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:50:23 -04:00
David Goulet 48e6e0843b test: Don't run HSv2 Chutney test networks
Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:50:23 -04:00
David Goulet 1589e6bf28 test: Fix unit tests after disabling version 2
Some tests were removed because they were testing something not usable
anymore.

Some tests remains to make sure that things are indeed disabled.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:50:22 -04:00
David Goulet fb0c949df6 hs-v2: Disable version 2 HSPOST and HSFETCH command
Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:50:22 -04:00
David Goulet 7a15296c43 hs-v2: Disable version 2 directory
Relay do not accept both stores and lookups of version 2 descriptor.
This effectively disable version 2 HSDir supports for relays.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:50:22 -04:00
David Goulet f748a497c7 Merge branch 'ticket40476_045_01' into ticket40476_046_01 2021-10-19 09:48:13 -04:00
David Goulet db297a177e hs: Improve warning for bad service version
Now that we don't have version 2, it gives us:

  [warn] HiddenServiceVersion must be between 3 and 3, not 2.

This commit changes it to:

  [warn] HiddenServiceVersion must be 3, not 2.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:36:14 -04:00
David Goulet 2a4a0c9012 changes: Add file for ticket 40476
Closes #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:36:14 -04:00
David Goulet ce1f1dcbe5 test: Don't run HSv2 Chutney test networks
Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:36:14 -04:00
David Goulet df8ff6f1ac test: Fix unit tests after disabling version 2
Some tests were removed because they were testing something not usable
anymore.

Some tests remains to make sure that things are indeed disabled.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:36:14 -04:00
David Goulet 044eadae65 hs-v2: Disable version 2 HSPOST and HSFETCH command
Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:20:53 -04:00
David Goulet a7d28da272 hs-v2: Disable version 2 directory
Relay do not accept both stores and lookups of version 2 descriptor.
This effectively disable version 2 HSDir supports for relays.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:16:13 -04:00
David Goulet e284b9f779 hs-v2: Disable version 2 introduction point
Upon receiving a v2 introduction request, the relay will close the
circuit and send back a tor protocol error.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:13:08 -04:00
David Goulet 471149b651 hs-v2: Disable version 2 service
The minimum service version is raised from 2 to 3 which effectively
disable loading or creating an onion service v2.

As for ADD_ONION, for version 2, a 551 error is returned:

  "551 Failed to add Onion Service"

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:11:12 -04:00
David Goulet ed4d6a0030 hs-v2: Disable SOCKS connection for v2 addresses
This effectively turns off the ability of tor to use HSv2 as a client by
invalidating the v2 onion hostname passed through a SOCKS request.

Part of #40476

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-19 09:08:05 -04:00
Nick Mathewson 9ac1ed525f Changes file for new fuzzers 2021-10-16 10:51:41 -04:00
Nick Mathewson 34f3529861 Merge branch 'hs_fuzzing' 2021-10-16 10:49:41 -04:00
Nick Mathewson 37c0542d0d Merge remote-tracking branch 'asn-private/hsfuz' into hs_fuzzing 2021-10-15 11:20:06 -04:00
Alexander Færøy 8c18e9a949 Merge remote-tracking branch 'tor-gitlab/mr/459' into main 2021-10-14 19:19:32 +00:00
Alexander Færøy b93af906c4 Merge remote-tracking branch 'tor-gitlab/mr/456' into main 2021-10-14 19:18:22 +00:00
David Goulet 1ea523c705 Merge branch 'tor-gitlab/mr/458' 2021-10-14 13:09:21 -04:00
Nick Mathewson 15ede0435f Lower maximum value for guard-extreme-restriction-percent to 100.
Values greater than 100 would have had the same effect as 100, so
this doesn't actually change Tor's behavior; it just makes the
intent clearer.  Fixes #40486; see also torspec#66.
2021-10-14 12:39:05 -04:00
Nick Mathewson ed4b8ca74b Merge remote-tracking branch 'tor-gitlab/mr/457' 2021-10-14 12:25:22 -04:00
Nick Mathewson 75e195737e Correct a version number. 2021-10-14 12:23:36 -04:00
Nick Mathewson d10ceb7165 Downgrade "Rejecting RENDEZVOUS1 cell with unrecognized cookie"
This is the loudest of our LOG_PROTOCOL_WARN messages, it can occur
naturally, and there doesn't seem to be a great response to it.

Partial fix for 40400; bugfix on 0.1.1.13-alpha.
2021-10-14 12:21:30 -04:00
David Goulet aae40113c7 ci: Set 5MB data for all chutney tests
Closes #40485

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-14 11:43:28 -04:00
David Goulet e0a6a0d085 hs: Fix memory leak if service failed to configure
Closes #40484

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-14 10:15:16 -04:00
Alexander Færøy 0ec08b0643 Merge remote-tracking branch 'tor-gitlab/mr/432' into main 2021-10-14 13:03:03 +00:00
Alexander Færøy c81901fd39 Merge remote-tracking branch 'tor-gitlab/mr/433' into main 2021-10-14 13:01:41 +00:00
Alexander Færøy d3c8008660 Merge remote-tracking branch 'tor-gitlab/mr/451' into main 2021-10-14 12:59:25 +00:00
David Goulet 4dfc5de509 Merge branch 'tor-gitlab/mr/455' 2021-10-14 08:40:38 -04:00
Nick Mathewson 3da455de00 Downgrade a PROTOCOL_WARN log message.
This one happens every time we get a failure from
circuit_receive_relay_cell -- but for all the relevant failing cases
in that function, we already log in that function.

This resolves one case of #40400.  Two cases remain.
2021-10-13 16:51:46 -04:00
Alexander Færøy 028b52f1ef Remove unused debugging code used for tor#17659
See: tpo/core/tor#17659
2021-10-11 21:29:49 +02:00