Sebastian Hahn [Tue, 17 Aug 2010 21:27:02 +0000 (23:27 +0200)]
Remove unused function declarations
Also remove some #if 0'd code from the unit tests for buffers. The
code was killed in e6794e58081af773073c266e23fe3ab2ebecdb7e (5 years
ago), and is now broken anyways.
Nick Mathewson [Sat, 31 Jul 2010 17:48:41 +0000 (13:48 -0400)]
Scale CONSENSUS_MIN_SECONDS_BEFORE_CACHING by voting interval
If the voting interval was short enough, the two-minutes delay
of CONSENSUS_MIN_SECONDS_BEFORE_CACHING would confuse bridges
to the point where they would assert before downloading a consensus.
It it was even shorter (<4 minutes, I think), caches would
assert too. This patch fixes that by having replacing the
two-minutes value with MIN(2 minutes, interval/16).
Bugfix for 1141; the cache bug could occur since 0.2.0.8-alpha, so
I'm calling this a bugfix on that. Robert Hogan diagnosed this.
Done as a patch against maint-0.2.1, since it makes it hard to
run some kinds of testing networks.
Nick Mathewson [Mon, 16 Aug 2010 01:20:19 +0000 (21:20 -0400)]
Make unit tests work when tests get run in subprocesses.
Apparently the way we handled cleaning up temporary directories with
atexit() meant that when the child process exited, it would remove the
temporary directory, thus making other tests in the main process fail.
Linus Nordberg [Mon, 9 Aug 2010 19:44:21 +0000 (21:44 +0200)]
Bug #1773: Revert bad fix (4ef609b8) and do it properly.
* doc/Makefile.am: Move $(VAR:MOD) expansions inside "if USE_ASCIIDOC".
* doc/Makefile.am: Use proper variable name for text input files.
* doc/Makefile.am: Initialize vars to empty when !USE_ASCIIDOC.
Nick Mathewson [Sat, 7 Aug 2010 18:31:58 +0000 (14:31 -0400)]
Fix a rare bug in rend_fn tests when the randomly generated port is 0
Since the rend code doesn't like the port to be 0, we shouldn't generate
the port by declaring crypto_rand_int(65536); instead we should
say crypto_rand_int(65535)+1.
Karsten Loesing [Mon, 21 Jun 2010 16:52:46 +0000 (18:52 +0200)]
Allow enabling or disabling *Statistics while Tor is running.
With this patch we stop scheduling when we should write statistics using a
single timestamp in run_scheduled_events(). Instead, we remember when a
statistics interval starts separately for each statistic type in geoip.c
and rephist.c. Every time run_scheduled_events() tries to write stats to
disk, it learns when it should schedule the next such attempt.
This patch also enables all statistics to be stopped and restarted at a
later time.
This patch comes with a few refactorings, some of which were not easily
doable without the patch.
Nick Mathewson [Wed, 4 Aug 2010 16:21:48 +0000 (12:21 -0400)]
Remove the debian directory from the main git repository
Once upon a time it made sense to keep all the Debian files in the
main Tor distribution, since repeatedly merging them back in was hard.
Now that we're on git, that's no longer so.
Peter's debian repository at debian/tor.git on our git server has the
most recent version of the tor-on-debian packaging stuff, and the versions
in our own repository have gotten out of date.
Nick Mathewson [Tue, 15 Sep 2009 17:41:36 +0000 (13:41 -0400)]
Make "Nowhere" explicitly listable in torrc.
We already had the country code ?? indicating an unknown country, so all we
needed to do to make unknown countries excludable was to make the ?? code
discoverable.
Nick Mathewson [Sat, 31 Jul 2010 17:16:48 +0000 (13:16 -0400)]
Warn when encounter the same (non-list) option twice in the same place
It's okay to get (say) a SocksPort line in the torrc, and then a
SocksPort on the command line to override it, and then a SocksPort via
a controller to override *that*. But if there are two occurrences of
SocksPort in the torrc, or on the command line, or in a single SETCONF
command, then the user is likely confused. Our old code would not
help unconfuse the user, but would instead silently ignore all but
the last occurrence.
This patch changes the behavior so that if the some option is passed
more than once to any torrc, command line, or SETCONF (each of which
coincidentally corresponds to a call to config_assign()), and the
option is not a type that allows multiple occurrences (LINELIST or
LINELIST_X), then we can warn the user.