Mike Perry
b918cd8f04
Remove another overzealous assert.
...
Pretimeouts may have build time data, just no timeout data.
2009-10-07 12:24:40 -07:00
Roger Dingledine
b4e0d09202
try to stem the 'sea of fail'
2009-10-01 05:35:24 -04:00
Roger Dingledine
9325b9269c
Ignore one-hop circuits for circuit timeout calc
...
Don't count one-hop circuits when we're estimating how long it
takes circuits to build on average. Otherwise we'll set our circuit
build timeout lower than we should. Bugfix on 0.2.2.2-alpha.
2009-10-01 04:15:45 -04:00
Mike Perry
f7e6e852e8
Fix 1108: Handle corrupt or large build times state.
...
1108 was actually just a fencepost error in an assert,
but making the state file handling code resilient is a
good idea.
2009-09-29 14:07:04 -04:00
Sebastian Hahn
7f1f6984da
Fix memory leak
...
Some memory could be lost in the error case of
circuit_build_times_parse_state.
Found by Coverity
2009-09-27 12:00:02 -04:00
Mike Perry
fd7454f9e3
Fix Bug 1103.
...
Don't pass in a quantile that is too high during pretimeout
calcualtion.
2009-09-21 20:01:20 -07:00
Mike Perry
134266b984
Change the condition on the nonlive timeout counting.
...
Try to clarify things in the comment too.
2009-09-20 18:20:10 -07:00
Roger Dingledine
cf2afcd707
Fix typos and comments, plus two bugs
...
A) We were considering a circuit had timed out in the special cases
where we close rendezvous circuits because the final rendezvous
circuit couldn't be built in time.
B) We were looking at the wrong timestamp_created when considering
a timeout.
2009-09-20 19:50:44 -04:00
Mike Perry
f39bedf250
Implement and document new network liveness algorithm.
...
Based on irc discussion with arma.
2009-09-20 14:51:30 -07:00
Mike Perry
6700e528be
Fix some precision-related asserts in unit tests.
...
Mostly by storing the timeout as milliseconds and not seconds
internally.
2009-09-20 14:43:45 -07:00
Sebastian Hahn
335b67a354
Fix compile on freebsd
2009-09-18 02:43:45 +02:00
Roger Dingledine
ee89061ef2
give proposal 151 a changelog and other touchups
2009-09-17 01:42:33 -04:00
Mike Perry
43c18746bd
Clarify use of magic number 0.98 with #define.
2009-09-16 18:41:22 -07:00
Sebastian Hahn
1aac7de1ea
Fix unit tests and compile issues on Snow Leopard
2009-09-16 17:22:21 -07:00
Mike Perry
e2c2fa7a1f
Change liveness value to be a function of the timeout.
...
And also the number of recent circuits used to decide
when the network changes.
2009-09-16 17:20:34 -07:00
Mike Perry
e4e0ce94f0
Add log message so we have accurate build time values.
2009-09-16 17:20:34 -07:00
Mike Perry
5bd60d8a41
Address nickm's issues from his review #1 .
2009-09-16 17:20:29 -07:00
Mike Perry
0352d43917
Move circuitbuildtimeout config check.
...
We want it to be under our control so it doesn't mess
up initialization. This is likely the cause for
the bug the previous assert-adding commit (09a75ad
) was
trying to address.
2009-09-16 15:58:42 -07:00
Mike Perry
09a75ad316
Time for some debugging by asserts.
...
Got a negative timeout value on startup. Need to narrow it down.
2009-09-16 15:55:51 -07:00
Mike Perry
742e08046f
Fix bugs relating to not counting timeouts as circuit builds.
...
Also use bin midpoints for time values.
2009-09-16 15:55:51 -07:00
Mike Perry
67cee75ca2
Document functions and constants.
2009-09-16 15:55:50 -07:00
Mike Perry
c9363df09f
Remove an assert.
...
It seems to fire because of precision issues. Added
more debug info to the warn to try to figure out for sure.
2009-09-16 15:55:50 -07:00
Mike Perry
63be2df84f
Fix issues found by arma in review.
2009-09-16 15:55:36 -07:00
Roger Dingledine
672e2f6908
space/indent cleanups, plus point out three bugs
2009-09-16 15:55:32 -07:00
Mike Perry
4b3bc714a3
Woops. Fix a couple memory leaks.
...
Also change the max timeout quantile to 0.98, so we can
avoid huge synthetic timeout values.
2009-09-16 15:54:37 -07:00
Karsten Loesing
b508e4748f
Remove trailing spaces. As if bytes were free...
...
Also correct some typos.
2009-09-16 15:52:05 -07:00
Mike Perry
535423a3bb
Resolve mode ties in favor of the higher (slower) mode.
2009-09-16 15:52:04 -07:00
Mike Perry
8210336182
More detail for some log msgs.
2009-09-16 15:52:04 -07:00
Mike Perry
6eba08e22f
Use our variable directly for timeout.
...
Using CircuitBuildTimeout is prone to issues with SIGHUP, etc.
Also, shuffle the circuit build times array after loading it
in so that newer measurements don't replace chunks of
similarly timed measurements.
2009-09-16 15:52:04 -07:00
Mike Perry
fca8446949
Fix a couple of assert bugs.
2009-09-16 15:52:03 -07:00
Mike Perry
c4e6b3eadb
Fix timeout edge case when we get enough samples.
...
Also switch Xm calculation to mode, not min.
2009-09-16 15:52:03 -07:00
Mike Perry
95735e5478
Fix the math.h log() conflict.
...
It was compiling, but causing segfaults.
Also, adjust when the timer starts for new test circs
and save state every 25 circuits.
2009-09-16 15:51:17 -07:00
Mike Perry
7ac9a66c8f
Recover from changing network connections.
...
Also add code to keep creating circuits every minute until we
hit our minimum threshhold.
2009-09-16 15:51:16 -07:00
Mike Perry
411b60325b
Factor out the pretimeout handling code.
...
We need to also call it if we're going to calculate alpha
after a normal circuit build.
2009-09-16 15:51:15 -07:00
Mike Perry
b52bce91fc
Write unit tests and fix issues they uncovered.
2009-09-16 15:51:10 -07:00
Mike Perry
04414830fe
Implement the pareto fitting and timeout calculating bits.
2009-09-16 15:48:52 -07:00
Mike Perry
7750bee21d
Clean up Fallon's partially complete GSoC project.
...
The code actually isn't that bad. It's a shame she didn't finish.
Using it as the base for this feature.
2009-09-16 15:48:51 -07:00
Nick Mathewson
ed7283d283
Merge commit 'origin/maint-0.2.1'
...
Resolved conflicts in:
src/or/circuitbuild.c
2009-09-15 19:37:26 -04:00
Sebastian Hahn
113ba0e727
make some bug 1090 warnings go away
...
When we excluded some Exits, we were sometimes warning the user that we
were going to use the node regardless. Many of those warnings were in
fact bogus, because the relay in question was not used to connect to
the outside world.
Based on patch by Rotor, thanks!
2009-09-16 01:17:51 +02:00
Sebastian Hahn
5e01a86b42
some cleanups:
...
documentation fix for get_uint64
remove extra "." from a log line
fix a long line
2009-09-15 07:12:12 -04:00
Roger Dingledine
c43859c5c1
Read "circwindow=x" from the consensus and use it
...
Tor now reads the "circwindow" parameter out of the consensus,
and uses that value for its circuit package window rather than the
default of 1000 cells. Begins the implementation of proposal 168.
2009-09-15 06:33:33 -04:00
Roger Dingledine
a225469ded
Merge branch 'maint-0.2.1'
2009-08-31 16:26:01 -04:00
Roger Dingledine
4c297f74f7
Only send reachability status events on overall success/failure
...
We were telling the controller about CHECKING_REACHABILITY and
REACHABILITY_FAILED status events whenever we launch a testing
circuit or notice that one has failed. Instead, only tell the
controller when we want to inform the user of overall success or
overall failure. Bugfix on 0.1.2.6-alpha. Fixes bug 1075. Reported
by SwissTorExit.
2009-08-31 16:14:41 -04:00
Nick Mathewson
77ffd6b2a7
Merge commit 'origin/maint-0.2.1'
2009-05-31 19:17:22 -04:00
Nick Mathewson
c4c7dcd453
Do not report a node as a "chosen exit" when it is not in fact an exit.
...
Provide a useful warning when launch_circuit tries to make us use a
node we don't want to use. Just give an info message when this is a
normal and okay situation. Fix for logging issues in bug 984.
2009-05-31 19:15:36 -04:00
Nick Mathewson
cb18fc2190
Merge commit 'origin/maint-0.2.1'
2009-05-27 18:12:18 -04:00
Nick Mathewson
ec7e054668
Spell-check Tor.
2009-05-27 17:55:51 -04:00
Nick Mathewson
b998fed9b9
Remove support for events without the extended format or long names.
...
Supporting the old formats made our code complex; running without them
has been discouraged since 0.2.1.x.
2009-05-25 12:52:25 -04:00
Karsten Loesing
9b32e8c141
Update copyright to 2009.
2009-05-04 11:28:27 -04:00
Karsten Loesing
4ebcc4da34
Update copyright to 2009.
2009-05-02 22:00:54 +02:00