summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé M. Guisado <guigom@riseup.net>2019-01-23 00:04:57 +0100
committerNick Mathewson <nickm@torproject.org>2019-02-19 11:24:51 -0500
commit78220aae1ed3994453413559ff8b068578b31818 (patch)
tree88e5f30af49f3290fe19bded0890edda78a20fc5
parentd83c299eba8010204b3fe0760b1372c7564889fe (diff)
downloadtor-78220aae1ed3994453413559ff8b068578b31818.tar.gz
tor-78220aae1ed3994453413559ff8b068578b31818.zip
Add circuit time check before logging about relaxing circuit time
Signed-off-by: José M. Guisado <guigom@riseup.net>
-rw-r--r--changes/bug286983
-rw-r--r--src/core/or/circuituse.c30
2 files changed, 21 insertions, 12 deletions
diff --git a/changes/bug28698 b/changes/bug28698
new file mode 100644
index 0000000000..716aa0c552
--- /dev/null
+++ b/changes/bug28698
@@ -0,0 +1,3 @@
+ o Minor bugfix (logging):
+ - Avoid logging about relaxing circuits when their time is fixed.
+ Fixes bug 28698; bugfix on 0.2.4.7-alpha
diff --git a/src/core/or/circuituse.c b/src/core/or/circuituse.c
index 8918dd077e..e306307c4c 100644
--- a/src/core/or/circuituse.c
+++ b/src/core/or/circuituse.c
@@ -545,6 +545,8 @@ circuit_expire_building(void)
SMARTLIST_FOREACH_BEGIN(circuit_get_global_list(), circuit_t *,victim) {
struct timeval cutoff;
+ bool fixed_time = circuit_build_times_disabled(get_options());
+
if (!CIRCUIT_IS_ORIGIN(victim) || /* didn't originate here */
victim->marked_for_close) /* don't mess with marked circs */
continue;
@@ -599,17 +601,19 @@ circuit_expire_building(void)
if (!TO_ORIGIN_CIRCUIT(victim)->relaxed_timeout) {
int first_hop_succeeded = TO_ORIGIN_CIRCUIT(victim)->cpath->state
== CPATH_STATE_OPEN;
- log_info(LD_CIRC,
- "No circuits are opened. Relaxing timeout for circuit %d "
- "(a %s %d-hop circuit in state %s with channel state %s).",
- TO_ORIGIN_CIRCUIT(victim)->global_identifier,
- circuit_purpose_to_string(victim->purpose),
- TO_ORIGIN_CIRCUIT(victim)->build_state ?
- TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len :
- -1,
- circuit_state_to_string(victim->state),
- victim->n_chan ?
- channel_state_to_string(victim->n_chan->state) : "none");
+ if (!fixed_time) {
+ log_info(LD_CIRC,
+ "No circuits are opened. Relaxing timeout for circuit %d "
+ "(a %s %d-hop circuit in state %s with channel state %s).",
+ TO_ORIGIN_CIRCUIT(victim)->global_identifier,
+ circuit_purpose_to_string(victim->purpose),
+ TO_ORIGIN_CIRCUIT(victim)->build_state ?
+ TO_ORIGIN_CIRCUIT(victim)->build_state->desired_path_len :
+ -1,
+ circuit_state_to_string(victim->state),
+ victim->n_chan ?
+ channel_state_to_string(victim->n_chan->state) : "none");
+ }
/* We count the timeout here for CBT, because technically this
* was a timeout, and the timeout value needs to reset if we
@@ -623,7 +627,8 @@ circuit_expire_building(void)
} else {
static ratelim_t relax_timeout_limit = RATELIM_INIT(3600);
const double build_close_ms = get_circuit_build_close_time_ms();
- log_fn_ratelim(&relax_timeout_limit, LOG_NOTICE, LD_CIRC,
+ if (!fixed_time) {
+ log_fn_ratelim(&relax_timeout_limit, LOG_NOTICE, LD_CIRC,
"No circuits are opened. Relaxed timeout for circuit %d "
"(a %s %d-hop circuit in state %s with channel state %s) to "
"%ldms. However, it appears the circuit has timed out "
@@ -637,6 +642,7 @@ circuit_expire_building(void)
victim->n_chan ?
channel_state_to_string(victim->n_chan->state) : "none",
(long)build_close_ms);
+ }
}
}