[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Tor 0.2.1.9-alpha is out



Tor 0.2.1.9-alpha fixes many more bugs, some of them security-related.

https://www.torproject.org/download.html.en

Changes in version 0.2.1.9-alpha - 2008-12-25
  o New directory authorities:
    - gabelmoo (the authority run by Karsten Loesing) now has a new
      IP address.

  o Security fixes:
    - Never use a connection with a mismatched address to extend a
      circuit, unless that connection is canonical. A canonical
      connection is one whose address is authenticated by the router's
      identity key, either in a NETINFO cell or in a router descriptor.
    - Avoid a possible memory corruption bug when receiving hidden service
      descriptors. Bugfix on 0.2.1.6-alpha.

  o Major bugfixes:
    - Fix a logic error that would automatically reject all but the first
      configured DNS server. Bugfix on 0.2.1.5-alpha. Possible fix for
      part of bug 813/868. Bug spotted by coderman.
    - When a stream at an exit relay is in state "resolving" or
      "connecting" and it receives an "end" relay cell, the exit relay
      would silently ignore the end cell and not close the stream. If
      the client never closes the circuit, then the exit relay never
      closes the TCP connection. Bug introduced in 0.1.2.1-alpha;
      reported by "wood".
    - When we can't initialize DNS because the network is down, do not
      automatically stop Tor from starting. Instead, retry failed
      dns_inits() every 10 minutes, and change the exit policy to reject
      *:* until one succeeds. Fixes bug 691.

  o Minor features:
    - Give a better error message when an overzealous init script says
      "sudo -u username tor --user username". Makes Bug 882 easier for
      users to diagnose.
    - When a directory authority gives us a new guess for our IP address,
      log which authority we used. Hopefully this will help us debug
      the recent complaints about bad IP address guesses.
    - Detect svn revision properly when we're using git-svn.
    - Try not to open more than one descriptor-downloading connection
      to an authority at once. This should reduce load on directory
      authorities. Fixes bug 366.
    - Add cross-certification to newly generated certificates, so that
      a signing key is enough information to look up a certificate.
      Partial implementation of proposal 157.
    - Start serving certificates by <identity digest, signing key digest>
      pairs. Partial implementation of proposal 157.
    - Clients now never report any stream end reason except 'MISC'.
      Implements proposal 148.
    - On platforms with a maximum syslog string length, truncate syslog
      messages to that length ourselves, rather than relying on the
      system to do it for us.
    - Optimize out calls to time(NULL) that occur for every IO operation,
      or for every cell. On systems where time() is a slow syscall,
      this fix will be slightly helpful.
    - Exit servers can now answer resolve requests for ip6.arpa addresses.
    - When we download a descriptor that we then immediately (as
      a directory authority) reject, do not retry downloading it right
      away. Should save some bandwidth on authorities. Fix for bug
      888. Patch by Sebastian Hahn.
    - When a download gets us zero good descriptors, do not notify
      Tor that new directory information has arrived.
    - Avoid some nasty corner cases in the logic for marking connections
      as too old or obsolete or noncanonical for circuits.

  o Minor features (controller):
    - New CONSENSUS_ARRIVED event to note when a new consensus has
      been fetched and validated.
    - When we realize that another process has modified our cached
      descriptors file, print out a more useful error message rather
      than triggering an assertion. Fixes bug 885. Patch from Karsten.
    - Add an internal-use-only __ReloadTorrcOnSIGHUP option for
      controllers to prevent SIGHUP from reloading the
      configuration. Fixes bug 856.

  o Minor bugfixes:
    - Resume using the correct "REASON=" stream when telling the
      controller why we closed a stream. Bugfix in 0.2.1.1-alpha.
    - When a canonical connection appears later in our internal list
      than a noncanonical one for a given OR ID, always use the
      canonical one. Bugfix on 0.2.0.12-alpha. Fixes bug 805.
      Spotted by rovv.
    - Clip the MaxCircuitDirtiness config option to a minimum of 10
      seconds. Warn the user if lower values are given in the
      configuration. Bugfix on 0.1.0.1-rc. Patch by Sebastian.
    - Clip the CircuitBuildTimeout to a minimum of 30 seconds. Warn the
      user if lower values are given in the configuration. Bugfix on
      0.1.1.17-rc. Patch by Sebastian.
    - Fix a race condition when freeing keys shared between main thread
      and CPU workers that could result in a memory leak. Bugfix on
      0.1.0.1-rc. Fixes bug 889.

  o Minor bugfixes (hidden services):
    - Do not throw away existing introduction points on SIGHUP (bugfix on
      0.0.6pre1); also, do not stall hidden services because we're
      throwing away introduction points; bugfix on 0.2.1.7-alpha. Spotted
      by John Brooks. Patch by Karsten. Fixes bug 874.
    - Fix a memory leak when we decline to add a v2 rendezvous
      descriptor to the cache because we already had a v0 descriptor
      with the same ID. Bugfix on 0.2.0.18-alpha.

  o Deprecated and removed features:
    - RedirectExits has been removed. It was deprecated since
      0.2.0.3-alpha.
    - Finally remove deprecated "EXTENDED_FORMAT" controller feature. It
      has been called EXTENDED_EVENTS since 0.1.2.4-alpha.
    - Cell pools are now always enabled; --disable-cell-pools is ignored.

  o Code simplifications and refactoring:
    - Rename the confusing or_is_obsolete field to the more appropriate
      is_bad_for_new_circs, and move it to or_connection_t where it
      belongs.
    - Move edge-only flags from connection_t to edge_connection_t: not
      only is this better coding, but on machines of plausible alignment,
      it should save 4-8 bytes per connection_t. "Every little bit helps."
    - Rename ServerDNSAllowBrokenResolvConf to ServerDNSAllowBrokenConfig
      for consistency; keep old option working for backward compatibility.
    - Simplify the code for finding connections to use for a circuit.

Attachment: signature.asc
Description: Digital signature