mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-11 05:33:47 +01:00
hs: Fix a spurious warn in rend_log_intro_limit
We do dump HS stats now at log info everytime the intro circuit creation retry period limit has been reached. However, the log was upgraded to warning if we actually were over the elapsed time (plus an extra slop). It is actually something that will happen in tor in normal case. For instance, if the network goes down for 10 minutes then back up again making have_completed_a_circuit() return false which results in never updating that retry period marker for a service. Fixes #22032 Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
b7dd3518b9
commit
74f7657e56
@ -1054,20 +1054,13 @@ rend_log_intro_limit(const rend_service_t *service, int min_severity)
|
|||||||
}
|
}
|
||||||
time_t intro_period_elapsed = time(NULL) - service->intro_period_started;
|
time_t intro_period_elapsed = time(NULL) - service->intro_period_started;
|
||||||
tor_assert_nonfatal(intro_period_elapsed >= 0);
|
tor_assert_nonfatal(intro_period_elapsed >= 0);
|
||||||
/* We delayed resuming circuits longer than expected */
|
|
||||||
int exceeded_elapsed = (intro_period_elapsed > INTRO_CIRC_RETRY_PERIOD +
|
|
||||||
INTRO_CIRC_RETRY_PERIOD_SLOP);
|
|
||||||
if (exceeded_elapsed) {
|
|
||||||
severity = LOG_WARN;
|
|
||||||
}
|
|
||||||
log_fn(severity, LD_REND, "Hidden service %s %s %d intro points in the last "
|
log_fn(severity, LD_REND, "Hidden service %s %s %d intro points in the last "
|
||||||
"%d seconds%s. Intro circuit launches are limited to %d per %d "
|
"%d seconds. Intro circuit launches are limited to %d per %d "
|
||||||
"seconds.",
|
"seconds.",
|
||||||
service->service_id,
|
service->service_id,
|
||||||
exceeded_limit ? "exceeded launch limit with" : "launched",
|
exceeded_limit ? "exceeded launch limit with" : "launched",
|
||||||
service->n_intro_circuits_launched,
|
service->n_intro_circuits_launched,
|
||||||
(int)intro_period_elapsed,
|
(int)intro_period_elapsed,
|
||||||
exceeded_elapsed ? " (delayed)" : "",
|
|
||||||
rend_max_intro_circs_per_period(service->n_intro_points_wanted),
|
rend_max_intro_circs_per_period(service->n_intro_points_wanted),
|
||||||
INTRO_CIRC_RETRY_PERIOD);
|
INTRO_CIRC_RETRY_PERIOD);
|
||||||
rend_service_dump_stats(severity);
|
rend_service_dump_stats(severity);
|
||||||
|
Loading…
Reference in New Issue
Block a user