commit b214c2c0955373bdf0eab6954c19dd9b559200cf
parent e04da2828d6bbf1499d3df5ba85a8baf4c485bb7
Author: Nick Mathewson <nickm@torproject.org>
Date: Thu, 18 May 2017 10:06:27 -0400
Merge branch 'maint-0.3.0'
Diffstat:
4 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/changes/bug22252 b/changes/bug22252
@@ -0,0 +1,3 @@
+ o Minor bugfixes (configuration):
+ - Do not crash when starting with LearnCircuitBuildTimeout 0.
+ Fixes bug 22252; bugfix on 0.2.9.3-alpha.
diff --git a/src/or/circuitstats.c b/src/or/circuitstats.c
@@ -107,10 +107,19 @@ get_circuit_build_timeout_ms(void)
int
circuit_build_times_disabled(const or_options_t *options)
{
+ return circuit_build_times_disabled_(options, 0);
+}
+
+/** As circuit_build_times_disabled, but take options as an argument. */
+int
+circuit_build_times_disabled_(const or_options_t *options,
+ int ignore_consensus)
+{
if (unit_tests) {
return 0;
} else {
- int consensus_disabled = networkstatus_get_param(NULL, "cbtdisabled",
+ int consensus_disabled =
+ ignore_consensus ? 0 : networkstatus_get_param(NULL, "cbtdisabled",
0, 0, 1);
int config_disabled = !options->LearnCircuitBuildTimeout;
int dirauth_disabled = options->AuthoritativeDir;
diff --git a/src/or/circuitstats.h b/src/or/circuitstats.h
@@ -18,6 +18,9 @@ double get_circuit_build_close_time_ms(void);
double get_circuit_build_timeout_ms(void);
int circuit_build_times_disabled(const or_options_t *options);
+int circuit_build_times_disabled_(const or_options_t *options,
+ int ignore_consensus);
+
int circuit_build_times_enough_to_compute(const circuit_build_times_t *cbt);
void circuit_build_times_update_state(const circuit_build_times_t *cbt,
or_state_t *state);
diff --git a/src/or/config.c b/src/or/config.c
@@ -3490,7 +3490,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
int severity = LOG_NOTICE;
/* Be a little quieter if we've deliberately disabled
* LearnCircuitBuildTimeout. */
- if (circuit_build_times_disabled(options)) {
+ if (circuit_build_times_disabled_(options, 1)) {
severity = LOG_INFO;
}
log_fn(severity, LD_CONFIG, "You disabled LearnCircuitBuildTimeout, but "