summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-06-15Split the circuit timeout and close codepaths.Mike Perry
We need to record different statistics at point of timeout, vs the point of forcible closing. Also, give some better names to constants and state file variables to indicate they are not dealing with timeouts, but abandoned circuits.
2010-06-15Fix initialization and reset issues with close_ms.Mike Perry
Also clean up some log messages.
2010-06-09Keep circuits open until the greater of 95th CDF percentile or 60s.Mike Perry
This is done to provide better data to our right-censored Pareto model. We do this by simply marking them with a new purpose.
2010-06-09Make the Xm mode selection a consensus parameter.Mike Perry
2010-06-09Address some issues with unit tests.Mike Perry
Histogram conversion causes accuracy loss, and there are some boundary conditions when we hit 1000 circuits that cause false negative test results.
2010-06-09Add timeout count state variable.Mike Perry
2010-06-09Remove synthetic timeout code in favor of better Pareto model.Mike Perry
2010-06-09Arma hates (\d+). Remove mine and some others.Mike Perry
2010-06-09Improve log message about large timeouts and fix some typos.Mike Perry
2010-05-12Fix CBT unit tests.Mike Perry
2010-05-10Fix comments from Sebastian + Nick's code review.Mike Perry
Check for overflow in one place, and be consistent about type usage.
2010-05-10Bug 1296: Add option+logic to disable CBT learning.Mike Perry
There are now four ways that CBT can be disabled: 1. Network-wide, with the cbtdisabled consensus param. 2. Via config, with "LearnCircuitBuildTimeout 0" 3. Via config, with "AuthoritativeDirectory 1" 4. Via a state file write failure.
2010-05-10Bug 1357: Store the suspended timeout value to resume.Mike Perry
This prevents a spurious warning where we have a timeout just after deciding our network came back online.
2010-05-10Bug 1245: Ignore negative and large timeouts.Mike Perry
This should prevent some asserts and storage of incorrect build times for the cases where Tor is suspended during a circuit construction, or just after completing a circuit. The idea is that if the circuit build time is much greater than we would have cut it off at, we probably had a suspend event along this codepath, and we should discard the value.
2010-05-10Bump timeout calculation message to notice when timeout changes.Mike Perry
2010-05-10Add consensus parameter for max synthetic quantile.Mike Perry
In case we decide that the timeout rate is now too high due to our change of the max synthetic quantile value, this consensus parameter will allow us to restore it to the previous value.
2010-05-10Add a TIMEOUT_RATE keyword to buildtimeout event.Mike Perry
2010-05-10Bug 1335: Implement filtering step to remove+prevent high timeouts.Mike Perry
This is for the other issue we saw in Bug 1335. A large number of high timeouts were causing the timeout calculation to slowly drift upwards, especially in conditions of load. This fix repeatedly regenerates all of our synthetic timeouts whenever the timeout changes, to try to prevent drift. It also lowers the timeout cap to help for some cases of Bug 1245, where some timeout values were so large that we ended up allocating a ton of scratch memory to count the histogram bins. The downside is that lowering this cap is affecting our timeout rate. Unfortunately, the buildtimeout quantile is now higher than the actual completion rate by what appears to be about 7-10%, which probably represents the skew in the distribution due to lowering this synthetic cap.
2010-05-10Bug 1335: Alter Xm calculation to be weighted avg of top N=3 modes.Mike Perry
In my state files, I was seeing several peaks, probably due to different guards having different latency. This change is meant to better capture this behavior and generate more reasonable timeouts when it happens. It is improving the timeout values for my collection of state files.
2010-04-24bump to 0.2.2.13-alphator-0.2.2.13-alphaRoger Dingledine
2010-04-23Merge branch 'maint-0.2.1'Roger Dingledine
2010-04-23close idle tls conns earlyRoger Dingledine
2010-04-23Merge branch 'maint-0.2.1'Roger Dingledine
2010-04-23finally get rid of "clique mode"Roger Dingledine
2010-04-23close idle dir-fetch circs earlyRoger Dingledine
2010-04-21finally get rid of "clique mode"Roger Dingledine
2010-04-21stop authority reachability check on startupRoger Dingledine
2010-04-21immediate reachability check for new relaysRoger Dingledine
2010-04-20more logging when tracking missing descriptorsRoger Dingledine
2010-04-20bump to 0.2.2.12-alpha-devRoger Dingledine
2010-04-20Demote a warning about missing client ciphersSebastian Hahn
2010-04-20bump to 0.2.2.12-alphaRoger Dingledine
2010-04-20fetch descriptors from the authority that told us about themRoger Dingledine
2010-04-20fetch unknown descriptors if we see them in a voteRoger Dingledine
2010-04-20minor cleanupsRoger Dingledine
2010-04-20Switch geoip_get_request_history to asprintf; fix bug 1365Nick Mathewson
2010-04-19fix "Got a certificate for ?? that we already have"Roger Dingledine
what's happening here is that we're fetching certs for obsolete authorities -- probably legacy signers in this case. but try to remain general in the log message.
2010-04-19Fix a compilation warning on compat_libevent.c on some versions of windows ↵Nick Mathewson
libevent
2010-04-19Move the declaration of bandwidth_rate_rule_to_stringNick Mathewson
It's natural for the definition of bandwidth_rule_t to be with the functions that actually care about its values. Unfortunately, this means declaring bandwidth_rate_rule_to_string() out of sequence. Someday we'll just rename reasons.c to strings.c, and put it at the end of or.h, and this will all be better.
2010-04-19Fix two compile-blockers in tor_vasprintf().Nick Mathewson
1) mingw doesn't have _vscprintf(); mingw instead has a working snprintf. 2) windows compilers that _do_ have a working _vscprintf spell it so; they do not spell it _vcsprintf().
2010-04-19bump to 0.2.2.11-alpha-devRoger Dingledine
2010-04-19parameterize update_consensus_router_descriptor_downloadsRoger Dingledine
2010-04-15bump to 0.2.2.11-alphator-0.2.2.11-alphaRoger Dingledine
2010-04-15Merge commit 'origin/maint-0.2.1'Nick Mathewson
2010-04-15simplify a path in networkstatusRoger Dingledine
2010-04-14Add --enable-static-zlib optionSebastian Hahn
Works like the --enable-static-openssl/libevent options. Requires --with-zlib-dir to be set. Note that other dependencies might still pull in a dynamicly linked zlib, if you don't link them in statically too.
2010-04-13Fix renegotiation on OpenSSL versions that backport RFC5746.Nick Mathewson
Our code assumed that any version of OpenSSL before 0.9.8l could not possibly require SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION. This is so... except that many vendors have backported the flag from later versions of openssl when they backported the RFC5476 renegotiation feature. The new behavior is particularly annoying to detect. Previously, leaving SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION unset meant that clients would fail to renegotiate. People noticed that one fast! Now, OpenSSL's RFC5476 support means that clients will happily talk to any servers there are, but servers won't accept renegotiation requests from unpatched clients unless SSL_OP_ALLOW_etc is set. More fun: servers send back a "no renegotiation for you!" error, which unpatched clients respond to by stalling, and generally producing no useful error message. This might not be _the_ cause of bug 1346, but it is quite likely _a_ cause for bug 1346.
2010-04-13Merge branch 'correct_halflife'Nick Mathewson
2010-04-13Rename CircPriorityHalflifeMsec to CircuitPriorityHalflifeMsecNick Mathewson
Everything that accepted the 'Circ' name handled it wrong, so even now that we fixed the handling of the parameter, we wouldn't be able to set it without making all the 0.2.2.7..0.2.2.10 relays act wonky. This patch makes Tors accept the 'Circuit' name instead, so we can turn on circuit priorities without confusing the versions that treated the 'Circ' name as occasion to act weird.
2010-04-12Merge commit 'origin/maint-0.2.1'Nick Mathewson
Conflicts: src/or/test.c