o Minor features (other):
- Correctly report Windows 95 OSR2 and Windows 98 SE.
- More unit tests.
+ - Add a new config option __DisablePredictedCircuits designed for
+ use by the controller, when we don't want Tor to build any circuits
+ preemptively.
o Removed features:
- Removed support for the old binary "version 0" controller protocol.
circuit_build_needed_circs(time_t now)
{
static long time_to_new_circuit = 0;
+ or_options_t *options = get_options();
/* launch a new circ for any pending streams that need one */
connection_ap_attach_pending();
if (time_to_new_circuit < now) {
circuit_reset_failure_count(1);
- time_to_new_circuit = now + get_options()->NewCircuitPeriod;
+ time_to_new_circuit = now + options->NewCircuitPeriod;
if (proxy_mode(get_options()))
addressmap_clean(now);
circuit_expire_old_circuits(now);
}
#endif
}
- circuit_predict_and_launch_new();
+ if (!options->DisablePredictedCircuits)
+ circuit_predict_and_launch_new();
}
/** If the stream <b>conn</b> is a member of any of the linked
VAR("AccountingMax", MEMUNIT, AccountingMax, "0 bytes"),
VAR("AccountingStart", STRING, AccountingStart, NULL),
VAR("Address", STRING, Address, NULL),
- VAR("__AllDirActionsPrivate",BOOL, AllDirActionsPrivate, "0"),
VAR("AllowInvalidNodes", CSV, AllowInvalidNodes,
"middle,rendezvous"),
VAR("AllowNonRFC953Hostnames", BOOL, AllowNonRFC953Hostnames, "0"),
VAR("V1AuthoritativeDirectory",BOOL, V1AuthoritativeDir, "0"),
VAR("VersioningAuthoritativeDirectory",BOOL,VersioningAuthoritativeDir, "0"),
VAR("VirtualAddrNetwork", STRING, VirtualAddrNetwork, "127.192.0.0/10"),
+ VAR("__AllDirActionsPrivate",BOOL, AllDirActionsPrivate, "0"),
+ VAR("__DisablePredictedCircuits",BOOL,DisablePredictedCircuits,"0"),
VAR("__LeaveStreamsUnattached", BOOL,LeaveStreamsUnattached, "0"),
{ NULL, CONFIG_TYPE_OBSOLETE, 0, NULL }
};
int LeaveStreamsUnattached; /**< Boolean: Does Tor attach new streams to
* circuits itself (0), or does it expect a controller
* to cope? (1) */
+ int DisablePredictedCircuits; /**< Boolean: does Tor preemptively
+ * make circuits in the background (0),
+ * or not (1)? */
int ShutdownWaitLength; /**< When we get a SIGINT and we're a server, how
* long do we wait before exiting? */
int SafeLogging; /**< Boolean: are we allowed to log sensitive strings