summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-01-10Avoid increasing the congestion window if it is not full.Mike Perry
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.
2023-01-10Merge branch 'tor-gitlab/mr/675' into maint-0.4.7David Goulet
2023-01-10shellcheck: Fix new warningsDavid Goulet
Nothing important, mostly false positive except one case. Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-01-10sandbox: Allow my-consensus-* files for an authorityDavid Goulet
Fixes #40729 Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-12-20Enable IP_BIND_ADDRESS_NO_PORT if supportedAlex Xu (Hello71)
Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-12-12Merge branch 'tor-gitlab/mr/667' into maint-0.4.7David Goulet
2022-12-12socks: Make SafeSocks refuse SOCKS4 and accept SOCKS4aDavid Goulet
The logic was inverted. Introduced in commit 9155e08450fe7a609f8223202e8aa7dfbca20a6d. This was reported through our bug bounty program on H1. It fixes the TROVE-2022-002. Fixes #40730 Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-12-11Replace socket_failed_from_resource_exhaustion() by ↵qontinuum
socket_failed_from_fd_exhaustion()
2022-12-11Isolate warn_about_resource_exhaution()qontinuum
2022-12-07metrics: Fix typo in a labelDavid Goulet
Fixes #40727 Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-12-06version: Bump version to 0.4.7.12-devTor CI Release
2022-12-06version: Bump version to 0.4.5.15-devTor CI Release
2022-12-06version: Bump version to 0.4.7.12Tor CI Release
2022-12-06version: Bump version to 0.4.5.15Tor CI Release
2022-12-06Merge branch 'maint-0.4.5' into maint-0.4.7David Goulet
2022-12-06fallbackdir: Update list generated on December 06, 2022Tor CI Release
2022-12-06Update geoip files to match ipfire location db, 2022/12/06.Tor CI Release
2022-12-06fallbackdir: Update files from latest 047 releaseDavid Goulet
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>
2022-12-06geoip: Update files from latest 047 releaseDavid Goulet
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>
2022-12-06Merge branch 'maint-0.4.5' into maint-0.4.7David Goulet
2022-12-02Ticket 40724: Add metrics for CC circuit countsMike Perry
2022-12-01Ticket 40724: Additional congestion control metricsMike Perry
2022-11-29dirauth: rotate moria1 keys and portsRoger Dingledine
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.
2022-11-28dns: Make TTLs fuzzy at exit relaysRasmus Dahlberg
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-28Clip DNS TTL values once in event callbackRasmus Dahlberg
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-23relay: Use the configured number of threads for worker work calculationDavid Goulet
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-10version: Bump version to 0.4.7.11-devTor CI Release
2022-11-10version: Bump version to 0.4.7.11Tor CI Release
2022-11-10fallbackdir: Update list generated on November 10, 2022Tor CI Release
2022-11-10Update geoip files to match ipfire location db, 2022/11/10.Tor CI Release
2022-11-10metrics: Split cc with counters and gaugesDavid Goulet
Part of #40712 Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-10metrics: Split connections with a counter and gaugeDavid Goulet
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-09Merge branch 'ticket40674_047_01' into maint-0.4.7David Goulet
2022-11-09dns: Make TTLs fuzzy at exit relaysRasmus Dahlberg
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-09relay: Cache onion queue parameters on consensus changeDavid Goulet
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-09relay: Make the max pending tasks per CPU a consensus parameterDavid Goulet
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-09relay: Add the onion_queue_wait_cutoff consensus paramDavid Goulet
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-09relay: Make MaxOnionQueueDelay into a consensus paramDavid Goulet
Part of #40704 Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-09Merge branch 'tor-gitlab/mr/654' into maint-0.4.7David Goulet
2022-11-09metrics: Reorganize state labels so rate() can be appliedMike Perry
Part of #40708.
2022-11-09metrics: Use N_EWMA for moving avg, with N=100.Mike Perry
Part of #40708.
2022-11-08Merge branch 'tor-gitlab/mr/651' into maint-0.4.7David Goulet
2022-11-08metrics: Record percentage of blocked channelsMike Perry
Part of #40708.
2022-11-08metrics: Report amount of cwnd drop from delta and gammaMike Perry
Part of #40708.
2022-11-08Merge branch 'tor-gitlab/mr/650' into maint-0.4.7David Goulet
2022-11-08relay: Remove unused conn->ext_or_conn_idDavid Goulet
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-07math: Replace naughty macro by an inline functionDavid Goulet
Part of #40708 Signed-off-by: David Goulet <dgoulet@torproject.org>
2022-11-07metrics: Add flow control metrics.Mike Perry
Part of #40708.
2022-11-07metrics: Add stats when the clock stalls.Mike Perry
Part of #40708.
2022-11-07metrics: Add running average of CC cwnd in slow start when closing circuitMike Perry
Count slow start separately. Part of #40708 Signed-off-by: David Goulet <dgoulet@torproject.org>