Rasmus Dahlberg
15efc25fb5
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
2022-11-28 10:25:06 -05:00
Rasmus Dahlberg
be7afe658e
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.
2022-11-28 10:25:04 -05:00
David Goulet
21121eb231
Merge branch 'tor-gitlab/mr/652'
2022-11-28 09:37:12 -05:00
David Goulet
c408d0a7f9
Merge branch 'tor-gitlab/mr/657'
2022-11-28 09:35:53 -05:00
David Goulet
3ac08ac200
Merge branch 'tor-gitlab/mr/658'
2022-11-28 09:33:32 -05:00
Vinícius Zavam
642e56bdb6
perform proper 'OR' while checking defined vars
...
* the || is not possible with #ifdef statement;
* here the #ifdef turns into '#if defined()'.
2022-11-27 18:41:09 +00:00
qontinuum
0b015c9731
Rely on kernel errno when logging resource exhaustion
...
Signed-off-by: qontinuum <qontinuum@monaco.mc>
2022-11-25 19:38:48 +01:00
David Goulet
04d8753676
Merge branch 'maint-0.4.7'
2022-11-23 14:54:43 -05:00
David Goulet
fbc9e92fdb
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>
2022-11-23 14:05:10 -05:00
David Goulet
b9de73e46e
cpu: Set number of threads to number of cores
...
Cap this to 2 threads always because we need a low and high priority
thread even with a single core.
Fixes #40713
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-23 13:52:36 -05:00
David Goulet
8713d9762a
log: Remove extra newline in a log statement
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-23 13:28:22 -05:00
Vinícius Zavam
4b23bd8c9c
add chagelog file related to MR!652
2022-11-19 08:02:46 +00:00
David Goulet
a7a90a3f11
changelog: Add 0.4.7.11 stable
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-10 10:29:02 -05:00
David Goulet
30e41ce9ad
Merge branch 'maint-0.4.7'
2022-11-10 10:21:13 -05:00
Tor CI Release
cca19a4099
version: Bump version to 0.4.7.11-dev
2022-11-10 10:21:05 -05:00
David Goulet
a2a5b51f2b
Merge branch 'maint-0.4.7'
2022-11-10 09:52:51 -05:00
Tor CI Release
ffcb8a76af
version: Bump version to 0.4.7.11
2022-11-10 09:51:29 -05:00
David Goulet
e14c4fe771
Merge branch 'maint-0.4.7'
2022-11-10 09:44:52 -05:00
Tor CI Release
58bd4e0899
fallbackdir: Update list generated on November 10, 2022
2022-11-10 09:43:55 -05:00
Tor CI Release
e39be4a14f
Update geoip files to match ipfire location db, 2022/11/10.
2022-11-10 09:43:47 -05:00
David Goulet
b5afc7d62a
Merge branch 'maint-0.4.7'
2022-11-10 09:30:42 -05:00
David Goulet
e94c27c0ab
metrics: Split cc with counters and gauges
...
Part of #40712
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-10 08:57:39 -05:00
David Goulet
2737037ccd
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>
2022-11-10 07:29:18 -05:00
David Goulet
f39f8b30f4
Merge branch 'maint-0.4.7'
2022-11-09 15:35:58 -05:00
David Goulet
e2a94e050d
changes: Add file for ticket 40674
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-09 15:35:51 -05:00
David Goulet
c13dc8b08a
Merge branch 'ticket40674_047_01' into maint-0.4.7
2022-11-09 15:32:18 -05:00
Rasmus Dahlberg
21eac1e8d8
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
2022-11-09 15:30:43 -05:00
David Goulet
560d44b08b
Merge branch 'maint-0.4.7'
2022-11-09 15:29:04 -05:00
David Goulet
780ca741f3
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>
2022-11-09 15:12:51 -05:00
David Goulet
e3f6908984
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>
2022-11-09 13:13:21 -05:00
David Goulet
9c8c7804d5
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>
2022-11-09 11:57:32 -05:00
David Goulet
93523ed0d6
relay: Make MaxOnionQueueDelay into a consensus param
...
Part of #40704
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-09 11:57:32 -05:00
David Goulet
bd055a258a
Merge branch 'maint-0.4.7'
2022-11-09 11:51:52 -05:00
David Goulet
4db03ac360
Merge branch 'tor-gitlab/mr/654' into maint-0.4.7
2022-11-09 11:51:46 -05:00
Mike Perry
04fafeb2dd
metrics: Reorganize state labels so rate() can be applied
...
Part of #40708 .
2022-11-09 11:48:42 -05:00
Mike Perry
09d32ac667
metrics: Use N_EWMA for moving avg, with N=100.
...
Part of #40708 .
2022-11-09 11:48:42 -05:00
David Goulet
1ff78f3751
Merge branch 'maint-0.4.7'
2022-11-09 11:47:06 -05:00
David Goulet
fe045f02d0
Merge branch 'maint-0.4.5' into maint-0.4.7
2022-11-09 11:47:06 -05:00
Sam James
ee38514cc4
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>
---
2022-11-09 11:46:55 -05:00
David Goulet
97512f3f7b
changelog: Add the missing latest stables
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-09 08:44:43 -05:00
David Goulet
8b8873b759
Merge branch 'maint-0.4.7'
2022-11-08 15:26:44 -05:00
David Goulet
5b0103cfb4
Merge branch 'tor-gitlab/mr/651' into maint-0.4.7
2022-11-08 15:25:08 -05:00
Mike Perry
59bef48490
metrics: Record percentage of blocked channels
...
Part of #40708 .
2022-11-08 18:25:07 +00:00
David Goulet
56ee2131f1
Merge branch 'maint-0.4.7'
2022-11-08 12:47:17 -05:00
Mike Perry
00633bc619
metrics: Report amount of cwnd drop from delta and gamma
...
Part of #40708 .
2022-11-08 12:47:14 -05:00
David Goulet
2adc73afdb
Merge branch 'maint-0.4.7'
2022-11-08 12:36:44 -05:00
David Goulet
fde87096c3
Merge branch 'tor-gitlab/mr/650' into maint-0.4.7
2022-11-08 12:36:19 -05:00
David Goulet
fb206d284c
Merge branch 'maint-0.4.7'
2022-11-08 12:35:48 -05:00
David Goulet
d634a5ebc7
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>
2022-11-08 12:35:09 -05:00
David Goulet
2066e0494c
math: Replace naughty macro by an inline function
...
Part of #40708
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-07 14:49:41 -05:00