[tor-commits] [tor/maint-0.2.9] hs: Use hs_service_max_rdv_failures consensus param, defaulting to 2
nickm at torproject.org
nickm at torproject.org
Fri Jan 19 21:32:21 UTC 2018
commit 490ae26b24a6b2b8843515425cedabf99801163a
Author: Roger Dingledine <arma at torproject.org>
Date: Fri Jan 19 03:00:43 2018 -0500
hs: Use hs_service_max_rdv_failures consensus param, defaulting to 2
---
changes/bug24895 | 10 ++++++----
src/or/rendservice.c | 10 +++++++++-
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/changes/bug24895 b/changes/bug24895
index 7b90f6d26..7edde94a0 100644
--- a/changes/bug24895
+++ b/changes/bug24895
@@ -1,6 +1,8 @@
o Major bugfixes (onion services):
- - Fix an "off by 2" error in counting rendezvous failures on the
- onion service side. While we thought we would stop the rendezvous
- attempt after one failed circuit, we were actually making three
- circuit attempts before giving up. Fixes bug 24895; bugfix on 0.0.6.
+ - Fix an "off by 2" error in counting rendezvous failures on the onion
+ service side. While we thought we would stop the rendezvous attempt
+ after one failed circuit, we were actually making three circuit attempts
+ before giving up. Now switch to a default of 2, and allow the consensus
+ parameter "hs_service_max_rdv_failures" to override. Fixes bug 24895;
+ bugfix on 0.0.6.
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index b503eda7f..da200d138 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -111,13 +111,21 @@ struct rend_service_port_config_s {
/** How many seconds should we spend trying to connect to a requested
* rendezvous point before giving up? */
#define MAX_REND_TIMEOUT 30
+/* Default, minimum and maximum values for the maximum rendezvous failures
+ * consensus parameter. */
+#define MAX_REND_FAILURES_DEFAULT 2
+#define MAX_REND_FAILURES_MIN 1
+#define MAX_REND_FAILURES_MAX 10
/** How many times will a hidden service operator attempt to connect to
* a requested rendezvous point before giving up? */
static int
get_max_rend_failures(void)
{
- return 1;
+ return networkstatus_get_param(NULL, "hs_service_max_rdv_failures",
+ MAX_REND_FAILURES_DEFAULT,
+ MAX_REND_FAILURES_MIN,
+ MAX_REND_FAILURES_MAX);
}
/* Hidden service directory file names:
More information about the tor-commits
mailing list