--- /dev/null
+ o Major bugfixes:
+ - If the circuit build timeout logic is disabled (via the consensus,
+ or because we are an authority), then don't build testing circuits.
+ Fixes bug 9657; bugfix on 0.2.2.14-alpha.
+
* 3. If we are a directory authority
* 4. If we fail to write circuit build time history to our state file.
*/
-static int
+int
circuit_build_times_disabled(void)
{
if (unit_tests) {
void circuit_log_path(int severity, unsigned int domain,
origin_circuit_t *circ);
void circuit_rep_hist_note_result(origin_circuit_t *circ);
+int circuit_build_times_disabled(void);
origin_circuit_t *origin_circuit_init(uint8_t purpose, int flags);
origin_circuit_t *circuit_establish_circuit(uint8_t purpose,
extend_info_t *exit,
* want, don't do another -- we want to leave a few slots open so
* we can still build circuits preemptively as needed. */
if (num < MAX_UNUSED_OPEN_CIRCUITS-2 &&
- get_options()->LearnCircuitBuildTimeout &&
+ ! circuit_build_times_disabled() &&
circuit_build_times_needs_circuits_now(&circ_times)) {
flags = CIRCLAUNCH_NEED_CAPACITY;
log_info(LD_CIRC,
tor_gettimeofday(&now);
cutoff = now;
- if (get_options()->LearnCircuitBuildTimeout &&
+ if (! circuit_build_times_disabled() &&
circuit_build_times_needs_circuits(&circ_times)) {
/* Circuits should be shorter lived if we need more of them
* for learning a good build timeout */