Commit d5e01c99 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

ready or not, 0.2.0.9-alpha comes out today. let's be ready.

(nick, i added a question for you in here.)


svn:r12141
parent 7ba52e9d
Loading
Loading
Loading
Loading
+69 −68
Original line number Diff line number Diff line
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.

  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
      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