* commit 'tor-0.2.2.1-alpha': (187 commits)
HiddenServiceVersion must be set to 2 currently.
put karsten's changelog in the right place
When Tor fails to parse a descriptor of any kind, dump it to disk.
update fetch-all with dir auth
changelog and spec changes for the .exit fix
bump to 0.2.2.1-alpha
typos in dir-spec
mark off a done proposal
clean up the changelog for 0.2.2.1-alpha
A changelog entry and a bit more documentation for socks-client
Clean up a couple of style issues in the socks-client branch.
new proposals: params in consensus, and lower circwindow
Add some fixes after discussion with Nick.
Refactor geoip_get_dirreq_history() some more.
Fix a memory leak in summarizing directory request timing.
Add the first 8 bytes of the git commit digest to our versions.
autoconf 2.59 appears not to support AC_PROG_SED
Survive unparseable cached cert file
Notice v3 cert parsing failures
Make crypto_digest_get_digest nondestructive again.
...
- Refactor geoip.c by moving duplicate code into rotate_request_period().
- Don't leak memory when cleaning up cell queues.
- Make sure that exit_(streams|bytes_(read|written)) are initialized in all
places accessing these arrays.
- Read only the last block from *stats files and ensure that its timestamp
is not more than 25 hours in the past and not more than 1 hour in the
future.
- Stop truncating the last character when reading *stats files.
The only thing that's left now is to avoid reading whole *stats files into
memory.
Note that unlike subversion revision numbers, it isn't meaningful to
compare these for anything but equality. We define a sort-order anyway,
in case one of these accidentally slips into a recommended-versions
list.
If any the v3 certs we download are unparseable, we should actually
notice the failure so we don't retry indefinitely. Bugfix on 0.2.0.x;
reported by "rotator".
(This would be everywhere running OpenSSL 0.9.7x and earlier, including
all current Macintosh users.)
The code is based on Tom St Denis's LibTomCrypt implementation,
modified to be way less general and use Tor's existing facilities. I
picked this one because it was pretty fast and pretty free, and
because Python uses it too.
The more verbose logs that were added in ee58153 also include a string
that might not have been initialized. This can lead to segfaults, e.g.,
when setting up private Tor networks. Initialize this string with NULL.