| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
|
|
|
|
|
| |
This should make us conflict less with system files named "log.h".
Yes, we shouldn't have been conflicting with those anyway, but some
people's compilers act very oddly.
The actual change was done with one "git mv", by editing
Makefile.am, and running
find . -name '*.[ch]' | xargs perl -i -pe 'if (/^#include.*\Wlog.h/) {s/log.h/torlog.h/; }'
|
|
|
|
|
|
| |
Save a backup if we get odd circuitbuildtimes and other state info.
In the case of circuit build times, we no longer assert, and reset our state.
|
|
|
|
|
|
|
|
|
|
| |
We now record large times as abandoned, to prevent a filter step from
happening and skewing our results.
Also, issue a warn for a rare case that can happen for funky values of Xm or
too many abandoned circuits. Can happen (very rarely) during unit tests, but
should not be possble during live operation, due to network liveness filters
and discard logic.
|
| |
|
|
|
|
|
|
|
|
|
| |
Many friendly operating systems have 64-bit times, and it's not nice
to pass them to an %ld format.
It's also extremely not-nice to write a time to the log as an
integer. Most people think it's 2010 June 29 23:57 UTC+epsilon, not
1277855805+epsilon.
|
|\ |
|
| |
| |
| |
| | |
Possible workaround for bug 1139, if anybody cares.
|
| | |
|
|\ \ |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
We need to ensure that we close timeout measurement circuits. While
we're at it, we should close really old circuits of certain types that
aren't in use, and log really old circuits of other types.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | | |
Also clean up some log messages.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This is done to provide better data to our right-censored Pareto model.
We do this by simply marking them with a new purpose.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Histogram conversion causes accuracy loss, and there are some
boundary conditions when we hit 1000 circuits that cause
false negative test results.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Check for overflow in one place, and be consistent about type usage.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
This prevents a spurious warning where we have a timeout just after
deciding our network came back online.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
From the code:
zlib 1.2.4 and 1.2.5 do some "clever" things with macros. Instead of
saying "(defined(FOO) ? FOO : 0)" they like to say "FOO-0", on the theory
that nobody will care if the compile outputs a no-such-identifier warning.
Sorry, but we like -Werror over here, so I guess we need to define these.
I hope that zlib 1.2.6 doesn't break these too.
Possible fix for bug 1526.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Older versions of Libevent forgot to declare enough function arguments
constant.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These timers behave better with non-monotonic clocks than our old
ones, and also try harder to make once-per-second events get called
one second apart, rather than one-plus-epsilon seconds apart.
This fixes bug 943 for everybody using Libevent 2.0 or later.
|
| | | | |
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
This should never happen unless openssl is buggy or some of our
assumptions are deeply wrong, but one of those might have been the
cause of the not-yet-reproducible bug 1209. If it ever happens again,
let's get some info we can use.
|
| | |
| | |
| | |
| | | |
controller. (closes #1583)
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \ |
|
| | | | |
|
|\ \ \ \ |
|
| | |/ /
| |/| | |
|
| | | |
| | | |
| | | |
| | | | |
Thanks Roger for noticing
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Fixes bug 1352
|