| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
now that both timers are on the same schedule, there's no point
tracking separate timers.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relays used to check every 10 to 60 seconds, as an accidental side effect
of calling directory_fetches_from_authorities() when considering doing
a directory fetch. The fix for bug 1992 removes that side effect. At the
same time, bridge relays never had the side effect, leading to confused
bridge operators who tried crazy tricks to get their bridges to notice
IP address changes (see ticket 1913).
The new behavior is to reinstate an every-60-seconds check for both
public relays and bridge relays, now that the side effect is gone.
|
|
|
|
|
|
|
|
| |
For example, we were doing a resolve every time we think about doing a
directory fetch. Now we reuse the cached answer in some cases.
Fixes bugs 1992 (bugfix on 0.2.0.20-rc) and 2410 (bugfix on
0.1.2.2-alpha).
|
|
|
|
| |
I didn't make any of the callers use this feature yet.
|
|
|
|
|
|
|
|
|
|
| |
When we compute the estimated microseconds we need to handle our
pending onionskins, we could (in principle) overflow a uint32_t if
we ever had 4 million pending onionskins before we had any data
about how onionskins take. Nevertheless, let's compute it properly.
Fixes bug 8210; bugfix on 0.2.4.10. Found by coverity; this is CID
980651.
|
|
|
|
|
|
|
|
| |
If geoip_format_bridge_stats() returned NULL when it should have
returned a string, we would have tried to deref NULL, and died. Not
a big deal in the unit tests, but still worth fixing.
Found by coverity; This is CID 743384.
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
This one occurs when changing configuration options. Found by
coverity.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes a crash bug if we fail to generate an extrainfo
descriptor.
Fixes bug 8208; bugfix on 0.2.3.16-alpha.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Coverity is worried that we're checking entry_conn in some cases,
but not in the case where we set entry_conn->pending_optimistic_data.
This commit should calm it down (CID 718623).
|
| | |
| | |
| | |
| | | |
Found by coverity
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This shouldn't actually matter, since tor-resolve will return soon
after this function exits, but it's nice to be warning-free
Found by coverity, fixes CID 718633
|
| | |
| | |
| | |
| | | |
These shouldn't really matter, but it's nice to be leak-free.
|
| | |
| | |
| | |
| | | |
Fixes CID 980650; bugfix on 0.2.4.10-alpha.
|
| | |
| | |
| | |
| | |
| | | |
This test was accounting for about 2/3 of our unit tests' runtime,
even on systems with a fast curve25519. No test should take so long.
|
|\ \ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It returns the method by which we decided our public IP address
(explicitly configured, resolved from explicit hostname, guessed from
interfaces, learned by gethostname).
Now we can provide more helpful log messages when a relay guesses its IP
address incorrectly (e.g. due to unexpected lines in /etc/hosts). Resolves
ticket 2267.
While we're at it, stop sending a stray "(null)" in some cases for the
server status "EXTERNAL_ADDRESS" controller event. Resolves bug 8200.
|
| | | | |
|
|\ \ \ \ |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This check isn't necessary (see comment on #7801), but it took at
least two smart people a little while to see why it wasn't necessary,
so let's have it in to make the code more readable.
|
| | | | | |
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We need a weak RNG in a couple of places where the strong RNG is
both needless and too slow. We had been using the weak RNG from our
platform's libc implementation, but that was problematic (because
many platforms have exceptionally horrible weak RNGs -- like, ones
that only return values between 0 and SHORT_MAX) and because we were
using it in a way that was wrong for LCG-based weak RNGs. (We were
counting on the low bits of the LCG output to be as random as the
high ones, which isn't true.)
This patch adds a separate type for a weak RNG, adds an LCG
implementation for it, and uses that exclusively where we had been
using the platform weak RNG.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To avoid surprises, good coding practice suggests parenthesizing every
macro definition -- or at the very least, all those involving an
expression.
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | | |
Fixes bug 7727; fix on 0.2.4.10-alpha.
|
|\ \ \ \ |
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | / /
| | |/ /
| |/| | |
|
| |\ \ \ |
|
| | | | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | | |
Conflicts:
src/or/connection.c
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | |_|_|/
| |/| | |
| | | | |
| | | | | |
Conflicts:
src/common/util.c
|
| | | | |
| | | | |
| | | | |
| | | | | |
Spotted by coverity, bug 7816, bugfix on various versions.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes part of 7816. Spotted by coverity. Fix on 0.2.2.1-alpha.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Coverity spotted this. Bug 7816. Fix on 0.2.3.13-alpha.
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Spotted by coverity; partial fix for 7816; bugfix on 0.2.0.5-alpha.
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | | |
This one hits if the snprintf() fails when we're writing our IPv6
exit policy. It's new in 0.2.4.7-alpha. Part of bug 7816.
|
|\ \ \ \ \ |
|
| | | | | | |
|