aboutsummaryrefslogtreecommitdiff
path: root/src/app
diff options
context:
space:
mode:
authorMicah Elizabeth Scott <beth@torproject.org>2023-02-27 18:39:43 -0800
committerMicah Elizabeth Scott <beth@torproject.org>2023-05-10 07:38:28 -0700
commitf3b98116b6f331ec9b849867dff8dec957ce7edc (patch)
treee1c34bd7db5d9c3e55e98fc2c971bcf6b1696690 /src/app
parent20d7c8ce14eccccf97ad05de5c5281360fefd3bc (diff)
downloadtor-f3b98116b6f331ec9b849867dff8dec957ce7edc.tar.gz
tor-f3b98116b6f331ec9b849867dff8dec957ce7edc.zip
hs_pow: Rate limited dequeue
This adds a token bucket ratelimiter on the dequeue side of hs_pow's priority queue. It adds config options and docs for those options. (HiddenServicePoWQueueRate/Burst) I'm testing this as a way to limit the overhead of circuit creation when we're experiencing a flood of rendezvous requests. Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
Diffstat (limited to 'src/app')
-rw-r--r--src/app/config/config.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/app/config/config.c b/src/app/config/config.c
index e035c6d6f3..0618622db9 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -509,6 +509,8 @@ static const config_var_t option_vars_[] = {
VAR("HiddenServiceOnionBalanceInstance",
LINELIST_S, RendConfigLines, NULL),
VAR("HiddenServicePoWDefensesEnabled", LINELIST_S, RendConfigLines, NULL),
+ VAR("HiddenServicePoWQueueRate", LINELIST_S, RendConfigLines, NULL),
+ VAR("HiddenServicePoWQueueBurst", LINELIST_S, RendConfigLines, NULL),
VAR("HiddenServiceStatistics", BOOL, HiddenServiceStatistics_option, "1"),
V(ClientOnionAuthDir, FILENAME, NULL),
OBSOLETE("CloseHSClientCircuitsImmediatelyOnTimeout"),