| Commit message (Collapse) | Author | Age |
|\ |
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
src/or/circuitbuild.c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch introduces a few new functions in router.c to produce a
more helpful description of a node than its nickame, and then tweaks
nearly all log messages taking a nickname as an argument to call these
functions instead.
There are a few cases where I left the old log messages alone: in
these cases, the nickname was that of an authority (whose nicknames
are useful and unique), or the message already included an identity
and/or an address. I might have missed a couple more too.
This is a fix for bug 3045.
|
|/ /
| |
| |
| | |
Fixes another part of bug 1297.
|
| | |
|
| | |
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bug3122_memcmp_022
Conflicts throughout. All resolved in favor of taking HEAD and
adding tor_mem* or fast_mem* ops as appropriate.
src/common/Makefile.am
src/or/circuitbuild.c
src/or/directory.c
src/or/dirserv.c
src/or/dirvote.c
src/or/networkstatus.c
src/or/rendclient.c
src/or/rendservice.c
src/or/router.c
src/or/routerlist.c
src/or/routerparse.c
src/or/test.c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Here I looked at the results of the automated conversion and cleaned
them up as follows:
If there was a tor_memcmp or tor_memeq that was in fact "safe"[*] I
changed it to a fast_memcmp or fast_memeq.
Otherwise if there was a tor_memcmp that could turn into a
tor_memneq or tor_memeq, I converted it.
This wants close attention.
[*] I'm erring on the side of caution here, and leaving some things
as tor_memcmp that could in my opinion use the data-dependent
fast_memcmp variant.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit is _exactly_ the result of
perl -i -pe 's/\bmemcmp\(/tor_memcmp\(/g' src/*/*.[ch]
perl -i -pe 's/\!\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch]
perl -i -pe 's/0\s*==\s*tor_memcmp\(/tor_memeq\(/g' src/*/*.[ch]
perl -i -pe 's/0\s*!=\s*tor_memcmp\(/tor_memneq\(/g' src/*/*.[ch]
git checkout src/common/di_ops.[ch]
git checkout src/or/test.c
git checkout src/common/test.h
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
src/or/or.h
src/or/rendclient.c
|
| |
| |
| |
| |
| | |
tor_fragile_assert() might be a no-op, so we have to return something
here to indicate failure to the caller.
|
| |
| |
| |
| | |
i.e. without closing the AP connection.
|
| |
| |
| |
| | |
(still not happy.)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Now we believe it to be the case that we never build a circuit for our
stream that has an unsuitable exit, so we'll never need to use such
a circuit. The risk is that we have some code that builds the circuit,
but now we refuse to use it, meaning we just build a bazillion circuits
and ignore them all.
|
| |
| |
| |
| |
| | |
We had a circuit_purpose_to_controller_string() function, but it was
pretty coarse-grained and didn't try to be human-readable.
|
| |
| |
| |
| |
| |
| | |
this function really needs to get a total rewrite (or die)
For now, use #if 0 to disable it.
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
src/or/or.h
|
| | |
| | |
| | |
| | |
| | | |
Remove some, postpone others, leave some alone. Now the only
remaining XXX022s are ones that seem important to fix or investigate.
|
| | | |
|
| | |
| | |
| | |
| | | |
Implement feature from trac #2799
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We've got millisecond timers now, we might as well use them.
This change won't actually make circuits get expiered with microsecond
precision, since we only call the expiry functions once per second.
Still, it should avoid the situation where we have a circuit get
expired too early because of rounding.
A couple of the expiry functions now call tor_gettimeofday: this
should be cheap since we're only doing it once per second. If it gets
to be called more often, though, we should onsider having the current
time be an argument again.
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
src/common/test.h
src/or/test.c
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In the first 100 circuits, our timeout_ms and close_ms
are the same. So we shouldn't transition circuits to purpose
CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT, since they will just timeout again
next time we check.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rechecking the timeout condition was foolish, because it is checked on the
same codepath. It was also wrong, because we didn't round.
Also, the liveness check itself should be <, and not <=, because we only have
1 second resolution.
|
|\| | |
|
| | |
| | |
| | |
| | |
| | | |
We now differentiate between timeouts and cutoffs by the REASON string and
the PURPOSE string.
|
|\| | |
|
| | |
| | |
| | |
| | |
| | | |
Use 4/3 of this timeout value for 4 hop circuits, and use half of it for
canabalized circuits.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Specifically, a circ attempt that we'd launched while the network was
down could timeout after we've marked our entrynodes up, marking them
back down again. The fix is to annotate as bad the OR conns that were
around before we did the retry, so if a circuit that's attached to them
times out we don't do anything about it.
|
|/ /
| |
| |
| |
| | |
We used to mark all our known bridges up when they're all down and we
get a new socks request. Now do that when we've set EntryNodes too.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
These circuits stick around much longer than others on the server side for
performance reasons. Their lifetime is controlled by the client.
|
| | |
|
| |
| |
| |
| |
| | |
("Application request when we're believed to be offline." ->
"Application request when we haven't used client functionality lately.")
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|