]>
git.ipfire.org Git - thirdparty/tor.git/log
David Goulet [Thu, 12 Jan 2023 14:06:32 +0000 (09:06 -0500)]
dirauth: Reject 0.4.6.x series at the authority level
Closes #40664
Signed-off-by: David Goulet <dgoulet@torproject.org>
Mike Perry [Wed, 11 Jan 2023 17:32:20 +0000 (17:32 +0000)]
Coverity CID
1518991 : Tighter bounds on consensus param value.
This prevents sign extension overflow in cwnd_became_full().
David Goulet [Wed, 11 Jan 2023 14:03:29 +0000 (09:03 -0500)]
Merge branch 'maint-0.4.5' into maint-0.4.7
David Goulet [Wed, 11 Jan 2023 14:03:26 +0000 (09:03 -0500)]
Merge branch 'tor-gitlab/mr/538' into maint-0.4.5
Mike Perry [Tue, 10 Jan 2023 20:47:11 +0000 (20:47 +0000)]
Do not reset our RTT in slow start.
If a circuit only sends a tiny amount of data such that its cwnd is not
full, it won't increase its cwnd above the minimum. Since slow start circuits
should never hit the minimum otherwise, we can just ignore them for RTT reset
to handle this.
David Goulet [Tue, 10 Jan 2023 15:13:33 +0000 (10:13 -0500)]
cc: Rename function to avoid confusion
Signed-off-by: David Goulet <dgoulet@torproject.org>
Mike Perry [Wed, 14 Dec 2022 17:19:01 +0000 (17:19 +0000)]
Changes file for bug 40732
Mike Perry [Thu, 15 Dec 2022 22:03:26 +0000 (22:03 +0000)]
Safety fixes to RFC3742
Mike Perry [Wed, 21 Dec 2022 17:35:09 +0000 (17:35 +0000)]
Reduce size of congestion control next_*_event fields.
Since these are derived from the number of SENDMEs in a cwnd/cc update,
and a cwnd should not exceed ~10k, there's plenty of room in uint16_t
for them, even if the network gets significantly faster.
Mike Perry [Wed, 21 Dec 2022 01:18:28 +0000 (01:18 +0000)]
Clean up next_cc_event handling.
Mike Perry [Fri, 16 Dec 2022 21:12:50 +0000 (21:12 +0000)]
Avoid increasing the congestion window if it is not full.
Also provides some stickiness, so that once full, the congestion window is
considered still full for the rest of an update cycle, or the entire
congestion window.
In this way, we avoid increasing the congestion window if it is not fully
utilized, but we can still back off in this case. This substantially reduces
queue use in Shadow.
David Goulet [Tue, 10 Jan 2023 16:15:32 +0000 (11:15 -0500)]
Merge branch 'tor-gitlab/mr/675' into maint-0.4.7
David Goulet [Tue, 10 Jan 2023 14:11:52 +0000 (09:11 -0500)]
shellcheck: Fix new warnings
Nothing important, mostly false positive except one case.
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Tue, 10 Jan 2023 14:02:13 +0000 (09:02 -0500)]
sandbox: Allow my-consensus-* files for an authority
Fixes #40729
Signed-off-by: David Goulet <dgoulet@torproject.org>
Alex Xu (Hello71) [Sat, 21 May 2022 19:21:25 +0000 (15:21 -0400)]
Enable IP_BIND_ADDRESS_NO_PORT if supported
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Mon, 12 Dec 2022 20:07:00 +0000 (15:07 -0500)]
Merge branch 'tor-gitlab/mr/667' into maint-0.4.7
qontinuum [Tue, 29 Nov 2022 20:46:44 +0000 (21:46 +0100)]
Add issue40613
qontinuum [Tue, 29 Nov 2022 20:43:14 +0000 (21:43 +0100)]
Replace socket_failed_from_resource_exhaustion() by socket_failed_from_fd_exhaustion()
qontinuum [Tue, 29 Nov 2022 20:34:06 +0000 (21:34 +0100)]
Isolate warn_about_resource_exhaution()
David Goulet [Wed, 7 Dec 2022 13:43:41 +0000 (08:43 -0500)]
metrics: Fix typo in a label
Fixes #40727
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Tue, 6 Dec 2022 16:14:32 +0000 (11:14 -0500)]
Merge branch 'maint-0.4.5' into maint-0.4.7
Tor CI Release [Tue, 6 Dec 2022 15:34:07 +0000 (15:34 +0000)]
version: Bump version to 0.4.7.12-dev
Tor CI Release [Tue, 6 Dec 2022 15:34:07 +0000 (15:34 +0000)]
version: Bump version to 0.4.5.15-dev
David Goulet [Tue, 6 Dec 2022 15:22:48 +0000 (10:22 -0500)]
Merge branch 'maint-0.4.5' into maint-0.4.7
Tor CI Release [Tue, 6 Dec 2022 15:05:30 +0000 (15:05 +0000)]
version: Bump version to 0.4.7.12
Tor CI Release [Tue, 6 Dec 2022 15:05:24 +0000 (15:05 +0000)]
version: Bump version to 0.4.5.15
David Goulet [Tue, 6 Dec 2022 15:10:41 +0000 (10:10 -0500)]
Merge branch 'maint-0.4.5' into maint-0.4.7
Tor CI Release [Tue, 6 Dec 2022 15:03:57 +0000 (15:03 +0000)]
fallbackdir: Update list generated on December 06, 2022
Tor CI Release [Tue, 6 Dec 2022 14:56:15 +0000 (14:56 +0000)]
Update geoip files to match ipfire location db, 2022/12/06.
David Goulet [Tue, 6 Dec 2022 15:00:01 +0000 (10:00 -0500)]
Merge branch 'maint-0.4.5' into maint-0.4.7
David Goulet [Tue, 6 Dec 2022 14:59:27 +0000 (09:59 -0500)]
fallbackdir: Update files from latest 047 release
We need the fallbackdir file to be the same so our release CI can
generate a new list and apply it uniformly on all series.
(Same as geoip)
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Tue, 6 Dec 2022 14:49:29 +0000 (09:49 -0500)]
Merge branch 'maint-0.4.5' into maint-0.4.7
David Goulet [Tue, 6 Dec 2022 14:47:55 +0000 (09:47 -0500)]
geoip: Update files from latest 047 release
We need all geoip files to be the same so our release CI can generate a
new list and apply it uniformly on all series.
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Tue, 6 Dec 2022 13:56:04 +0000 (08:56 -0500)]
Merge branch 'maint-0.4.5' into maint-0.4.7
Mike Perry [Fri, 2 Dec 2022 21:50:59 +0000 (21:50 +0000)]
Ticket 40724: Add metrics for CC circuit counts
Mike Perry [Thu, 1 Dec 2022 22:22:45 +0000 (22:22 +0000)]
Ticket 40724: Changes file
Mike Perry [Thu, 1 Dec 2022 22:18:02 +0000 (22:18 +0000)]
Ticket 40724: Additional congestion control metrics
Roger Dingledine [Wed, 30 Nov 2022 01:33:58 +0000 (20:33 -0500)]
dirauth: rotate moria1 keys and ports
Rotate the relay identity key and v3 identity key for moria1. They
have been online for more than a decade, there was a known potential
compromise, and anyway refreshing keys periodically is good practice.
Advertise new ports too, to avoid confusion.
Closes ticket 40722.
David Goulet [Mon, 28 Nov 2022 15:27:13 +0000 (10:27 -0500)]
Merge branch 'maint-0.4.5' into maint-0.4.7
David Goulet [Mon, 28 Nov 2022 15:25:48 +0000 (10:25 -0500)]
changes: Add file for ticket 40674
Signed-off-by: David Goulet <dgoulet@torproject.org>
Rasmus Dahlberg [Wed, 12 Oct 2022 18:29:11 +0000 (20:29 +0200)]
dns: Make TTLs fuzzy at exit relays
This change mitigates DNS-based website oracles by making the time that
a domain name is cached uncertain (+- 4 minutes of what's measurable).
Resolves TROVE-2021-009.
Fixes #40674
Rasmus Dahlberg [Wed, 12 Oct 2022 18:29:11 +0000 (20:29 +0200)]
Clip DNS TTL values once in event callback
This change ensures that other parts of the code base always operate on
the same clipped TTL values, notably without being aware of clipping.
David Goulet [Wed, 23 Nov 2022 18:47:59 +0000 (13:47 -0500)]
relay: Use the configured number of threads for worker work calculation
We cap our number of CPU worker threads to at least 2 even if we have a
single core. But also, before we used to always add one extra thread
regardless of the number of core.
This meant that we were off when re-using the get_num_cpus() function
when calculating our onionskin work overhead because we were always off
by one.
This commit makes it that we always use the number of thread our actual
thread pool was configured with.
Fixes #40719
Signed-off-by: David Goulet <dgoulet@torproject.org>
Tor CI Release [Thu, 10 Nov 2022 14:58:26 +0000 (14:58 +0000)]
version: Bump version to 0.4.7.11-dev
Tor CI Release [Thu, 10 Nov 2022 14:41:43 +0000 (14:41 +0000)]
version: Bump version to 0.4.7.11
Tor CI Release [Thu, 10 Nov 2022 14:40:50 +0000 (14:40 +0000)]
fallbackdir: Update list generated on November 10, 2022
Tor CI Release [Thu, 10 Nov 2022 14:39:17 +0000 (14:39 +0000)]
Update geoip files to match ipfire location db, 2022/11/10.
David Goulet [Thu, 10 Nov 2022 13:57:39 +0000 (08:57 -0500)]
metrics: Split cc with counters and gauges
Part of #40712
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 10 Nov 2022 12:29:18 +0000 (07:29 -0500)]
metrics: Split connections with a counter and gauge
Created and Rejected connections are ever going up counters. While
Opened connections are gauges going up and down.
Fixes #40712
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 9 Nov 2022 20:35:51 +0000 (15:35 -0500)]
changes: Add file for ticket 40674
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 9 Nov 2022 20:32:18 +0000 (15:32 -0500)]
Merge branch 'ticket40674_047_01' into maint-0.4.7
Rasmus Dahlberg [Wed, 12 Oct 2022 18:29:11 +0000 (20:29 +0200)]
dns: Make TTLs fuzzy at exit relays
This change mitigates DNS-based website oracles by making the time that
a domain name is cached uncertain (+- 4 minutes of what's measurable).
Resolves TROVE-2021-009.
Fixes #40674
David Goulet [Wed, 9 Nov 2022 20:10:19 +0000 (15:10 -0500)]
relay: Cache onion queue parameters on consensus change
This is part of the fast path so we need to cache consensus parameters
instead of querying it everytime we need to learn a value.
Part of #40704
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 9 Nov 2022 17:49:23 +0000 (12:49 -0500)]
relay: Make the max pending tasks per CPU a consensus parameter
Until now, there was this magic number (64) used as the maximum number
of tasks a CPU worker can take at once.
This commit makes it a consensus parameter so our future selves can
think of a better value depending on network conditions.
Part of #40704
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 9 Nov 2022 15:29:47 +0000 (10:29 -0500)]
relay: Add the onion_queue_wait_cutoff consensus param
Transform the hardcoded value ONIONQUEUE_WAIT_CUTOFF into a consensus
parameter so we can control it network wide.
Closes #40704
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 9 Nov 2022 15:25:30 +0000 (10:25 -0500)]
relay: Make MaxOnionQueueDelay into a consensus param
Part of #40704
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 9 Nov 2022 16:51:46 +0000 (11:51 -0500)]
Merge branch 'tor-gitlab/mr/654' into maint-0.4.7
Mike Perry [Tue, 8 Nov 2022 20:59:36 +0000 (20:59 +0000)]
metrics: Reorganize state labels so rate() can be applied
Part of #40708.
Mike Perry [Tue, 8 Nov 2022 19:02:57 +0000 (19:02 +0000)]
metrics: Use N_EWMA for moving avg, with N=100.
Part of #40708.
David Goulet [Wed, 9 Nov 2022 16:47:06 +0000 (11:47 -0500)]
Merge branch 'maint-0.4.5' into maint-0.4.7
Sam James [Tue, 8 Nov 2022 06:42:59 +0000 (06:42 +0000)]
build: fix -Wstrict-prototypes (Clang 16)
Clang 16 warns on -Wstrict-prototypes in preparation for C23 which can
among other things, lead to some configure tests silently failing/returning the wrong result.
Fixes this error:
```
-ignoreme: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
+ignoreme: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
main ()
```
For more information, see LWN.net [0] or LLVM's Discourse [1], gentoo-dev@ [2],
or the (new) c-std-porting mailing list [3].
[0] https://lwn.net/Articles/913505/
[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
[2] https://archives.gentoo.org/gentoo-dev/message/
dd9f2d3082b8b6f8dfbccb0639e6e240
[3] hosted at lists.linux.dev.
Bug: https://bugs.gentoo.org/879747
Signed-off-by: Sam James <sam@gentoo.org>
---
David Goulet [Tue, 8 Nov 2022 20:25:08 +0000 (15:25 -0500)]
Merge branch 'tor-gitlab/mr/651' into maint-0.4.7
Mike Perry [Tue, 8 Nov 2022 18:25:07 +0000 (18:25 +0000)]
metrics: Record percentage of blocked channels
Part of #40708.
Mike Perry [Tue, 8 Nov 2022 17:39:34 +0000 (17:39 +0000)]
metrics: Report amount of cwnd drop from delta and gamma
Part of #40708.
David Goulet [Tue, 8 Nov 2022 17:36:19 +0000 (12:36 -0500)]
Merge branch 'tor-gitlab/mr/650' into maint-0.4.7
David Goulet [Tue, 26 Jul 2022 15:18:15 +0000 (11:18 -0400)]
relay: Remove unused conn->ext_or_conn_id
This also incidently removes a use of uninitialized stack data from the
connection_or_set_ext_or_identifier() function.
Fixes #40648
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Mon, 7 Nov 2022 15:01:47 +0000 (10:01 -0500)]
math: Replace naughty macro by an inline function
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
Mike Perry [Thu, 3 Nov 2022 21:27:08 +0000 (21:27 +0000)]
metrics: Add flow control metrics.
Part of #40708.
Mike Perry [Thu, 3 Nov 2022 20:08:01 +0000 (20:08 +0000)]
metrics: Add stats when the clock stalls.
Part of #40708.
Mike Perry [Thu, 3 Nov 2022 19:48:16 +0000 (19:48 +0000)]
metrics: Add running average of CC cwnd in slow start when closing circuit
Count slow start separately.
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 3 Nov 2022 17:14:04 +0000 (13:14 -0400)]
changes: Add file for ticket 40708
Closes #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 3 Nov 2022 17:12:47 +0000 (13:12 -0400)]
metrics: Add stats when reaching vegas delta or ss_cwnd_max
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 3 Nov 2022 16:41:21 +0000 (12:41 -0400)]
metrics: Add running average of CC cwnd when closing circuit
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 3 Nov 2022 14:43:37 +0000 (10:43 -0400)]
metrics: Add running average of CC cwnd when exiting slow start
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 3 Nov 2022 17:05:21 +0000 (13:05 -0400)]
metrics: Add connection socket family to metrics
Adds either ipv4 or ipv6 to the "tor_relay_connections_total" stats.
Closes #40710
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 3 Nov 2022 13:37:38 +0000 (09:37 -0400)]
metrics: Add stats for num circ reaching max cell outq
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
Rasmus Dahlberg [Wed, 12 Oct 2022 18:29:11 +0000 (20:29 +0200)]
Clip DNS TTL values once in event callback
This change ensures that other parts of the code base always operate on
the same clipped TTL values, notably without being aware of clipping.
David Goulet [Mon, 31 Oct 2022 15:37:43 +0000 (11:37 -0400)]
sandbox: Add my-consensus-<flavor-name> to sandbox for dirauth
Fixese #40663
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Fri, 28 Oct 2022 15:13:46 +0000 (11:13 -0400)]
thread: Bump max detectable CPU from 16 to 128
Lets take advantage of those beefy machines ;).
Closes #40703
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 27 Oct 2022 15:42:07 +0000 (11:42 -0400)]
Merge branch 'tor-gitlab/mr/645' into maint-0.4.7
David Goulet [Thu, 27 Oct 2022 15:41:43 +0000 (11:41 -0400)]
Merge branch 'tor-gitlab/mr/644' into maint-0.4.7
David Goulet [Thu, 27 Oct 2022 15:35:27 +0000 (11:35 -0400)]
metrics: Treat relay connections as gauge, not counter
Fixes #40699
Signed-off-by: David Goulet <dgoulet@torproject.org>
Mike Perry [Thu, 27 Oct 2022 15:36:53 +0000 (15:36 +0000)]
Changes file for 40683
Alexander Færøy [Fri, 14 Oct 2022 10:12:46 +0000 (12:12 +0200)]
Strip "__.SYMDEF*" before re-archiving in combine_libs on macOS and iOS.
This patch changes how combine_libs works on Darwin like platforms to
make sure we don't include any `__.SYMDEF` and `__.SYMDEF SORTED`
symbols on the archive before we repack and run ${RANLIB} on the
archive.
See: tpo/core/tor#40683.
David Goulet [Thu, 27 Oct 2022 14:35:10 +0000 (10:35 -0400)]
changes: Update changes for ticket 40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 27 Oct 2022 14:39:55 +0000 (10:39 -0400)]
metrics: Add number of opened circuits to MetricsPort
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 27 Oct 2022 14:33:25 +0000 (10:33 -0400)]
relay: Add our consensus relay flag to MetricsPort
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 27 Oct 2022 14:00:50 +0000 (10:00 -0400)]
metrics: Add traffic related stats to MetricsPort
At this commit, bytes read and written are exported.
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 27 Oct 2022 13:54:54 +0000 (09:54 -0400)]
relay: Add DoS subsystem stats to MetricsPort
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 27 Oct 2022 14:45:08 +0000 (10:45 -0400)]
metrics: Fix naming and documentation
After nickm's review, minor changes to names and comments.
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 13 Oct 2022 15:09:40 +0000 (11:09 -0400)]
relay: Change the connection metrics name
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 13 Oct 2022 14:50:18 +0000 (10:50 -0400)]
relay: Add CC RTT reset stats to MetricsPort
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 13 Oct 2022 14:41:21 +0000 (10:41 -0400)]
relay: Add total number of streams seen on MetricsPort
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Thu, 13 Oct 2022 14:32:16 +0000 (10:32 -0400)]
rephist: Track number of streams seen per type
Related to #40194
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Mon, 24 Oct 2022 15:14:50 +0000 (11:14 -0400)]
changes: Ticket 40694
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 19 Oct 2022 19:27:22 +0000 (15:27 -0400)]
hs: Retry service rendezvous on circuit close
Move the retry from circuit_expire_building() to when the offending
circuit is being closed.
Fixes #40695
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 19 Oct 2022 19:11:11 +0000 (15:11 -0400)]
circ: Get rid of hs_circ_has_timed_out
Logic is too convoluted and we can't efficiently apply a specific
timeout depending on the purpose.
Remove it and instead rely on the right circuit cutoff instead of
keeping this flagged circuit open forever.
Part of #40694
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 19 Oct 2022 18:50:00 +0000 (14:50 -0400)]
circ: Set proper timeout cutoff for HS circuits
Explicitly set the S_CONNECT_REND purpose to a 4-hop cutoff.
As for the established rendezvous circuit waiting on the RENDEZVOUS2,
set one that is very long considering the possible waiting time for the
service to get the request and join our rendezvous.
Part of #40694
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Mon, 24 Oct 2022 15:03:38 +0000 (11:03 -0400)]
hs: Retry rdv circuit if repurposed
This can happen if our measurement subsystem decides to snatch it.
Fixes #40696
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 26 Oct 2022 19:01:40 +0000 (15:01 -0400)]
Merge branch 'tor-gitlab/mr/635' into maint-0.4.7