|
@@ -1,76 +1,80 @@
|
|
|
-Changes in version 0.2.0.9-alpha - 2007-10-??
|
|
|
- o Major features (v3 directory system):
|
|
|
+Changes in version 0.2.0.9-alpha - 2007-10-24
|
|
|
+ o Major features (directory system):
|
|
|
- Clients now download v3 consensus networkstatus documents instead
|
|
|
- of v2 networkstatus documents. Clients and caches now their opinions
|
|
|
- about routers on these consensus documents. Clients only download
|
|
|
- router descriptors listed in the consensus.
|
|
|
- - Authorities now list servers who have the same nickname as a different
|
|
|
- named server, but list them with a new flag, "Unnamed". (122)
|
|
|
+ of v2 networkstatus documents. Clients and caches now base their
|
|
|
+ opinions about routers on these consensus documents. Clients only
|
|
|
+ download router descriptors listed in the consensus.
|
|
|
+ - Authorities now list servers who have the same nickname as
|
|
|
+ a different named server, but list them with a new flag,
|
|
|
+ "Unnamed". Partially implements proposal 122.
|
|
|
- If the consensus list a router as "Unnamed", the name is assigned
|
|
|
to a different router: do not identify the router by that name.
|
|
|
- (Partially implements proposal 122.)
|
|
|
+ Partially implements proposal 122.
|
|
|
- Authorities can now come to a consensus on which method to use to
|
|
|
- compute the consensus. This gives us forward compatibility.
|
|
|
+ compute the consensus. This gives us forward compatibility.
|
|
|
|
|
|
o Major bugfixes:
|
|
|
- Stop publishing a new server descriptor just because we HUP or
|
|
|
when we find our DirPort to be reachable but won't actually publish
|
|
|
- it. Extra descriptors without any real changes are dropped by the
|
|
|
+ it. New descriptors without any real changes are dropped by the
|
|
|
authorities, and can screw up our "publish every 18 hours" schedule.
|
|
|
+ Bugfix on 0.1.2.x.
|
|
|
- When a router wasn't listed in a new networkstatus, we were leaving
|
|
|
the flags for that router alone -- meaning it remained Named,
|
|
|
Running, etc -- even though absence from the networkstatus means
|
|
|
that it shouldn't be considered to exist at all anymore. Now we
|
|
|
clear all the flags for routers that fall out of the networkstatus
|
|
|
- consensus. Fixes bug 529.
|
|
|
+ consensus. Fixes bug 529; bugfix on 0.1.2.x.
|
|
|
- Fix awful behavior in DownloadExtraInfo option where we'd fetch
|
|
|
extrainfo documents and then discard them immediately for not
|
|
|
- matching the latest router.
|
|
|
+ matching the latest router. Bugfix on ????NICK????
|
|
|
|
|
|
o Minor features (v3 directory protocol):
|
|
|
- - Allow tor-gencert to generate a new certificate without replacing the
|
|
|
- signing key.
|
|
|
+ - Allow tor-gencert to generate a new certificate without replacing
|
|
|
+ the signing key.
|
|
|
- Allow certificates to include an address.
|
|
|
- When we change our directory-cache settings, reschedule all voting
|
|
|
and download operations.
|
|
|
- - Reattempt certificate downloads immediately on failure, as appropriate.
|
|
|
+ - Reattempt certificate downloads immediately on failure, as long as
|
|
|
+ we haven't failed a threshold number of times yet.
|
|
|
|
|
|
o Minor features (router descriptor cache):
|
|
|
- If we find a cached-routers file that's been sitting around for more
|
|
|
- than 28 days unmodified, then most likely it's a leftover from when we
|
|
|
- upgraded to 0.2.0.8-alpha. Remove it. It has no good routers anyway.
|
|
|
- - When we (as a cache) download a descriptor because it was listed in a
|
|
|
- consensus, remember when the consensus was supposed to expire, and
|
|
|
- don't expire the descriptor until then.
|
|
|
+ than 28 days unmodified, then most likely it's a leftover from
|
|
|
+ when we upgraded to 0.2.0.8-alpha. Remove it. It has no good
|
|
|
+ routers anyway.
|
|
|
+ - When we (as a cache) download a descriptor because it was listed
|
|
|
+ in a consensus, remember when the consensus was supposed to expire,
|
|
|
+ and don't expire the descriptor until then.
|
|
|
|
|
|
o Minor features (performance):
|
|
|
- - Call routerlist_remove_old_routers() much less often. This should
|
|
|
+ - Call routerlist_remove_old_routers() much less often. This should
|
|
|
speed startup, especially on directory caches.
|
|
|
- - Don't try to launch descriptor downloads quite so often when we
|
|
|
- have enough directory information.
|
|
|
+ - Don't try to launch new descriptor downloads quite so often when we
|
|
|
+ already have enough directory information to build circuits.
|
|
|
+ - Base64 decoding was actually showing up on our profile when parsing
|
|
|
+ the initial descriptor file; switch to an in-process all-at-once
|
|
|
+ implementation that's about 3.5x times faster than calling out to
|
|
|
+ OpenSSL.
|
|
|
|
|
|
o Minor features (compilation):
|
|
|
- Detect non-ASCII platforms (if any still exist) and refuse to
|
|
|
- build there. Some of our code assumes that 'A' is 65 and so on.
|
|
|
+ build there: some of our code assumes that 'A' is 65 and so on.
|
|
|
|
|
|
- o Minor bugfixes (directory authorities):
|
|
|
- - Correct the implementation of "download votes by digest." Bugfix on
|
|
|
- 0.2.0.8-alpha.
|
|
|
+ o Minor bugfixes (v3 directory authorities, bugfixes on 0.2.0.x):
|
|
|
- Make the "next period" votes into "current period" votes immediately
|
|
|
- after publishing the consensus; avoid a heisenbug that made them stick
|
|
|
- around indefinitely.
|
|
|
- - When we discard a vote as a duplicate, do not report this as an error.
|
|
|
- - Correctly check for bad options to the "PublishServerDescriptor"
|
|
|
- config option. Bugfix on 0.2.0.1-alpha; reported by Matt Edman.
|
|
|
- - When we discard a vote as a duplicate, do not report this as an error.
|
|
|
- - When we're configured to be a v3 authority, but we're only listed
|
|
|
- as a non-v3 authority in our DirServer line for ourself, correct the
|
|
|
- listing.
|
|
|
+ after publishing the consensus; avoid a heisenbug that made them
|
|
|
+ stick around indefinitely.
|
|
|
+ - When we discard a vote as a duplicate, do not report this as
|
|
|
+ an error.
|
|
|
- Treat missing v3 keys or certificates as an error when running as a
|
|
|
v3 directory authority.
|
|
|
- - If an authority doesn't have a qualified hostname, just put its address
|
|
|
- in the vote. This fixes the problem where we referred to "moria on
|
|
|
- moria:9031."
|
|
|
+ - When we're configured to be a v3 authority, but we're only listed
|
|
|
+ as a non-v3 authority in our DirServer line for ourself, correct
|
|
|
+ the listing.
|
|
|
+ - If an authority doesn't have a qualified hostname, just put
|
|
|
+ its address in the vote. This fixes the problem where we referred to
|
|
|
+ "moria on moria:9031."
|
|
|
- Distinguish between detached signatures for the wrong period, and
|
|
|
detached signatures for a divergent vote.
|
|
|
- Fix a small memory leak when computing a consensus.
|
|
@@ -79,59 +83,56 @@ Changes in version 0.2.0.9-alpha - 2007-10-??
|
|
|
on our configured V3AuthVotingInterval: so unless the intervals
|
|
|
matched up, we immediately rejected our own vote because it didn't
|
|
|
start at the voting interval that caused us to construct a vote.
|
|
|
- - Authorities no longer send back "400 you're unreachable please fix
|
|
|
- it" errors to Tor servers that aren't online all the time. We're
|
|
|
- supposed to tolerate these servers now.
|
|
|
|
|
|
- o Minor bugfixes (v3 directory protocol):
|
|
|
+ o Minor bugfixes (v3 directory protocol, bugfixes on 0.2.0.x):
|
|
|
- Delete unverified-consensus when the real consensus is set.
|
|
|
- - Consider retrying a consensus networkstatus fetch immediately after one
|
|
|
- fails: don't wait 60 seconds to notice.
|
|
|
+ - Consider retrying a consensus networkstatus fetch immediately
|
|
|
+ after one fails: don't wait 60 seconds to notice.
|
|
|
- When fetching a consensus as a cache, wait until a newer consensus
|
|
|
- exists before trying to replace the current one.
|
|
|
+ should exist before trying to replace the current one.
|
|
|
+
|
|
|
+ o Minor bugfixes (other directory issues):
|
|
|
+ - Correct the implementation of "download votes by digest." Bugfix on
|
|
|
+ 0.2.0.8-alpha.
|
|
|
+ - Authorities no longer send back "400 you're unreachable please fix
|
|
|
+ it" errors to Tor servers that aren't online all the time. We're
|
|
|
+ supposed to tolerate these servers now. Bugfix on 0.1.2.x.
|
|
|
|
|
|
o Minor bugfixes (controller):
|
|
|
- Don't reset trusted dir server list when we set a configuration
|
|
|
- option. Patch from Robert Hogan.
|
|
|
+ option. Patch from Robert Hogan; bugfix on 0.1.2.x.
|
|
|
- Respond to INT and TERM SIGNAL commands before we execute the
|
|
|
signal, in case the signal shuts us down. We had a patch in
|
|
|
0.1.2.1-alpha that tried to do this by queueing the response on
|
|
|
the connection's buffer before shutting down, but that really
|
|
|
- isn't the same thing. Bug located by Matt Edman.
|
|
|
-
|
|
|
- o Minor bugfixes (memory leaks):
|
|
|
- - Stop leaking memory on failing case of base32_decode. Bugfix on
|
|
|
- 0.2.0.7-alpha.
|
|
|
+ isn't the same thing at all. Bug located by Matt Edman.
|
|
|
|
|
|
o Minor bugfixes (misc):
|
|
|
- - Make base32_decode() accept upper-case letters. Bugfix on
|
|
|
- 0.2.0.7-alpha.
|
|
|
+ - Correctly check for bad options to the "PublishServerDescriptor"
|
|
|
+ config option. Bugfix on 0.2.0.1-alpha; reported by Matt Edman.
|
|
|
+ - Stop leaking memory on failing case of base32_decode, and make
|
|
|
+ it accept upper-case letters. Bugfixes on 0.2.0.7-alpha.
|
|
|
- Don't try to download extrainfo documents when we're trying to
|
|
|
fetch enough directory info to build a circuit: having enough
|
|
|
- info should get priority.
|
|
|
+ info should get priority. Bugfix on 0.2.0.x.
|
|
|
- Don't complain that "your server has not managed to confirm that its
|
|
|
ports are reachable" if we haven't been able to build any circuits
|
|
|
- yet. Bug found by spending four hours without a v3 consensus.
|
|
|
-
|
|
|
- o Minor bugfixes (performance):
|
|
|
- - Base64 decoding was actually showing up on our profile when parsing
|
|
|
- the initial descriptor file; switch to an in-process all-at-once
|
|
|
- implementation that's about 3.5x times faster than calling out to
|
|
|
- OpenSSL.
|
|
|
+ yet. Bug found by spending four hours without a v3 consensus. Bugfix
|
|
|
+ on 0.1.2.x.
|
|
|
|
|
|
o Code simplifications and refactoring:
|
|
|
- Remove support for the old bw_accounting file: we've been storing
|
|
|
- bandwidth accounting information in the state file since 0.1.2.5-alpha.
|
|
|
- This may result in bandwidth accounting errors if you try to upgrade
|
|
|
- from 0.1.1.x or earlier, or if you try to downgrade to 0.1.1.x or
|
|
|
- earlier.
|
|
|
+ bandwidth accounting information in the state file since
|
|
|
+ 0.1.2.5-alpha. This may result in bandwidth accounting errors
|
|
|
+ if you try to upgrade from 0.1.1.x or earlier, or if you try to
|
|
|
+ downgrade to 0.1.1.x or earlier.
|
|
|
- New convenience code to locate a file within the DataDirectory.
|
|
|
- Move non-authority functionality out of dirvote.c.
|
|
|
|
|
|
o Utilities
|
|
|
- Include the "tor-ctrl.sh" bash script by Stefan Behte to provide
|
|
|
- Unix users an easy way to script their Tor process (e.g. by adjusting
|
|
|
- bandwidth based on the time of the day).
|
|
|
+ Unix users an easy way to script their Tor process (e.g. by
|
|
|
+ adjusting bandwidth based on the time of the day).
|
|
|
|
|
|
|
|
|
Changes in version 0.2.0.8-alpha - 2007-10-12
|