Age | Commit message (Collapse) | Author |
|
Conflicts:
src/or/networkstatus.c
|
|
|
|
Conflicts:
src/or/networkstatus.c
|
|
We want to fetch directory info more aggressively if we need it to
refuseunknownexits. Thus, we'll want it if our exit policy is _NOT_
reject *.
|
|
|
|
Found by rransom while working on issue #988. Bugfix on
0.2.2.17-alpha. Fixes bug 2097.
|
|
|
|
-Wpointer-sign is implied with -Wall, which we use when building with
--enable-gcc-warnings.
|
|
When configuring with --enable-gcc-warnings, we use -Wformat=2 which
automatically enables the available -Wformat switches, so adding them
again in the --enable-gcc-hardening case doesn't make sense..
|
|
We used to enable ssp-buffer-size=1 only when building with
--enable-gcc-warnings. That would result in warnings (and no
protection for small arrays) when building with
--enable-gcc-hardening without enabling warnings, too. Fixes bug
2031.
Also remove an XXX: We now allow to build with -fstack-protector
by using --enable-gcc-hardening.
|
|
|
|
|
|
|
|
Clarify documentation, rename a local, and fix a memory leak.
|
|
|
|
|
|
The old comment was from before I tried a huge pile of crazy stuff to
make the inner loop faster. Short answer: GCC already knows how to
unroll loops pretty well. Other short answer: we should have made the
relay payload size an even multiple of 4, 8, or ideally 16.
|
|
|
|
It's okay to leave the asserts in: the code doesn't appear in profiles.
|
|
|
|
|
|
There's no reason to keep a time_t and a struct timeval to represent
the same value: highres_created.tv_sec was the same as timestamp_created.
This should save a few bytes per circuit.
|
|
We can't use the platform timercmp, because
1) some platforms don't have them
2) some that do have them only support certain relational operators
|
|
|
|
|
|
|
|
|
|
The short version is, "where we want to do it, we have nothing real to
chose from and we can't do it easily. Where it's easy to do, we have
no reason to do it yet."
|
|
|
|
|
|
|
|
We now call the function router_get_by_id_digest() to make clear that
we're talking about the identity digest here, not descriptor digest.
|
|
|
|
This might make bufferevents more asserty for a while, but they should
make other bugs less likely to go unnoticed.
Noted by Sebastian.
|
|
|
|
Also remove some debugging code.
|
|
Resolved a minor conflict in:
src/or/circuitbuild.c
|
|
|
|
Our old code correctly called bufferevent_flush() on linked
connections to make sure that the other side got an EOF event... but
it didn't call bufferevent_flush() when the connection wasn't
hold_open_until_flushed. Directory connections don't use
hold_open_until_flushed, so the linked exit connection never got an
EOF, so they never sent a RELAY_END cell to the client, and the
client never concluded that data had arrived.
The solution is to make the bufferevent_flush() code apply to _all_
closing linked conns whose partner is not already marked for close.
|
|
This reverts part of commit a0c1c2ac012fded493c0d8c49fe57e56373b061f.
|
|
|
|
If we don't, we will (among other bad things) never update
lastread/lastwritten, and so flood the network with keepalives.
|
|
This seems to fix another case of bug2001.
|
|
First start of a fix for bug2001, but my test network still isn't
working: the client and the server send each other VERSIONS cells,
but never notice that they got them.
|
|
|
|
Currently the unit tests test_util_spawn_background_* assume that they
are run from the Tor build directory. This is not the case when running
make distcheck, so the test will fail. This problem is fixed by autoconf
setting BUILDDIR to be the root of the Tor build directory, and this
preprocessor variable being used to specify the absolute path to
test-child. Also, in test-child, do not print out argv[0] because this will
no longer be predictable. Found by Sebastian Hahn.
|
|
|
|
|
|
3d6e2830876 silenced the autogen.sh warnings as it was supposed to, but
introduced two bugs. Fix them.
|
|
Follow-up fix to 3d6e2830876c for configure.in additions in master that
weren't in maint-0.2.2
|