|
@@ -4,9 +4,8 @@ Changes in version 0.2.0.8-alpha - 2007-10-12
|
|
|
cached-routers. Initialize cached-descriptors from cached-routers
|
|
|
if the old format is around. The new format allows us to store
|
|
|
annotations along with descriptors.
|
|
|
- - Use annotations to record the time we received each descriptor.
|
|
|
- - Use annotations to record the source for each descriptor.
|
|
|
- - Use annotations to record the purpose of each descriptor.
|
|
|
+ - Use annotations to record the time we received each descriptor, its
|
|
|
+ source, and its purpose.
|
|
|
- Disable the SETROUTERPURPOSE controller command: it is now
|
|
|
obsolete.
|
|
|
- Controllers should now specify cache=no or cache=yes when using
|
|
@@ -26,13 +25,18 @@ Changes in version 0.2.0.8-alpha - 2007-10-12
|
|
|
stay up" is a good requirement for long-lived connections.
|
|
|
|
|
|
o Major features (v3 directory system):
|
|
|
- - Caches now download v3 network status documents as needed.
|
|
|
- - Caches now download descriptors listed in their v3 network status
|
|
|
- documents.
|
|
|
+ - Caches now download v3 network status documents as needed,
|
|
|
+ and download the descriptors listed in them.
|
|
|
- All hosts now attempt to download and keep fresh v3 authority
|
|
|
certificates, and re-attempt after failures.
|
|
|
- More internal-consistency checks for vote parsing.
|
|
|
|
|
|
+ o Major bugfixes (crashes):
|
|
|
+ - If a connection is shut down abruptly because of something that
|
|
|
+ happened inside connection_flushed_some(), do not call
|
|
|
+ connection_finished_flushing(). Should fix bug 451. Bugfix on
|
|
|
+ 0.1.2.7-alpha.
|
|
|
+
|
|
|
o Major bugfixes (performance):
|
|
|
- Fix really bad O(n^2) performance when parsing a long list of
|
|
|
routers: Instead of searching the entire list for an "extra-info "
|
|
@@ -40,17 +44,11 @@ Changes in version 0.2.0.8-alpha - 2007-10-12
|
|
|
we read, just scan lines forward until we find one we like.
|
|
|
Bugfix on 0.2.0.1.
|
|
|
- When we add data to a write buffer in response to the data on that
|
|
|
- write buffer getting low because of a flush, do not consider the newly
|
|
|
- added data as a candidate for immediate flushing, but rather make it
|
|
|
- wait until the next round of writing. Otherwise, we flush and refill
|
|
|
- recursively, and a single greedy TLS connection can eat all of our
|
|
|
- bandwidth. Bugfix on 0.1.2.7-alpha.
|
|
|
-
|
|
|
- o Major bugfixes (crashes):
|
|
|
- - If a connection is shut down abruptly because of something that
|
|
|
- happened inside connection_flushed_some(), do not call
|
|
|
- connection_finished_flushing(). Should fix bug 451. Bugfix on
|
|
|
- 0.1.2.7-alpha.
|
|
|
+ write buffer getting low because of a flush, do not consider the
|
|
|
+ newly added data as a candidate for immediate flushing, but rather
|
|
|
+ make it wait until the next round of writing. Otherwise, we flush
|
|
|
+ and refill recursively, and a single greedy TLS connection can
|
|
|
+ eat all of our bandwidth. Bugfix on 0.1.2.7-alpha.
|
|
|
|
|
|
o Minor features (v3 authority system):
|
|
|
- Add more ways for tools to download the votes that lead to the
|
|
@@ -65,16 +63,13 @@ Changes in version 0.2.0.8-alpha - 2007-10-12
|
|
|
two Tor servers on the same IP address, except if it's the location
|
|
|
of a directory authority, in which case allow five. Bugfix on
|
|
|
0.2.0.3-alpha.
|
|
|
- - When looking for a circuit to cannibalize, consider family as well
|
|
|
- as identity. Fixes bug 438. Bugfix on 0.1.0.x (which introduced
|
|
|
- circuit cannibalization).
|
|
|
|
|
|
o Minor bugfixes (controller):
|
|
|
- When sending a status event to the controller telling it that an
|
|
|
OR address is readable, set the port correctly. (Previously we
|
|
|
were reporting the dir port.) Bugfix on 0.1.2.x.
|
|
|
|
|
|
- o Minor bugfixes (v3 directory code):
|
|
|
+ o Minor bugfixes (v3 directory system):
|
|
|
- Fix logic to look up a cert by its signing key digest. Bugfix on
|
|
|
0.2.0.7-alpha.
|
|
|
- Only change the reply to a vote to "OK" if it's not already
|
|
@@ -93,37 +88,36 @@ Changes in version 0.2.0.8-alpha - 2007-10-12
|
|
|
instead of Java's) and optimize our digest hashing algorithm to take
|
|
|
advantage of 64-bit platforms and to remove some possibly-costly
|
|
|
voodoo.
|
|
|
+ - Fix a minor memory leak whenever we parse guards from our state
|
|
|
+ file. Bugfix on 0.2.0.7-alpha.
|
|
|
+ - Fix a minor memory leak whenever we write out a file. Bugfix on
|
|
|
+ 0.2.0.7-alpha.
|
|
|
+ - Fix a minor memory leak whenever a controller sends the PROTOCOLINFO
|
|
|
+ command. Bugfix on 0.2.0.5-alpha.
|
|
|
|
|
|
o Minor bugfixes (portability):
|
|
|
- - On some platforms, accept() can return a broken address. Detect
|
|
|
- this more quietly, and deal accordingly. (Fixes bug 483.)
|
|
|
+ - On some platforms, accept() can return a broken address. Detect
|
|
|
+ this more quietly, and deal accordingly. Fixes bug 483.
|
|
|
+ - Stop calling tor_strlower() on uninitialized memory in some cases.
|
|
|
+ Bugfix in 0.2.0.7-alpha.
|
|
|
|
|
|
o Minor bugfixes (usability):
|
|
|
- Treat some 403 responses from directory servers as INFO rather than
|
|
|
WARN-severity events.
|
|
|
-
|
|
|
- o Minor bugfixes (DNS):
|
|
|
- It's not actually an error to find a non-pending entry in the DNS
|
|
|
- cache when canceling a pending resolve. Don't log unless stuff
|
|
|
- is fishy. Resolves bug 463.
|
|
|
+ cache when canceling a pending resolve. Don't log unless stuff is
|
|
|
+ fishy. Resolves bug 463.
|
|
|
|
|
|
o Minor bugfixes (anonymity):
|
|
|
- Never report that we've used more bandwidth than we're willing to
|
|
|
relay: it leaks how much non-relay traffic we're using. Resolves
|
|
|
bug 516.
|
|
|
-
|
|
|
- o Minor bugfixes (of some sort):
|
|
|
- - Stop calling tor_strlower() on uninitialized memory in some cases.
|
|
|
- Bugfix in 0.2.0.7-alpha.
|
|
|
- - Fix a minor memory leak whenever we parse guards from our state
|
|
|
- file. Bugfix on 0.2.0.7-alpha.
|
|
|
- - Fix a minor memory leak whenever we write out a file. Bugfix on
|
|
|
- 0.2.0.7-alpha.
|
|
|
- - Fix a minor memory leak whenever a controller sends the PROTOCOLINFO
|
|
|
- command. Bugfix on 0.2.0.5-alpha.
|
|
|
+ - When looking for a circuit to cannibalize, consider family as well
|
|
|
+ as identity. Fixes bug 438. Bugfix on 0.1.0.x (which introduced
|
|
|
+ circuit cannibalization).
|
|
|
|
|
|
o Code simplifications and refactoring:
|
|
|
- - Make a bunch of functions static. Remove some dead code.
|
|
|
+ - Make a bunch of functions static. Remove some dead code.
|
|
|
- Pull out about a third of the really big routerlist.c; put it in a
|
|
|
new module, networkstatus.c.
|
|
|
- Merge the extra fields in local_routerstatus_t back into
|