<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://blog.torproject.org" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>tor</title>
 <link>http://blog.torproject.org/category/tags/tor</link>
 <description>The taxonomy view with a depth of 0.</description>
 <language>en</language>
<item>
 <title>Installing and using Tor</title>
 <link>http://blog.torproject.org/blog/installing-and-using-tor</link>
 <description>&lt;p&gt;Thanks to Rob at &lt;a href=&quot;http://www.freedomhouse.org&quot; rel=&quot;nofollow&quot;&gt;Freedom House&lt;/a&gt; for putting together some videos about how to get, install, and use Tor, Tor Browser Bundle, and Bridges.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installing and Using Tor, &lt;a href=&quot;http://tinyvid.tv/show/3lejztnthk2tm&quot; title=&quot;http://tinyvid.tv/show/3lejztnthk2tm&quot; rel=&quot;nofollow&quot;&gt;http://tinyvid.tv/show/3lejztnthk2tm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Installing and Using the Tor Browser Bundle, &lt;a href=&quot;http://tinyvid.tv/show/b0e2hzylie8r&quot; title=&quot;http://tinyvid.tv/show/b0e2hzylie8r&quot; rel=&quot;nofollow&quot;&gt;http://tinyvid.tv/show/b0e2hzylie8r&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Installing and Using Bridges with Tor, &lt;a href=&quot;http://tinyvid.tv/show/3uiwckrlqynqv&quot; title=&quot;http://tinyvid.tv/show/3uiwckrlqynqv&quot; rel=&quot;nofollow&quot;&gt;http://tinyvid.tv/show/3uiwckrlqynqv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Freedom House has put together other videos on various tools to use to stay secure online at, &lt;a href=&quot;http://www.youtube.com/freedom4internet&quot; title=&quot;http://www.youtube.com/freedom4internet&quot; rel=&quot;nofollow&quot;&gt;http://www.youtube.com/freedom4internet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Check them out and leave constructive feedback.  I&#039;m sure Rob will appreciate help with translating these videos as well.&lt;/p&gt;
</description>
 <comments>http://blog.torproject.org/blog/installing-and-using-tor#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/bridges">bridges</category>
 <category domain="http://blog.torproject.org/category/tags/documentation">documentation</category>
 <category domain="http://blog.torproject.org/category/tags/freedom-house">freedom house</category>
 <category domain="http://blog.torproject.org/category/tags/installing-and-using-tor">installing and using tor</category>
 <category domain="http://blog.torproject.org/category/tags/instructions">instructions</category>
 <category domain="http://blog.torproject.org/category/tags/internet-freedom">internet freedom</category>
 <category domain="http://blog.torproject.org/category/tags/tinyvid">tinyvid</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <category domain="http://blog.torproject.org/category/tags/tor-browser-bundle">tor browser bundle</category>
 <category domain="http://blog.torproject.org/category/tags/videos">videos</category>
 <category domain="http://blog.torproject.org/category/tags/youtube">youtube</category>
 <pubDate>Thu, 19 Nov 2009 18:31:30 -0800</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">208 at http://blog.torproject.org</guid>
</item>
<item>
 <title>Tor 0.2.1.17-rc released</title>
 <link>http://blog.torproject.org/blog/tor-02117rc-released</link>
 <description>&lt;p&gt;Tor 0.2.1.17-rc marks the fourth -- and hopefully last -- release&lt;br /&gt;
candidate for the 0.2.1.x series. It lays the groundwork for further&lt;br /&gt;
client performance improvements, and also fixes a big bug with directory&lt;br /&gt;
authorities that were causing them to assign Guard and Stable flags&lt;br /&gt;
poorly.&lt;/p&gt;
&lt;p&gt;The Windows bundles also finally include the geoip database that we&lt;br /&gt;
thought we&#039;d been shipping since 0.2.0.x (oops), and the OS X bundles&lt;br /&gt;
should actually install Torbutton rather than giving you a cryptic&lt;br /&gt;
failure message (oops).&lt;/p&gt;
&lt;p&gt;This is a release candidate! That means that we don&#039;t know of any&lt;br /&gt;
remaining show-stopping bugs, and 0.2.1.18 will be the new stable if&lt;br /&gt;
there are no problems. Please test it, and tell us about any problems&lt;br /&gt;
that you find.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.torproject.org/download&quot; title=&quot;https://www.torproject.org/download&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/download&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Changes in version 0.2.1.17-rc - 2009-07-02&lt;br /&gt;
&lt;strong&gt;Major features:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clients now use the bandwidth values in the consensus, rather than&lt;br /&gt;
      the bandwidth values in each relay descriptor. This approach opens&lt;br /&gt;
      the door to more accurate bandwidth estimates once the directory&lt;br /&gt;
      authorities start doing active measurements. Implements more of&lt;br /&gt;
      proposal 141.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Major bugfixes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When Tor clients restart after 1-5 days, they discard all their&lt;br /&gt;
      cached descriptors as too old, but they still use the cached&lt;br /&gt;
      consensus document. This approach is good for robustness, but&lt;br /&gt;
      bad for performance: since they don&#039;t know any bandwidths, they&lt;br /&gt;
      end up choosing at random rather than weighting their choice by&lt;br /&gt;
      speed. Fixed by the above feature of putting bandwidths in the&lt;br /&gt;
      consensus. Bugfix on 0.2.0.x.&lt;/li&gt;
&lt;li&gt;Directory authorities were neglecting to mark relays down in their&lt;br /&gt;
      internal histories if the relays fall off the routerlist without&lt;br /&gt;
      ever being found unreachable. So there were relays in the histories&lt;br /&gt;
      that haven&#039;t been seen for eight months, and are listed as being&lt;br /&gt;
      up for eight months. This wreaked havoc on the &quot;median wfu&quot;&lt;br /&gt;
      and &quot;median mtbf&quot; calculations, in turn making Guard and Stable&lt;br /&gt;
      flags very wrong, hurting network performance. Fixes bugs 696 and&lt;br /&gt;
      969. Bugfix on 0.2.0.6-alpha.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Minor bugfixes:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Serve the DirPortFrontPage page even when we have been approaching&lt;br /&gt;
      our quotas recently. Fixes bug 1013; bugfix on 0.2.1.8-alpha.&lt;/li&gt;
&lt;li&gt;The control port would close the connection before flushing long&lt;br /&gt;
      replies, such as the network consensus, if a QUIT command was issued&lt;br /&gt;
      before the reply had completed. Now, the control port flushes all&lt;br /&gt;
      pending replies before closing the connection. Also fixed a spurious&lt;br /&gt;
      warning when a QUIT command is issued after a malformed or rejected&lt;br /&gt;
      AUTHENTICATE command, but before the connection was closed. Patch&lt;br /&gt;
      by Marcus Griep. Bugfix on 0.2.0.x; fixes bugs 1015 and 1016.&lt;/li&gt;
&lt;li&gt;When we can&#039;t find an intro key for a v2 hidden service descriptor,&lt;br /&gt;
      fall back to the v0 hidden service descriptor and log a bug message.&lt;br /&gt;
      Workaround for bug 1024.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Minor features:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If we&#039;re a relay and we change our IP address, be more verbose&lt;br /&gt;
      about the reason that made us change. Should help track down&lt;br /&gt;
      further bugs for relays on dynamic IP addresses.&lt;/li&gt;
&lt;/ul&gt;
</description>
 <comments>http://blog.torproject.org/blog/tor-02117rc-released#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/bug-fixes">bug fixes</category>
 <category domain="http://blog.torproject.org/category/tags/release-candidate">release candidate</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <pubDate>Sun, 12 Jul 2009 20:47:06 -0700</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">154 at http://blog.torproject.org</guid>
</item>
<item>
 <title>Measuring Tor and Iran</title>
 <link>http://blog.torproject.org/blog/measuring-tor-and-iran</link>
 <description>&lt;p&gt;I&#039;ve been fielding some calls from the press about Tor and Iran.  Someone quoted me as saying &quot;double the clients from Iran over the past few days&quot;.  We wondered, what are the real numbers?  What does our network see from Iran?  Is port 443 or https:// really blocked?  Here&#039;s what we&#039;ve discovered in the past day of working with the &lt;a href=&quot;https://blog.torproject.org/blog/performance-measurements-and-blockingresistance-analysis-tor-network&quot;&gt;new metrics&lt;/a&gt; we&#039;ve developed to be safe to collect without compromising anyone&#039;s anonymity.&lt;/p&gt;
&lt;p&gt;This first dataset is from one of the Directory Authorities. We have six authorities, so a plausible scaling factor is 6, assuming all authorities are seeing equal requests (it could be more or less than 6, too).  We don&#039;t know if the authorities are seeing equal requests, as they listen on different TCP ports, are located in different parts of the world, and clients will chose one randomly.  This graph roughly shows the number of requests from new Tor clients coming from IP addresses that our geoip database reports as Iran.&lt;br /&gt;
&lt;center&gt;&lt;img height=&quot;375&quot; width=&quot;500&quot; src=&quot;https://blog.torproject.org/files/new_tor_clients_from_iranian_ip_space.png&quot;&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;UPDATE 2009-06-24: Updated the graph with numbers through yesterday&lt;/p&gt;
&lt;p&gt;The second dataset is from one Directory Mirror, of which there are hundreds.  This mirror is only accessible on port 443, which is rumored to be blocked in parts of Iran over the past few days.&lt;br /&gt;
&lt;center&gt;&lt;img height=&quot;375&quot; width=&quot;500&quot; src=&quot;https://blog.torproject.org/files/tor_clients_from_iranian_ip_space_(port_443).png&quot;&gt;&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;The data points in the second graph are very rough, since they&#039;re an estimate of the total number of Tor users in Iran based on numbers from only one relay. In addition, we looked at some other relays running on port 443, and they also didn&#039;t show anywhere near the spike that we see in the directory authority graph above. The authority isn&#039;t listening on 443 -- perhaps that means there&#039;s some truth to the rumors that port 443 has been blocked recently in Iran. We look forward to having more precise data later on.&lt;/p&gt;
</description>
 <comments>http://blog.torproject.org/blog/measuring-tor-and-iran#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/directory-services">directory services</category>
 <category domain="http://blog.torproject.org/category/tags/iran">iran</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <enclosure url="http://blog.torproject.org/files/tor_clients_from_iranian_ip_space_(port_443).png" length="36846" type="image/png" />
 <pubDate>Fri, 19 Jun 2009 01:35:08 -0700</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">139 at http://blog.torproject.org</guid>
</item>
<item>
 <title>Tor 0.2.0.30 is released as stable</title>
 <link>http://blog.torproject.org/blog/tor-0.2.0.30-released-stable</link>
 <description>&lt;p&gt;Tor 0.2.0.30 is released.  A better formatted version of this report can be found &lt;a href=&quot;http://permalink.gmane.org/gmane.network.onion-routing.announce/21&quot; rel=&quot;nofollow&quot;&gt;at gmane.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tor 0.2.0.30 switches to a more efficient directory distribution design,&lt;br /&gt;
adds features to make connections to the Tor network harder to block,&lt;br /&gt;
allows Tor to act as a DNS proxy, adds separate rate limiting for relayed&lt;br /&gt;
traffic to make it easier for clients to become relays, fixes a variety&lt;br /&gt;
of potential anonymity problems, and includes the usual huge pile of&lt;br /&gt;
other features and bug fixes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.torproject.org/download.html&quot; title=&quot;https://www.torproject.org/download.html&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/download.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Changes in version 0.2.0.30 - 2008-07-15&lt;br /&gt;
  o New v3 directory design:&lt;br /&gt;
    - Tor now uses a new way to learn about and distribute information&lt;br /&gt;
      about the network: the directory authorities vote on a common&lt;br /&gt;
      network status document rather than each publishing their own&lt;br /&gt;
      opinion. Now clients and caches download only one networkstatus&lt;br /&gt;
      document to bootstrap, rather than downloading one for each&lt;br /&gt;
      authority. Clients only download router descriptors listed in&lt;br /&gt;
      the consensus. Implements proposal 101; see doc/spec/dir-spec.txt&lt;br /&gt;
      for details.&lt;br /&gt;
    - Set up moria1, tor26, and dizum as v3 directory authorities&lt;br /&gt;
      in addition to being v2 authorities. Also add three new ones:&lt;br /&gt;
      ides (run by Mike Perry), gabelmoo (run by Karsten Loesing), and&lt;br /&gt;
      dannenberg (run by CCC).&lt;br /&gt;
    - Switch to multi-level keys for directory authorities: now their&lt;br /&gt;
      long-term identity key can be kept offline, and they periodically&lt;br /&gt;
      generate a new signing key. Clients fetch the &quot;key certificates&quot;&lt;br /&gt;
      to keep up to date on the right keys. Add a standalone tool&lt;br /&gt;
      &quot;tor-gencert&quot; to generate key certificates. Implements proposal 103.&lt;br /&gt;
    - Add a new V3AuthUseLegacyKey config option to make it easier for&lt;br /&gt;
      v3 authorities to change their identity keys if another bug like&lt;br /&gt;
      Debian&#039;s OpenSSL RNG flaw appears.&lt;br /&gt;
    - Authorities and caches fetch the v2 networkstatus documents&lt;br /&gt;
      less often, now that v3 is recommended.&lt;/p&gt;
&lt;p&gt;  o Make Tor connections stand out less on the wire:&lt;br /&gt;
    - Use an improved TLS handshake designed by Steven Murdoch in proposal&lt;br /&gt;
      124, as revised in proposal 130. The new handshake is meant to&lt;br /&gt;
      be harder for censors to fingerprint, and it adds the ability&lt;br /&gt;
      to detect certain kinds of man-in-the-middle traffic analysis&lt;br /&gt;
      attacks. The new handshake format includes version negotiation for&lt;br /&gt;
      OR connections as described in proposal 105, which will allow us&lt;br /&gt;
      to improve Tor&#039;s link protocol more safely in the future.&lt;br /&gt;
    - Enable encrypted directory connections by default for non-relays,&lt;br /&gt;
      so censor tools that block Tor directory connections based on their&lt;br /&gt;
      plaintext patterns will no longer work. This means Tor works in&lt;br /&gt;
      certain censored countries by default again.&lt;br /&gt;
    - Stop including recognizeable strings in the commonname part of&lt;br /&gt;
      Tor&#039;s x509 certificates.&lt;/p&gt;
&lt;p&gt;  o Implement bridge relays:&lt;br /&gt;
    - Bridge relays (or &quot;bridges&quot; for short) are Tor relays that aren&#039;t&lt;br /&gt;
      listed in the main Tor directory. Since there is no complete public&lt;br /&gt;
      list of them, even an ISP that is filtering connections to all the&lt;br /&gt;
      known Tor relays probably won&#039;t be able to block all the bridges.&lt;br /&gt;
      See doc/design-paper/blocking.pdf and proposal 125 for details.&lt;br /&gt;
    - New config option BridgeRelay that specifies you want to be a&lt;br /&gt;
      bridge relay rather than a normal relay. When BridgeRelay is set&lt;br /&gt;
      to 1, then a) you cache dir info even if your DirPort ins&#039;t on,&lt;br /&gt;
      and b) the default for PublishServerDescriptor is now &quot;bridge&quot;&lt;br /&gt;
      rather than &quot;v2,v3&quot;.&lt;br /&gt;
    - New config option &quot;UseBridges 1&quot; for clients that want to use bridge&lt;br /&gt;
      relays instead of ordinary entry guards. Clients then specify&lt;br /&gt;
      bridge relays by adding &quot;Bridge&quot; lines to their config file. Users&lt;br /&gt;
      can learn about a bridge relay either manually through word of&lt;br /&gt;
      mouth, or by one of our rate-limited mechanisms for giving out&lt;br /&gt;
      bridge addresses without letting an attacker easily enumerate them&lt;br /&gt;
      all. See &lt;a href=&quot;https://www.torproject.org/bridges&quot; title=&quot;https://www.torproject.org/bridges&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/bridges&lt;/a&gt; for details.&lt;br /&gt;
    - Bridge relays behave like clients with respect to time intervals&lt;br /&gt;
      for downloading new v3 consensus documents -- otherwise they&lt;br /&gt;
      stand out. Bridge users now wait until the end of the interval,&lt;br /&gt;
      so their bridge relay will be sure to have a new consensus document.&lt;/p&gt;
&lt;p&gt;  o Implement bridge directory authorities:&lt;br /&gt;
    - Bridge authorities are like normal directory authorities, except&lt;br /&gt;
      they don&#039;t serve a list of known bridges. Therefore users that know&lt;br /&gt;
      a bridge&#039;s fingerprint can fetch a relay descriptor for that bridge,&lt;br /&gt;
      including fetching updates e.g. if the bridge changes IP address,&lt;br /&gt;
      yet an attacker can&#039;t just fetch a list of all the bridges.&lt;br /&gt;
    - Set up Tonga as the default bridge directory authority.&lt;br /&gt;
    - Bridge authorities refuse to serve bridge descriptors or other&lt;br /&gt;
      bridge information over unencrypted connections (that is, when&lt;br /&gt;
      responding to direct DirPort requests rather than begin_dir cells.)&lt;br /&gt;
    - Bridge directory authorities do reachability testing on the&lt;br /&gt;
      bridges they know. They provide router status summaries to the&lt;br /&gt;
      controller via &quot;getinfo ns/purpose/bridge&quot;, and also dump summaries&lt;br /&gt;
      to a file periodically, so we can keep internal stats about which&lt;br /&gt;
      bridges are functioning.&lt;br /&gt;
    - If bridge users set the UpdateBridgesFromAuthority config option,&lt;br /&gt;
      but the digest they ask for is a 404 on the bridge authority,&lt;br /&gt;
      they fall back to contacting the bridge directly.&lt;br /&gt;
    - Bridges always use begin_dir to publish their server descriptor to&lt;br /&gt;
      the bridge authority using an anonymous encrypted tunnel.&lt;br /&gt;
    - Early work on a &quot;bridge community&quot; design: if bridge authorities set&lt;br /&gt;
      the BridgePassword config option, they will serve a snapshot of&lt;br /&gt;
      known bridge routerstatuses from their DirPort to anybody who&lt;br /&gt;
      knows that password. Unset by default.&lt;br /&gt;
    - Tor now includes an IP-to-country GeoIP file, so bridge relays can&lt;br /&gt;
      report sanitized aggregated summaries in their extra-info documents&lt;br /&gt;
      privately to the bridge authority, listing which countries are&lt;br /&gt;
      able to reach them. We hope this mechanism will let us learn when&lt;br /&gt;
      certain countries start trying to block bridges.&lt;br /&gt;
    - Bridge authorities write bridge descriptors to disk, so they can&lt;br /&gt;
      reload them after a reboot. They can also export the descriptors&lt;br /&gt;
      to other programs, so we can distribute them to blocked users via&lt;br /&gt;
      the BridgeDB interface, e.g. via &lt;a href=&quot;https://bridges.torproject.org/&quot; title=&quot;https://bridges.torproject.org/&quot; rel=&quot;nofollow&quot;&gt;https://bridges.torproject.org/&lt;/a&gt;&lt;br /&gt;
      and bridges  torproject.org.&lt;/p&gt;
&lt;p&gt;  o Tor can be a DNS proxy:&lt;br /&gt;
    - The new client-side DNS proxy feature replaces the need for&lt;br /&gt;
      dns-proxy-tor: Just set &quot;DNSPort 9999&quot;, and Tor will now listen&lt;br /&gt;
      for DNS requests on port 9999, use the Tor network to resolve them&lt;br /&gt;
      anonymously, and send the reply back like a regular DNS server.&lt;br /&gt;
      The code still only implements a subset of DNS.&lt;br /&gt;
    - Add a new AutomapHostsOnResolve option: when it is enabled, any&lt;br /&gt;
      resolve request for hosts matching a given pattern causes Tor to&lt;br /&gt;
      generate an internal virtual address mapping for that host. This&lt;br /&gt;
      allows DNSPort to work sensibly with hidden service users. By&lt;br /&gt;
      default, .exit and .onion addresses are remapped; the list of&lt;br /&gt;
      patterns can be reconfigured with AutomapHostsSuffixes.&lt;br /&gt;
    - Add an &quot;-F&quot; option to tor-resolve to force a resolve for a .onion&lt;br /&gt;
      address. Thanks to the AutomapHostsOnResolve option, this is no&lt;br /&gt;
      longer a completely silly thing to do.&lt;/p&gt;
&lt;p&gt;  o Major features (relay usability):&lt;br /&gt;
    - New config options RelayBandwidthRate and RelayBandwidthBurst:&lt;br /&gt;
      a separate set of token buckets for relayed traffic. Right now&lt;br /&gt;
      relayed traffic is defined as answers to directory requests, and&lt;br /&gt;
      OR connections that don&#039;t have any local circuits on them. See&lt;br /&gt;
      proposal 111 for details.&lt;br /&gt;
    - Create listener connections before we setuid to the configured&lt;br /&gt;
      User and Group. Now non-Windows users can choose port values&lt;br /&gt;
      under 1024, start Tor as root, and have Tor bind those ports&lt;br /&gt;
      before it changes to another UID. (Windows users could already&lt;br /&gt;
      pick these ports.)&lt;br /&gt;
    - Added a new ConstrainedSockets config option to set SO_SNDBUF and&lt;br /&gt;
      SO_RCVBUF on TCP sockets. Hopefully useful for Tor servers running&lt;br /&gt;
      on &quot;vserver&quot; accounts. Patch from coderman.&lt;/p&gt;
&lt;p&gt;  o Major features (directory authorities):&lt;br /&gt;
    - Directory authorities track weighted fractional uptime and weighted&lt;br /&gt;
      mean-time-between failures for relays. WFU is suitable for deciding&lt;br /&gt;
      whether a node is &quot;usually up&quot;, while MTBF is suitable for deciding&lt;br /&gt;
      whether a node is &quot;likely to stay up.&quot; We need both, because&lt;br /&gt;
      &quot;usually up&quot; is a good requirement for guards, while &quot;likely to&lt;br /&gt;
      stay up&quot; is a good requirement for long-lived connections.&lt;br /&gt;
    - Directory authorities use a new formula for selecting which relays&lt;br /&gt;
      to advertise as Guards: they must be in the top 7/8 in terms of&lt;br /&gt;
      how long we have known about them, and above the median of those&lt;br /&gt;
      nodes in terms of weighted fractional uptime.&lt;br /&gt;
    - Directory authorities use a new formula for selecting which relays&lt;br /&gt;
      to advertise as Stable: when we have 4 or more days of data, use&lt;br /&gt;
      median measured MTBF rather than median declared uptime. Implements&lt;br /&gt;
      proposal 108.&lt;br /&gt;
    - Directory authorities accept and serve &quot;extra info&quot; documents for&lt;br /&gt;
      routers. Routers now publish their bandwidth-history lines in the&lt;br /&gt;
      extra-info docs rather than the main descriptor. This step saves&lt;br /&gt;
      60% (!) on compressed router descriptor downloads. Servers upload&lt;br /&gt;
      extra-info docs to any authority that accepts them; directory&lt;br /&gt;
      authorities now allow multiple router descriptors and/or extra&lt;br /&gt;
      info documents to be uploaded in a single go. Authorities, and&lt;br /&gt;
      caches that have been configured to download extra-info documents,&lt;br /&gt;
      download them as needed. Implements proposal 104.&lt;br /&gt;
    - Authorities now list relays who have the same nickname as&lt;br /&gt;
      a different named relay, but list them with a new flag:&lt;br /&gt;
      &quot;Unnamed&quot;. Now we can make use of relays that happen to pick the&lt;br /&gt;
      same nickname as a server that registered two years ago and then&lt;br /&gt;
      disappeared. Implements proposal 122.&lt;br /&gt;
    - Store routers in a file called cached-descriptors instead of in&lt;br /&gt;
      cached-routers. Initialize cached-descriptors from cached-routers&lt;br /&gt;
      if the old format is around. The new format allows us to store&lt;br /&gt;
      annotations along with descriptors, to record the time we received&lt;br /&gt;
      each descriptor, its source, and its purpose: currently one of&lt;br /&gt;
      general, controller, or bridge.&lt;/p&gt;
&lt;p&gt;  o Major features (other):&lt;br /&gt;
    - New config options WarnPlaintextPorts and RejectPlaintextPorts so&lt;br /&gt;
      Tor can warn and/or refuse connections to ports commonly used with&lt;br /&gt;
      vulnerable-plaintext protocols. Currently we warn on ports 23,&lt;br /&gt;
      109, 110, and 143, but we don&#039;t reject any. Based on proposal 129&lt;br /&gt;
      by Kevin Bauer and Damon McCoy.&lt;br /&gt;
    - Integrate Karsten Loesing&#039;s Google Summer of Code project to publish&lt;br /&gt;
      hidden service descriptors on a set of redundant relays that are a&lt;br /&gt;
      function of the hidden service address. Now we don&#039;t have to rely&lt;br /&gt;
      on three central hidden service authorities for publishing and&lt;br /&gt;
      fetching every hidden service descriptor. Implements proposal 114.&lt;br /&gt;
    - Allow tunnelled directory connections to ask for an encrypted&lt;br /&gt;
      &quot;begin_dir&quot; connection or an anonymized &quot;uses a full Tor circuit&quot;&lt;br /&gt;
      connection independently. Now we can make anonymized begin_dir&lt;br /&gt;
      connections for (e.g.) more secure hidden service posting and&lt;br /&gt;
      fetching.&lt;/p&gt;
&lt;p&gt;  o Major bugfixes (crashes and assert failures):&lt;br /&gt;
    - Stop imposing an arbitrary maximum on the number of file descriptors&lt;br /&gt;
      used for busy servers. Bug reported by Olaf Selke; patch from&lt;br /&gt;
      Sebastian Hahn.&lt;br /&gt;
    - Avoid possible failures when generating a directory with routers&lt;br /&gt;
      with over-long versions strings, or too many flags set.&lt;br /&gt;
    - Fix a rare assert error when we&#039;re closing one of our threads:&lt;br /&gt;
      use a mutex to protect the list of logs, so we never write to the&lt;br /&gt;
      list as it&#039;s being freed. Fixes the very rare bug 575, which is&lt;br /&gt;
      kind of the revenge of bug 222.&lt;br /&gt;
    - Avoid segfault in the case where a badly behaved v2 versioning&lt;br /&gt;
      directory sends a signed networkstatus with missing client-versions.&lt;br /&gt;
    - When we hit an EOF on a log (probably because we&#039;re shutting down),&lt;br /&gt;
      don&#039;t try to remove the log from the list: just mark it as&lt;br /&gt;
      unusable. (Bulletproofs against bug 222.)&lt;/p&gt;
&lt;p&gt;  o Major bugfixes (code security fixes):&lt;br /&gt;
    - Detect size overflow in zlib code. Reported by Justin Ferguson and&lt;br /&gt;
      Dan Kaminsky.&lt;br /&gt;
    - Rewrite directory tokenization code to never run off the end of&lt;br /&gt;
      a string. Fixes bug 455. Patch from croup.&lt;br /&gt;
    - Be more paranoid about overwriting sensitive memory on free(),&lt;br /&gt;
      as a defensive programming tactic to ensure forward secrecy.&lt;/p&gt;
&lt;p&gt;  o Major bugfixes (anonymity fixes):&lt;br /&gt;
    - Reject requests for reverse-dns lookup of names that are in&lt;br /&gt;
      a private address space. Patch from lodger.&lt;br /&gt;
    - Never report that we&#039;ve used more bandwidth than we&#039;re willing to&lt;br /&gt;
      relay: it leaks how much non-relay traffic we&#039;re using. Resolves&lt;br /&gt;
      bug 516.&lt;br /&gt;
    - As a client, do not believe any server that tells us that an&lt;br /&gt;
      address maps to an internal address space.&lt;br /&gt;
    - Warn about unsafe ControlPort configurations.&lt;br /&gt;
    - Directory authorities now call routers Fast if their bandwidth is&lt;br /&gt;
      at least 100KB/s, and consider their bandwidth adequate to be a&lt;br /&gt;
      Guard if it is at least 250KB/s, no matter the medians. This fix&lt;br /&gt;
      complements proposal 107.&lt;br /&gt;
    - Directory authorities now never mark more than 2 servers per IP as&lt;br /&gt;
      Valid and Running (or 5 on addresses shared by authorities).&lt;br /&gt;
      Implements proposal 109, by Kevin Bauer and Damon McCoy.&lt;br /&gt;
    - If we&#039;re a relay, avoid picking ourselves as an introduction point,&lt;br /&gt;
      a rendezvous point, or as the final hop for internal circuits. Bug&lt;br /&gt;
      reported by taranis and lodger.&lt;br /&gt;
    - Exit relays that are used as a client can now reach themselves&lt;br /&gt;
      using the .exit notation, rather than just launching an infinite&lt;br /&gt;
      pile of circuits. Fixes bug 641. Reported by Sebastian Hahn.&lt;br /&gt;
    - Fix a bug where, when we were choosing the &#039;end stream reason&#039; to&lt;br /&gt;
      put in our relay end cell that we send to the exit relay, Tor&lt;br /&gt;
      clients on Windows were sometimes sending the wrong &#039;reason&#039;. The&lt;br /&gt;
      anonymity problem is that exit relays may be able to guess whether&lt;br /&gt;
      the client is running Windows, thus helping partition the anonymity&lt;br /&gt;
      set. Down the road we should stop sending reasons to exit relays,&lt;br /&gt;
      or otherwise prevent future versions of this bug.&lt;br /&gt;
    - Only update guard status (usable / not usable) once we have&lt;br /&gt;
      enough directory information. This was causing us to discard all our&lt;br /&gt;
      guards on startup if we hadn&#039;t been running for a few weeks. Fixes&lt;br /&gt;
      bug 448.&lt;br /&gt;
    - When our directory information has been expired for a while, stop&lt;br /&gt;
      being willing to build circuits using it. Fixes bug 401.&lt;/p&gt;
&lt;p&gt;  o Major bugfixes (peace of mind for relay operators)&lt;br /&gt;
    - Non-exit relays no longer answer &quot;resolve&quot; relay cells, so they&lt;br /&gt;
      can&#039;t be induced to do arbitrary DNS requests. (Tor clients already&lt;br /&gt;
      avoid using non-exit relays for resolve cells, but now servers&lt;br /&gt;
      enforce this too.) Fixes bug 619. Patch from lodger.&lt;br /&gt;
    - When we setconf ClientOnly to 1, close any current OR and Dir&lt;br /&gt;
      listeners. Reported by mwenge.&lt;/p&gt;
&lt;p&gt;  o Major bugfixes (other):&lt;br /&gt;
    - If we only ever used Tor for hidden service lookups or posts, we&lt;br /&gt;
      would stop building circuits and start refusing connections after&lt;br /&gt;
      24 hours, since we falsely believed that Tor was dormant. Reported&lt;br /&gt;
      by nwf.&lt;br /&gt;
    - Add a new __HashedControlSessionPassword option for controllers&lt;br /&gt;
      to use for one-off session password hashes that shouldn&#039;t get&lt;br /&gt;
      saved to disk by SAVECONF --- Vidalia users were accumulating a&lt;br /&gt;
      pile of HashedControlPassword lines in their torrc files, one for&lt;br /&gt;
      each time they had restarted Tor and then clicked Save. Make Tor&lt;br /&gt;
      automatically convert &quot;HashedControlPassword&quot; to this new option but&lt;br /&gt;
      only when it&#039;s given on the command line. Partial fix for bug 586.&lt;br /&gt;
    - Patch from &quot;Andrew S. Lists&quot; to catch when we contact a directory&lt;br /&gt;
      mirror at IP address X and he says we look like we&#039;re coming from&lt;br /&gt;
      IP address X. Otherwise this would screw up our address detection.&lt;br /&gt;
    - Reject uploaded descriptors and extrainfo documents if they&#039;re&lt;br /&gt;
      huge. Otherwise we&#039;ll cache them all over the network and it&#039;ll&lt;br /&gt;
      clog everything up. Suggested by Aljosha Judmayer.&lt;br /&gt;
    - When a hidden service was trying to establish an introduction point,&lt;br /&gt;
      and Tor *did* manage to reuse one of the preemptively built&lt;br /&gt;
      circuits, it didn&#039;t correctly remember which one it used,&lt;br /&gt;
      so it asked for another one soon after, until there were no&lt;br /&gt;
      more preemptive circuits, at which point it launched one from&lt;br /&gt;
      scratch. Bugfix on 0.0.9.x.&lt;/p&gt;
&lt;p&gt;  o Rate limiting and load balancing improvements:&lt;br /&gt;
    - When we add data to a write buffer in response to the data on that&lt;br /&gt;
      write buffer getting low because of a flush, do not consider the&lt;br /&gt;
      newly added data as a candidate for immediate flushing, but rather&lt;br /&gt;
      make it wait until the next round of writing. Otherwise, we flush&lt;br /&gt;
      and refill recursively, and a single greedy TLS connection can&lt;br /&gt;
      eat all of our bandwidth.&lt;br /&gt;
    - When counting the number of bytes written on a TLS connection,&lt;br /&gt;
      look at the BIO actually used for writing to the network, not&lt;br /&gt;
      at the BIO used (sometimes) to buffer data for the network.&lt;br /&gt;
      Looking at different BIOs could result in write counts on the&lt;br /&gt;
      order of ULONG_MAX. Fixes bug 614.&lt;br /&gt;
    - If we change our MaxAdvertisedBandwidth and then reload torrc,&lt;br /&gt;
      Tor won&#039;t realize it should publish a new relay descriptor. Fixes&lt;br /&gt;
      bug 688, reported by mfr.&lt;br /&gt;
    - Avoid using too little bandwidth when our clock skips a few seconds.&lt;br /&gt;
    - Choose which bridge to use proportional to its advertised bandwidth,&lt;br /&gt;
      rather than uniformly at random. This should speed up Tor for&lt;br /&gt;
      bridge users. Also do this for people who set StrictEntryNodes.&lt;/p&gt;
&lt;p&gt;  o Bootstrapping faster and building circuits more intelligently:&lt;br /&gt;
    - Fix bug 660 that was preventing us from knowing that we should&lt;br /&gt;
      preemptively build circuits to handle expected directory requests.&lt;br /&gt;
    - When we&#039;re checking if we have enough dir info for each relay&lt;br /&gt;
      to begin establishing circuits, make sure that we actually have&lt;br /&gt;
      the descriptor listed in the consensus, not just any descriptor.&lt;br /&gt;
    - Correctly notify one-hop connections when a circuit build has&lt;br /&gt;
      failed. Possible fix for bug 669. Found by lodger.&lt;br /&gt;
    - Clients now hold circuitless TLS connections open for 1.5 times&lt;br /&gt;
      MaxCircuitDirtiness (15 minutes), since it is likely that they&#039;ll&lt;br /&gt;
      rebuild a new circuit over them within that timeframe. Previously,&lt;br /&gt;
      they held them open only for KeepalivePeriod (5 minutes).&lt;/p&gt;
&lt;p&gt;  o Performance improvements (memory):&lt;br /&gt;
    - Add OpenBSD malloc code from &quot;phk&quot; as an optional malloc&lt;br /&gt;
      replacement on Linux: some glibc libraries do very poorly with&lt;br /&gt;
      Tor&#039;s memory allocation patterns. Pass --enable-openbsd-malloc to&lt;br /&gt;
      ./configure to get the replacement malloc code.&lt;br /&gt;
    - Switch our old ring buffer implementation for one more like that&lt;br /&gt;
      used by free Unix kernels. The wasted space in a buffer with 1mb&lt;br /&gt;
      of data will now be more like 8k than 1mb. The new implementation&lt;br /&gt;
      also avoids realloc();realloc(); patterns that can contribute to&lt;br /&gt;
      memory fragmentation.&lt;br /&gt;
    - Change the way that Tor buffers data that it is waiting to write.&lt;br /&gt;
      Instead of queueing data cells in an enormous ring buffer for each&lt;br /&gt;
      client-&amp;gt;OR or OR-&amp;gt;OR connection, we now queue cells on a separate&lt;br /&gt;
      queue for each circuit. This lets us use less slack memory, and&lt;br /&gt;
      will eventually let us be smarter about prioritizing different kinds&lt;br /&gt;
      of traffic.&lt;br /&gt;
    - Reference-count and share copies of address policy entries; only 5%&lt;br /&gt;
      of them were actually distinct.&lt;br /&gt;
    - Tune parameters for cell pool allocation to minimize amount of&lt;br /&gt;
      RAM overhead used.&lt;br /&gt;
    - Keep unused 4k and 16k buffers on free lists, rather than wasting 8k&lt;br /&gt;
      for every single inactive connection_t. Free items from the&lt;br /&gt;
      4k/16k-buffer free lists when they haven&#039;t been used for a while.&lt;br /&gt;
    - Make memory debugging information describe more about history&lt;br /&gt;
      of cell allocation, so we can help reduce our memory use.&lt;br /&gt;
    - Be even more aggressive about releasing RAM from small&lt;br /&gt;
      empty buffers. Thanks to our free-list code, this shouldn&#039;t be too&lt;br /&gt;
      performance-intensive.&lt;br /&gt;
    - Log malloc statistics from mallinfo() on platforms where it exists.&lt;br /&gt;
    - Use memory pools to allocate cells with better speed and memory&lt;br /&gt;
      efficiency, especially on platforms where malloc() is inefficient.&lt;br /&gt;
    - Add a --with-tcmalloc option to the configure script to link&lt;br /&gt;
      against tcmalloc (if present). Does not yet search for non-system&lt;br /&gt;
      include paths.&lt;/p&gt;
&lt;p&gt;  o Performance improvements (socket management):&lt;br /&gt;
    - Count the number of open sockets separately from the number of&lt;br /&gt;
      active connection_t objects. This will let us avoid underusing&lt;br /&gt;
      our allocated connection limit.&lt;br /&gt;
    - We no longer use socket pairs to link an edge connection to an&lt;br /&gt;
      anonymous directory connection or a DirPort test connection.&lt;br /&gt;
      Instead, we track the link internally and transfer the data&lt;br /&gt;
      in-process. This saves two sockets per &quot;linked&quot; connection (at the&lt;br /&gt;
      client and at the server), and avoids the nasty Windows socketpair()&lt;br /&gt;
      workaround.&lt;br /&gt;
    - We were leaking a file descriptor if Tor started with a zero-length&lt;br /&gt;
      cached-descriptors file. Patch by &quot;freddy77&quot;.&lt;/p&gt;
&lt;p&gt;  o Performance improvements (CPU use):&lt;br /&gt;
    - Never walk through the list of logs if we know that no log target&lt;br /&gt;
      is interested in a given message.&lt;br /&gt;
    - Call routerlist_remove_old_routers() much less often. This should&lt;br /&gt;
      speed startup, especially on directory caches.&lt;br /&gt;
    - Base64 decoding was actually showing up on our profile when parsing&lt;br /&gt;
      the initial descriptor file; switch to an in-process all-at-once&lt;br /&gt;
      implementation that&#039;s about 3.5x times faster than calling out to&lt;br /&gt;
      OpenSSL.&lt;br /&gt;
    - Use a slightly simpler string hashing algorithm (copying Python&#039;s&lt;br /&gt;
      instead of Java&#039;s) and optimize our digest hashing algorithm to take&lt;br /&gt;
      advantage of 64-bit platforms and to remove some possibly-costly&lt;br /&gt;
      voodoo.&lt;br /&gt;
    - When implementing AES counter mode, update only the portions of the&lt;br /&gt;
      counter buffer that need to change, and don&#039;t keep separate&lt;br /&gt;
      network-order and host-order counters on big-endian hosts (where&lt;br /&gt;
      they are the same).&lt;br /&gt;
    - Add an in-place version of aes_crypt() so that we can avoid doing a&lt;br /&gt;
      needless memcpy() call on each cell payload.&lt;br /&gt;
    - Use Critical Sections rather than Mutexes for synchronizing threads&lt;br /&gt;
      on win32; Mutexes are heavier-weight, and designed for synchronizing&lt;br /&gt;
      between processes.&lt;/p&gt;
&lt;p&gt;  o Performance improvements (bandwidth use):&lt;br /&gt;
    - Don&#039;t try to launch new descriptor downloads quite so often when we&lt;br /&gt;
      already have enough directory information to build circuits.&lt;br /&gt;
    - Version 1 directories are no longer generated in full. Instead,&lt;br /&gt;
      authorities generate and serve &quot;stub&quot; v1 directories that list&lt;br /&gt;
      no servers. This will stop Tor versions 0.1.0.x and earlier from&lt;br /&gt;
      working, but (for security reasons) nobody should be running those&lt;br /&gt;
      versions anyway.&lt;br /&gt;
    - Avoid going directly to the directory authorities even if you&#039;re a&lt;br /&gt;
      relay, if you haven&#039;t found yourself reachable yet or if you&#039;ve&lt;br /&gt;
      decided not to advertise your dirport yet. Addresses bug 556.&lt;br /&gt;
    - If we&#039;ve gone 12 hours since our last bandwidth check, and we&lt;br /&gt;
      estimate we have less than 50KB bandwidth capacity but we could&lt;br /&gt;
      handle more, do another bandwidth test.&lt;br /&gt;
    - Support &quot;If-Modified-Since&quot; when answering HTTP requests for&lt;br /&gt;
      directories, running-routers documents, and v2 and v3 networkstatus&lt;br /&gt;
      documents. (There&#039;s no need to support it for router descriptors,&lt;br /&gt;
      since those are downloaded by descriptor digest.)&lt;br /&gt;
    - Stop fetching directory info so aggressively if your DirPort is&lt;br /&gt;
      on but your ORPort is off; stop fetching v2 dir info entirely.&lt;br /&gt;
      You can override these choices with the new FetchDirInfoEarly&lt;br /&gt;
      config option.&lt;/p&gt;
&lt;p&gt;  o Changed config option behavior (features):&lt;br /&gt;
    - Configuration files now accept C-style strings as values. This&lt;br /&gt;
      helps encode characters not allowed in the current configuration&lt;br /&gt;
      file format, such as newline or #. Addresses bug 557.&lt;br /&gt;
    - Add hidden services and DNSPorts to the list of things that make&lt;br /&gt;
      Tor accept that it has running ports. Change starting Tor with no&lt;br /&gt;
      ports from a fatal error to a warning; we might change it back if&lt;br /&gt;
      this turns out to confuse anybody. Fixes bug 579.&lt;br /&gt;
    - Make PublishServerDescriptor default to 1, so the default doesn&#039;t&lt;br /&gt;
      have to change as we invent new directory protocol versions.&lt;br /&gt;
    - Allow people to say PreferTunnelledDirConns rather than&lt;br /&gt;
      PreferTunneledDirConns, for those alternate-spellers out there.&lt;br /&gt;
    - Raise the default BandwidthRate/BandwidthBurst to 5MB/10MB, to&lt;br /&gt;
      accommodate the growing number of servers that use the default&lt;br /&gt;
      and are reaching it.&lt;br /&gt;
    - Make it possible to enable HashedControlPassword and&lt;br /&gt;
      CookieAuthentication at the same time.&lt;br /&gt;
    - When a TrackHostExits-chosen exit fails too many times in a row,&lt;br /&gt;
      stop using it. Fixes bug 437.&lt;/p&gt;
&lt;p&gt;  o Changed config option behavior (bugfixes):&lt;br /&gt;
    - Do not read the configuration file when we&#039;ve only been told to&lt;br /&gt;
      generate a password hash. Fixes bug 643. Bugfix on 0.0.9pre5. Fix&lt;br /&gt;
      based on patch from Sebastian Hahn.&lt;br /&gt;
    - Actually validate the options passed to AuthDirReject,&lt;br /&gt;
      AuthDirInvalid, AuthDirBadDir, and AuthDirBadExit.&lt;br /&gt;
    - Make &quot;ClientOnly 1&quot; config option disable directory ports too.&lt;br /&gt;
    - Don&#039;t stop fetching descriptors when FetchUselessDescriptors is&lt;br /&gt;
      set, even if we stop asking for circuits. Bug reported by tup&lt;br /&gt;
      and ioerror.&lt;br /&gt;
    - Servers used to decline to publish their DirPort if their&lt;br /&gt;
      BandwidthRate or MaxAdvertisedBandwidth were below a threshold. Now&lt;br /&gt;
      they look only at BandwidthRate and RelayBandwidthRate.&lt;br /&gt;
    - Treat &quot;2gb&quot; when given in torrc for a bandwidth as meaning 2gb,&lt;br /&gt;
      minus 1 byte: the actual maximum declared bandwidth.&lt;br /&gt;
    - Make &quot;TrackHostExits .&quot; actually work. Bugfix on 0.1.0.x.&lt;br /&gt;
    - Make the NodeFamilies config option work. (Reported by&lt;br /&gt;
      lodger -- it has never actually worked, even though we added it&lt;br /&gt;
      in Oct 2004.)&lt;br /&gt;
    - If Tor is invoked from something that isn&#039;t a shell (e.g. Vidalia),&lt;br /&gt;
      now we expand &quot;-f ~/.tor/torrc&quot; correctly. Suggested by Matt Edman.&lt;/p&gt;
&lt;p&gt;  o New config options:&lt;br /&gt;
    - New configuration options AuthDirMaxServersPerAddr and&lt;br /&gt;
      AuthDirMaxServersperAuthAddr to override default maximum number&lt;br /&gt;
      of servers allowed on a single IP address. This is important for&lt;br /&gt;
      running a test network on a single host.&lt;br /&gt;
    - Three new config options (AlternateDirAuthority,&lt;br /&gt;
      AlternateBridgeAuthority, and AlternateHSAuthority) that let the&lt;br /&gt;
      user selectively replace the default directory authorities by type,&lt;br /&gt;
      rather than the all-or-nothing replacement that DirServer offers.&lt;br /&gt;
    - New config options AuthDirBadDir and AuthDirListBadDirs for&lt;br /&gt;
      authorities to mark certain relays as &quot;bad directories&quot; in the&lt;br /&gt;
      networkstatus documents. Also supports the &quot;!baddir&quot; directive in&lt;br /&gt;
      the approved-routers file.&lt;br /&gt;
    - New config option V2AuthoritativeDirectory that all v2 directory&lt;br /&gt;
      authorities must set. This lets v3 authorities choose not to serve&lt;br /&gt;
      v2 directory information.&lt;/p&gt;
&lt;p&gt;  o Minor features (other):&lt;br /&gt;
    - When we&#039;re not serving v2 directory information, there is no reason&lt;br /&gt;
      to actually keep any around. Remove the obsolete files and directory&lt;br /&gt;
      on startup if they are very old and we aren&#039;t going to serve them.&lt;br /&gt;
    - When we negotiate a v2 link-layer connection (not yet implemented),&lt;br /&gt;
      accept RELAY_EARLY cells and turn them into RELAY cells if we&#039;ve&lt;br /&gt;
      negotiated a v1 connection for their next step. Initial steps for&lt;br /&gt;
      proposal 110.&lt;br /&gt;
    - When we have no consensus, check FallbackNetworkstatusFile (defaults&lt;br /&gt;
      to $PREFIX/share/tor/fallback-consensus) for a consensus. This way&lt;br /&gt;
      we can start out knowing some directory caches. We don&#039;t ship with&lt;br /&gt;
      a fallback consensus by default though, because it was making&lt;br /&gt;
      bootstrapping take too long while we tried many down relays.&lt;br /&gt;
    - Authorities send back an X-Descriptor-Not-New header in response to&lt;br /&gt;
      an accepted-but-discarded descriptor upload. Partially implements&lt;br /&gt;
      fix for bug 535.&lt;br /&gt;
    - If we find a cached-routers file that&#039;s been sitting around for more&lt;br /&gt;
      than 28 days unmodified, then most likely it&#039;s a leftover from&lt;br /&gt;
      when we upgraded to 0.2.0.8-alpha. Remove it. It has no good&lt;br /&gt;
      routers anyway.&lt;br /&gt;
    - When we (as a cache) download a descriptor because it was listed&lt;br /&gt;
      in a consensus, remember when the consensus was supposed to expire,&lt;br /&gt;
      and don&#039;t expire the descriptor until then.&lt;br /&gt;
    - Optionally (if built with -DEXPORTMALLINFO) export the output&lt;br /&gt;
      of mallinfo via http, as tor/mallinfo.txt. Only accessible&lt;br /&gt;
      from localhost.&lt;br /&gt;
    - Tag every guard node in our state file with the version that&lt;br /&gt;
      we believe added it, or with our own version if we add it. This way,&lt;br /&gt;
      if a user temporarily runs an old version of Tor and then switches&lt;br /&gt;
      back to a new one, she doesn&#039;t automatically lose her guards.&lt;br /&gt;
    - When somebody requests a list of statuses or servers, and we have&lt;br /&gt;
      none of those, return a 404 rather than an empty 200.&lt;br /&gt;
    - Merge in some (as-yet-unused) IPv6 address manipulation code. (Patch&lt;br /&gt;
      from croup.)&lt;br /&gt;
    - Add an HSAuthorityRecordStats option that hidden service authorities&lt;br /&gt;
      can use to track statistics of overall hidden service usage without&lt;br /&gt;
      logging information that would be as useful to an attacker.&lt;br /&gt;
    - Allow multiple HiddenServicePort directives with the same virtual&lt;br /&gt;
      port; when they occur, the user is sent round-robin to one&lt;br /&gt;
      of the target ports chosen at random.  Partially fixes bug 393 by&lt;br /&gt;
      adding limited ad-hoc round-robining.&lt;br /&gt;
    - Revamp file-writing logic so we don&#039;t need to have the entire&lt;br /&gt;
      contents of a file in memory at once before we write to disk. Tor,&lt;br /&gt;
      meet stdio.&lt;/p&gt;
&lt;p&gt;  o Minor bugfixes (other):&lt;br /&gt;
    - Alter the code that tries to recover from unhandled write&lt;br /&gt;
      errors, to not try to flush onto a socket that&#039;s given us&lt;br /&gt;
      unhandled errors.&lt;br /&gt;
    - Directory mirrors no longer include a guess at the client&#039;s IP&lt;br /&gt;
      address if the connection appears to be coming from the same /24&lt;br /&gt;
      network; it was producing too many wrong guesses.&lt;br /&gt;
    - If we&#039;re trying to flush the last bytes on a connection (for&lt;br /&gt;
      example, when answering a directory request), reset the&lt;br /&gt;
      time-to-give-up timeout every time we manage to write something&lt;br /&gt;
      on the socket.&lt;br /&gt;
    - Reject router descriptors with out-of-range bandwidthcapacity or&lt;br /&gt;
      bandwidthburst values.&lt;br /&gt;
    - If we can&#039;t expand our list of entry guards (e.g. because we&#039;re&lt;br /&gt;
      using bridges or we have StrictEntryNodes set), don&#039;t mark relays&lt;br /&gt;
      down when they fail a directory request. Otherwise we&#039;re too quick&lt;br /&gt;
      to mark all our entry points down.&lt;br /&gt;
    - Authorities no longer send back &quot;400 you&#039;re unreachable please fix&lt;br /&gt;
      it&quot; errors to Tor servers that aren&#039;t online all the time. We&#039;re&lt;br /&gt;
      supposed to tolerate these servers now.&lt;br /&gt;
    - Let directory authorities startup even when they can&#039;t generate&lt;br /&gt;
      a descriptor immediately, e.g. because they don&#039;t know their&lt;br /&gt;
      address.&lt;br /&gt;
    - Correctly enforce that elements of directory objects do not appear&lt;br /&gt;
      more often than they are allowed to appear.&lt;br /&gt;
    - Stop allowing hibernating servers to be &quot;stable&quot; or &quot;fast&quot;.&lt;br /&gt;
    - On Windows, we were preventing other processes from reading&lt;br /&gt;
      cached-routers while Tor was running. (Reported by janbar)&lt;br /&gt;
    - Check return values from pthread_mutex functions.&lt;br /&gt;
    - When opening /dev/null in finish_daemonize(), do not pass the&lt;br /&gt;
      O_CREAT flag. Fortify was complaining, and correctly so. Fixes&lt;br /&gt;
      bug 742; fix from Michael Scherer. Bugfix on 0.0.2pre19.&lt;/p&gt;
&lt;p&gt;  o Controller features:&lt;br /&gt;
    - The GETCONF command now escapes and quotes configuration values&lt;br /&gt;
      that don&#039;t otherwise fit into the torrc file.&lt;br /&gt;
    - The SETCONF command now handles quoted values correctly.&lt;br /&gt;
    - Add &quot;GETINFO/desc-annotations/id/≤OR digest&amp;gt;&quot; so controllers can&lt;br /&gt;
      ask about source, timestamp of arrival, purpose, etc. We need&lt;br /&gt;
      something like this to help Vidalia not do GeoIP lookups on bridge&lt;br /&gt;
      addresses.&lt;br /&gt;
    - Allow multiple HashedControlPassword config lines, to support&lt;br /&gt;
      multiple controller passwords.&lt;br /&gt;
    - Accept LF instead of CRLF on controller, since some software has a&lt;br /&gt;
      hard time generating real Internet newlines.&lt;br /&gt;
    - Add GETINFO values for the server status events&lt;br /&gt;
      &quot;REACHABILITY_SUCCEEDED&quot; and &quot;GOOD_SERVER_DESCRIPTOR&quot;. Patch from&lt;br /&gt;
      Robert Hogan.&lt;br /&gt;
    - There is now an ugly, temporary &quot;desc/all-recent-extrainfo-hack&quot;&lt;br /&gt;
      GETINFO for Torstat to use until it can switch to using extrainfos.&lt;br /&gt;
    - New config option CookieAuthFile to choose a new location for the&lt;br /&gt;
      cookie authentication file, and config option&lt;br /&gt;
      CookieAuthFileGroupReadable to make it group-readable.&lt;br /&gt;
    - Add a SOURCE_ADDR field to STREAM NEW events so that controllers can&lt;br /&gt;
      match requests to applications. Patch from Robert Hogan.&lt;br /&gt;
    - Add a RESOLVE command to launch hostname lookups. Original patch&lt;br /&gt;
      from Robert Hogan.&lt;br /&gt;
    - Add GETINFO status/enough-dir-info to let controllers tell whether&lt;br /&gt;
      Tor has downloaded sufficient directory information. Patch from Tup.&lt;br /&gt;
    - You can now use the ControlSocket option to tell Tor to listen for&lt;br /&gt;
      controller connections on Unix domain sockets on systems that&lt;br /&gt;
      support them. Patch from Peter Palfrader.&lt;br /&gt;
    - New &quot;GETINFO address-mappings/*&quot; command to get address mappings&lt;br /&gt;
      with expiry information. &quot;addr-mappings/*&quot; is now deprecated.&lt;br /&gt;
      Patch from Tup.&lt;br /&gt;
    - Add a new config option __DisablePredictedCircuits designed for&lt;br /&gt;
      use by the controller, when we don&#039;t want Tor to build any circuits&lt;br /&gt;
      preemptively.&lt;br /&gt;
    - Let the controller specify HOP=%d as an argument to ATTACHSTREAM,&lt;br /&gt;
      so we can exit from the middle of the circuit.&lt;br /&gt;
    - Implement &quot;getinfo status/circuit-established&quot;.&lt;br /&gt;
    - Implement &quot;getinfo status/version/...&quot; so a controller can tell&lt;br /&gt;
      whether the current version is recommended, and whether any versions&lt;br /&gt;
      are good, and how many authorities agree. Patch from &quot;shibz&quot;.&lt;br /&gt;
    - Controllers should now specify cache=no or cache=yes when using&lt;br /&gt;
      the +POSTDESCRIPTOR command.&lt;br /&gt;
    - Add a &quot;PURPOSE=&quot; argument to &quot;STREAM NEW&quot; events, as suggested by&lt;br /&gt;
      Robert Hogan. Fixes the first part of bug 681.&lt;br /&gt;
    - When reporting clock skew, and we know that the clock is _at least&lt;br /&gt;
      as skewed_ as some value, but we don&#039;t know the actual value,&lt;br /&gt;
      report the value as a &quot;minimum skew.&quot;&lt;/p&gt;
&lt;p&gt;  o Controller bugfixes:&lt;br /&gt;
    - Generate &quot;STATUS_SERVER&quot; events rather than misspelled&lt;br /&gt;
      &quot;STATUS_SEVER&quot; events. Caught by mwenge.&lt;br /&gt;
    - Reject controller commands over 1MB in length, so rogue&lt;br /&gt;
      processes can&#039;t run us out of memory.&lt;br /&gt;
    - Change the behavior of &quot;getinfo status/good-server-descriptor&quot;&lt;br /&gt;
      so it doesn&#039;t return failure when any authority disappears.&lt;br /&gt;
    - Send NAMESERVER_STATUS messages for a single failed nameserver&lt;br /&gt;
      correctly.&lt;br /&gt;
    - When the DANGEROUS_VERSION controller status event told us we&#039;re&lt;br /&gt;
      running an obsolete version, it used the string &quot;OLD&quot; to describe&lt;br /&gt;
      it. Yet the &quot;getinfo&quot; interface used the string &quot;OBSOLETE&quot;. Now use&lt;br /&gt;
      &quot;OBSOLETE&quot; in both cases.&lt;br /&gt;
    - Respond to INT and TERM SIGNAL commands before we execute the&lt;br /&gt;
      signal, in case the signal shuts us down. We had a patch in&lt;br /&gt;
      0.1.2.1-alpha that tried to do this by queueing the response on&lt;br /&gt;
      the connection&#039;s buffer before shutting down, but that really&lt;br /&gt;
      isn&#039;t the same thing at all. Bug located by Matt Edman.&lt;br /&gt;
    - Provide DNS expiry times in GMT, not in local time. For backward&lt;br /&gt;
      compatibility, ADDRMAP events only provide GMT expiry in an extended&lt;br /&gt;
      field. &quot;GETINFO address-mappings&quot; always does the right thing.&lt;br /&gt;
    - Use CRLF line endings properly in NS events.&lt;br /&gt;
    - Make &#039;getinfo fingerprint&#039; return a 551 error if we&#039;re not a&lt;br /&gt;
      server, so we match what the control spec claims we do. Reported&lt;br /&gt;
      by daejees.&lt;br /&gt;
    - Fix a typo in an error message when extendcircuit fails that&lt;br /&gt;
      caused us to not follow the \r\n-based delimiter protocol. Reported&lt;br /&gt;
      by daejees.&lt;br /&gt;
    - When tunneling an encrypted directory connection, and its first&lt;br /&gt;
      circuit fails, do not leave it unattached and ask the controller&lt;br /&gt;
      to deal. Fixes the second part of bug 681.&lt;br /&gt;
    - Treat some 403 responses from directory servers as INFO rather than&lt;br /&gt;
      WARN-severity events.&lt;/p&gt;
&lt;p&gt;  o Portability / building / compiling:&lt;br /&gt;
    - When building with --enable-gcc-warnings, check for whether Apple&#039;s&lt;br /&gt;
      warning &quot;-Wshorten-64-to-32&quot; is available.&lt;br /&gt;
    - Support compilation to target iPhone; patch from cjacker huang.&lt;br /&gt;
      To build for iPhone, pass the --enable-iphone option to configure.&lt;br /&gt;
    - Detect non-ASCII platforms (if any still exist) and refuse to&lt;br /&gt;
      build there: some of our code assumes that &#039;A&#039; is 65 and so on.&lt;br /&gt;
    - Clear up some MIPSPro compiler warnings.&lt;br /&gt;
    - Make autoconf search for libevent, openssl, and zlib consistently.&lt;br /&gt;
    - Update deprecated macros in configure.in.&lt;br /&gt;
    - When warning about missing headers, tell the user to let us&lt;br /&gt;
      know if the compile succeeds anyway, so we can downgrade the&lt;br /&gt;
      warning.&lt;br /&gt;
    - Include the current subversion revision as part of the version&lt;br /&gt;
      string: either fetch it directly if we&#039;re in an SVN checkout, do&lt;br /&gt;
      some magic to guess it if we&#039;re in an SVK checkout, or use&lt;br /&gt;
      the last-detected version if we&#039;re building from a .tar.gz.&lt;br /&gt;
      Use this version consistently in log messages.&lt;br /&gt;
    - Correctly report platform name on Windows 95 OSR2 and Windows 98 SE.&lt;br /&gt;
    - Read resolv.conf files correctly on platforms where read() returns&lt;br /&gt;
      partial results on small file reads.&lt;br /&gt;
    - Build without verbose warnings even on gcc 4.2 and 4.3.&lt;br /&gt;
    - On Windows, correctly detect errors when listing the contents of&lt;br /&gt;
      a directory. Fix from lodger.&lt;br /&gt;
    - Run &#039;make test&#039; as part of &#039;make dist&#039;, so we stop releasing so&lt;br /&gt;
      many development snapshots that fail their unit tests.&lt;br /&gt;
    - Add support to detect Libevent versions in the 1.4.x series&lt;br /&gt;
      on mingw.&lt;br /&gt;
    - Add command-line arguments to unit-test executable so that we can&lt;br /&gt;
      invoke any chosen test from the command line rather than having&lt;br /&gt;
      to run the whole test suite at once; and so that we can turn on&lt;br /&gt;
      logging for the unit tests.&lt;br /&gt;
    - Do not automatically run configure from autogen.sh. This&lt;br /&gt;
      non-standard behavior tended to annoy people who have built other&lt;br /&gt;
      programs.&lt;br /&gt;
    - Fix a macro/CPP interaction that was confusing some compilers:&lt;br /&gt;
      some GCCs don&#039;t like #if/#endif pairs inside macro arguments.&lt;br /&gt;
      Fixes bug 707.&lt;br /&gt;
    - Fix macro collision between OpenSSL 0.9.8h and Windows headers.&lt;br /&gt;
      Fixes bug 704; fix from Steven Murdoch.&lt;br /&gt;
    - Correctly detect transparent proxy support on Linux hosts that&lt;br /&gt;
      require in.h to be included before netfilter_ipv4.h.  Patch&lt;br /&gt;
      from coderman.&lt;/p&gt;
&lt;p&gt;  o Logging improvements:&lt;br /&gt;
    - When we haven&#039;t had any application requests lately, don&#039;t bother&lt;br /&gt;
      logging that we have expired a bunch of descriptors.&lt;br /&gt;
    - When attempting to open a logfile fails, tell us why.&lt;br /&gt;
    - Only log guard node status when guard node status has changed.&lt;br /&gt;
    - Downgrade the 3 most common &quot;INFO&quot; messages to &quot;DEBUG&quot;. This will&lt;br /&gt;
      make &quot;INFO&quot; 75% less verbose.&lt;br /&gt;
    - When SafeLogging is disabled, log addresses along with all TLS&lt;br /&gt;
      errors.&lt;br /&gt;
    - Report TLS &quot;zero return&quot; case as a &quot;clean close&quot; and &quot;IO error&quot;&lt;br /&gt;
      as a &quot;close&quot;. Stop calling closes &quot;unexpected closes&quot;: existing&lt;br /&gt;
      Tors don&#039;t use SSL_close(), so having a connection close without&lt;br /&gt;
      the TLS shutdown handshake is hardly unexpected.&lt;br /&gt;
    - When we receive a consensus from the future, warn about skew.&lt;br /&gt;
    - Make &quot;not enough dir info yet&quot; warnings describe *why* Tor feels&lt;br /&gt;
      it doesn&#039;t have enough directory info yet.&lt;br /&gt;
    - On the USR1 signal, when dmalloc is in use, log the top 10 memory&lt;br /&gt;
      consumers. (We already do this on HUP.)&lt;br /&gt;
    - Give more descriptive well-formedness errors for out-of-range&lt;br /&gt;
      hidden service descriptor/protocol versions.&lt;br /&gt;
    - Stop recommending that every server operator send mail to tor-ops.&lt;br /&gt;
      Resolves bug 597. Bugfix on 0.1.2.x.&lt;br /&gt;
    - Improve skew reporting: try to give the user a better log message&lt;br /&gt;
      about how skewed they are, and how much this matters.&lt;br /&gt;
    - New --quiet command-line option to suppress the default console log.&lt;br /&gt;
      Good in combination with --hash-password.&lt;br /&gt;
    - Don&#039;t complain that &quot;your server has not managed to confirm that its&lt;br /&gt;
      ports are reachable&quot; if we haven&#039;t been able to build any circuits&lt;br /&gt;
      yet.&lt;br /&gt;
    - Detect the reason for failing to mmap a descriptor file we just&lt;br /&gt;
      wrote, and give a more useful log message.  Fixes bug 533.&lt;br /&gt;
    - Always prepend &quot;Bug: &quot; to any log message about a bug.&lt;br /&gt;
    - When dumping memory usage, list bytes used in buffer memory&lt;br /&gt;
      free-lists.&lt;br /&gt;
    - When running with dmalloc, dump more stats on hup and on exit.&lt;br /&gt;
    - Put a platform string (e.g. &quot;Linux i686&quot;) in the startup log&lt;br /&gt;
      message, so when people paste just their logs, we know if it&#039;s&lt;br /&gt;
      OpenBSD or Windows or what.&lt;br /&gt;
    - When logging memory usage, break down memory used in buffers by&lt;br /&gt;
      buffer type.&lt;br /&gt;
    - When we are reporting the DirServer line we just parsed, we were&lt;br /&gt;
      logging the second stanza of the key fingerprint, not the first.&lt;br /&gt;
    - Even though Windows is equally happy with / and \ as path separators,&lt;br /&gt;
      try to use \ consistently on Windows and / consistently on Unix: it&lt;br /&gt;
      makes the log messages nicer.&lt;br /&gt;
     - On OSX, stop warning the user that kqueue support in libevent is&lt;br /&gt;
      &quot;experimental&quot;, since it seems to have worked fine for ages.&lt;/p&gt;
&lt;p&gt;  o Contributed scripts and tools:&lt;br /&gt;
    - Update linux-tor-prio.sh script to allow QoS based on the uid of&lt;br /&gt;
      the Tor process. Patch from Marco Bonetti with tweaks from Mike&lt;br /&gt;
      Perry.&lt;br /&gt;
    - Include the &quot;tor-ctrl.sh&quot; bash script by Stefan Behte to provide&lt;br /&gt;
      Unix users an easy way to script their Tor process (e.g. by&lt;br /&gt;
      adjusting bandwidth based on the time of the day).&lt;br /&gt;
    - In the exitlist script, only consider the most recently published&lt;br /&gt;
      server descriptor for each server. Also, when the user requests&lt;br /&gt;
      a list of servers that _reject_ connections to a given address,&lt;br /&gt;
      explicitly exclude the IPs that also have servers that accept&lt;br /&gt;
      connections to that address. Resolves bug 405.&lt;br /&gt;
    - Include a new contrib/tor-exit-notice.html file that exit relay&lt;br /&gt;
      operators can put on their website to help reduce abuse queries.&lt;/p&gt;
&lt;p&gt;  o Newly deprecated features:&lt;br /&gt;
    - The status/version/num-versioning and status/version/num-concurring&lt;br /&gt;
      GETINFO controller options are no longer useful in the v3 directory&lt;br /&gt;
      protocol: treat them as deprecated, and warn when they&#039;re used.&lt;br /&gt;
    - The RedirectExits config option is now deprecated.&lt;/p&gt;
&lt;p&gt;  o Removed features:&lt;br /&gt;
    - Drop the old code to choke directory connections when the&lt;br /&gt;
      corresponding OR connections got full: thanks to the cell queue&lt;br /&gt;
      feature, OR conns don&#039;t get full any more.&lt;br /&gt;
    - Remove the old &quot;dns worker&quot; server DNS code: it hasn&#039;t been default&lt;br /&gt;
      since 0.1.2.2-alpha, and all the servers are using the new&lt;br /&gt;
      eventdns code.&lt;br /&gt;
    - Remove the code to generate the oldest (v1) directory format.&lt;br /&gt;
    - Remove support for the old bw_accounting file: we&#039;ve been storing&lt;br /&gt;
      bandwidth accounting information in the state file since&lt;br /&gt;
      0.1.2.5-alpha. This may result in bandwidth accounting errors&lt;br /&gt;
      if you try to upgrade from 0.1.1.x or earlier, or if you try to&lt;br /&gt;
      downgrade to 0.1.1.x or earlier.&lt;br /&gt;
    - Drop support for OpenSSL version 0.9.6. Just about nobody was using&lt;br /&gt;
      it, it had no AES, and it hasn&#039;t seen any security patches since&lt;br /&gt;
      2004.&lt;br /&gt;
    - Stop overloading the circuit_t.onionskin field for both &quot;onionskin&lt;br /&gt;
      from a CREATE cell that we are waiting for a cpuworker to be&lt;br /&gt;
      assigned&quot; and &quot;onionskin from an EXTEND cell that we are going to&lt;br /&gt;
      send to an OR as soon as we are connected&quot;. Might help with bug 600.&lt;br /&gt;
    - Remove the tor_strpartition() function: its logic was confused,&lt;br /&gt;
      and it was only used for one thing that could be implemented far&lt;br /&gt;
      more easily.&lt;br /&gt;
    - Remove the contrib scripts ExerciseServer.py, PathDemo.py,&lt;br /&gt;
      and TorControl.py, as they use the old v0 controller protocol,&lt;br /&gt;
      and are obsoleted by TorFlow anyway.&lt;br /&gt;
    - Drop support for v1 rendezvous descriptors, since we never used&lt;br /&gt;
      them anyway, and the code has probably rotted by now. Based on&lt;br /&gt;
      patch from Karsten Loesing.&lt;br /&gt;
    - Stop allowing address masks that do not correspond to bit prefixes.&lt;br /&gt;
      We have warned about these for a really long time; now it&#039;s time&lt;br /&gt;
      to reject them. (Patch from croup.)&lt;br /&gt;
    - Remove an optimization in the AES counter-mode code that assumed&lt;br /&gt;
      that the counter never exceeded 2^68. When the counter can be set&lt;br /&gt;
      arbitrarily as an IV (as it is by Karsten&#039;s new hidden services&lt;br /&gt;
      code), this assumption no longer holds.&lt;br /&gt;
    - Disable the SETROUTERPURPOSE controller command: it is now&lt;br /&gt;
      obsolete.&lt;/p&gt;
</description>
 <comments>http://blog.torproject.org/blog/tor-0.2.0.30-released-stable#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/dns-proxy">dns proxy</category>
 <category domain="http://blog.torproject.org/category/tags/rate-limiting">rate limiting</category>
 <category domain="http://blog.torproject.org/category/tags/stable-release">stable release</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <pubDate>Mon, 25 Aug 2008 19:48:37 -0700</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">49 at http://blog.torproject.org</guid>
</item>
<item>
 <title>July 2008 Progress Report</title>
 <link>http://blog.torproject.org/blog/july-2008-progress-report</link>
 <description>&lt;p&gt;&lt;strong&gt;Releases:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Torbutton 1.2.0rc5 (released July 6) provides improved addon compatibility, better preservation of Firefox preferences that we touch, fixing issues with Tor toggle breaking for some option combos, and an improved &#039;Restore Defaults&#039; button. This version also features Firefox 3 cookie jar support, and support for storing cookie jars in memory.&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/talk/Jul-2008/msg00026.html&quot; title=&quot;http://archives.seul.org/or/talk/Jul-2008/msg00026.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/Jul-2008/msg00026.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vidalia 0.1.6 (released July 8) fixes a bug introduced in 0.1.3 that could cause excessive CPU usage or crashing on some platforms; continues to prepare Vidalia&#039;s strings for easier translation; adds a Romanian GUI and installer translation; and updated the Farsi, Finnish, French, German, and Swedish translations.&lt;br /&gt;
&lt;a href=&quot;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.6/CHANGELOG&quot; title=&quot;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.6/CHANGELOG&quot; rel=&quot;nofollow&quot;&gt;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.6/CHANG...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tor 0.2.0.29-rc (released July 8) fixes two big bugs with using bridges, fixes more hidden-service performance bugs, and fixes a bunch of smaller bugs.&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/talk/Jul-2008/msg00038.html&quot; title=&quot;http://archives.seul.org/or/talk/Jul-2008/msg00038.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/Jul-2008/msg00038.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Torbutton 1.2.0rc6 (released July 12) features fixes for a nasty history loss bug, an exception during Tor toggle, javascript being disabled in some tabs, better pref handling, and more.&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/talk/Jul-2008/msg00049.html&quot; title=&quot;http://archives.seul.org/or/talk/Jul-2008/msg00049.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/Jul-2008/msg00049.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tor 0.2.0.30 (released July 15) is the first stable release of the 0.2.0.x branch. The previous stable branch (0.1.2.x) went stable in April of 2007. We are still waiting for Torbutton and Vidalia to stabilize before announcing the Windows and OS X packages on the or-announce announcements&lt;br /&gt;
list. We expect to do that in August.&lt;/p&gt;
&lt;p&gt;Tor Browser Bundle 1.1.1 (released July 20) updates Vidalia to release 0.1.6, updates Pidgin Portable to 2.4.3, updates Pidgin OTR plugin to 3.2, updates Tor to 0.2.1.2-alpha, updates Torbutton to 1.2.0rc6, and sets TZ=UTC environment variable in RelativeLink (needed by Torbutton).&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/torbrowser/trunk/README&quot; title=&quot;https://svn.torproject.org/svn/torbrowser/trunk/README&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/torbrowser/trunk/README&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Torbutton 1.2.0 (released July 30) is finally a stable release for the new Torbutton tree that includes application-level privacy protections.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/torbutton/trunk/src/CHANGELOG&quot; title=&quot;https://svn.torproject.org/svn/torbutton/trunk/src/CHANGELOG&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/torbutton/trunk/src/CHANGELOG&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;From the Tor 0.2.0.29-rc ChangeLog:&lt;br /&gt;
&quot;When a hidden service was trying to establish an introduction point, and Tor had built circuits preemptively for such purposes, we were ignoring all the preemptive circuits and launching a new one instead. Bugfix on 0.2.0.14-alpha.&quot;&lt;br /&gt;
&quot;When a hidden service was trying to establish an introduction point, and Tor *did* manage to reuse one of the preemptively built circuits, it didn&#039;t correctly remember which one it used, so it asked for another one soon after, until there were no more preemptive circuits, at which point it launched one from scratch. Bugfix on 0.0.9.x.&quot;&lt;/p&gt;
&lt;p&gt;The upcoming Tor 0.2.1.3-alpha and 0.2.1.4-alpha releases include more fixes for hidden service performance and robustness, have slightly improved bootstrap status event behavior, and start hunting down a horrible bug that looks like it could leak private information:&lt;br /&gt;
&lt;a href=&quot;https://bugs.torproject.org/flyspray/index.php?do=details&amp;amp;id=779&quot; title=&quot;https://bugs.torproject.org/flyspray/index.php?do=details&amp;amp;id=779&quot; rel=&quot;nofollow&quot;&gt;https://bugs.torproject.org/flyspray/index.php?do=details&amp;amp;id=779&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Proposals:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Proposal 145 (Separate &quot;suitable as a guard&quot; from &quot;suitable as a new guard&quot;) suggests one approach for separating the role of &quot;is still useful as an entry guard&quot; from &quot;should be an option when choosing a new entry guard&quot;. This step will help us load balance over the network better.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/145-newguard-flag.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/145-newguard-flag.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/145-newguard...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 146 (Add new flag to reflect long-term stability) discusses how to ship the Tor client with a set of alternate sources for initial bootstrap directory information. We already have this feature in Tor 0.2.0.x, called the &quot;fallback consensus&quot;, but we never enabled it because the Tor client would spend too long trying directory mirrors that were long since gone from the network. This proposal moves us closer to being able to distinguish the more long-term reliable mirrors.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/146-long-term-stability.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/146-long-term-stability.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/146-long-ter...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 147 (Eliminate the need for v2 directories in generating v3 directories) helps wean us off of needing the old deprecated v2 directory design. Currently we only use it to give advance warning to the v3 authorities about relays that haven&#039;t heard about yet, so they can fetch information about those relays before the time arrives to make an official vote about their state.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/147-prevoting-opinions.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/147-prevoting-opinions.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/147-prevotin...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 148 (Stream end reasons from the client side should be uniform) describes a simple fix for a potential anonymity flaw in Tor&#039;s core protocol for passing explanations from one end of a Tor circuit to the other when an application stream ends.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/148-uniform-client-end-reason.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/148-uniform-client-end-reason.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/148-uniform-...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 149 (Using data from NETINFO cells) starts talking about how to make use of the timestamp and IP address listed in Tor&#039;s new NETINFO cells. In theory we can use them to decide if our clock is skewed, and to decide if a traffic analysis man-in-the-middle attack is happening against us. In practice it appears more complex than we expected.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/149-using-netinfo-data.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/149-using-netinfo-data.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/149-using-ne...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 150 (Exclude Exit Nodes from a circuit) allows users to specify which relays should never be used as the last (exit) hop in a circuit. We took the proposal one step further and allowed users to also specify IP addresses and netmasks for which relays to avoid in the exit position.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/150-exclude-exit-nodes.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/150-exclude-exit-nodes.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/150-exclude-...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 151 (Improving Tor Path Selection) is a draft proposal to implement the results of Fallon Chen&#039;s Google Summer of Code project. Her plan is to measure the expected time it takes to establish a circuit, and then abandon circuits that take significantly longer than that to form. The assumption is that circuits that take a long time to set up will generally have unacceptably high latency as well.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/151-path-selection-improvements.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/151-path-selection-improvements.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/151-path-sel...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 154 (Automatic Software Update Protocol) starts the discussion of how to let Vidalia automatically manage updates for Tor, Polipo, Vidalia, etc. This is very important for keeping users up to date with respect to security and stability fixes. We will especially aim to do the updates over Tor, a) for privacy, and b) so users who are blocked from the Tor website will still be able to upgrade seamlessly.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/154-automatic-updates.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/154-automatic-updates.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/154-automati...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Research:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Karsten Loesing&#039;s report on 7 ways to improve the performance and robustness of Tor hidden services:&lt;br /&gt;
&lt;a href=&quot;http://freehaven.net/~karsten/hidserv/discussion-2008-07-15.pdf&quot; title=&quot;http://freehaven.net/~karsten/hidserv/discussion-2008-07-15.pdf&quot; rel=&quot;nofollow&quot;&gt;http://freehaven.net/~karsten/hidserv/discussion-2008-07-15.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Four new research papers on Tor came out in July:&lt;br /&gt;
&lt;a href=&quot;http://freehaven.net/anonbib/#loesing2008performance&quot; title=&quot;http://freehaven.net/anonbib/#loesing2008performance&quot; rel=&quot;nofollow&quot;&gt;http://freehaven.net/anonbib/#loesing2008performance&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://freehaven.net/anonbib/#improved-clockskew&quot; title=&quot;http://freehaven.net/anonbib/#improved-clockskew&quot; rel=&quot;nofollow&quot;&gt;http://freehaven.net/anonbib/#improved-clockskew&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://freehaven.net/anonbib/#mccoy-pet2008&quot; title=&quot;http://freehaven.net/anonbib/#mccoy-pet2008&quot; rel=&quot;nofollow&quot;&gt;http://freehaven.net/anonbib/#mccoy-pet2008&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://freehaven.net/anonbib/#danezis-pet2008&quot; title=&quot;http://freehaven.net/anonbib/#danezis-pet2008&quot; rel=&quot;nofollow&quot;&gt;http://freehaven.net/anonbib/#danezis-pet2008&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We continued evaluating the TBB footprints here:&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/torbrowser/trunk/docs/traces.txt&quot; title=&quot;https://svn.torproject.org/svn/torbrowser/trunk/docs/traces.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/torbrowser/trunk/docs/traces.txt&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In particular, we added a new &quot;Registry modifications&quot; section to that file, describing some new traces that appear to be left behind after operating Tor Browser Bundle, even from the USB key. One of the most worrying is the &quot;user assist&quot; registry key that gets set, and (incredible as it sounds) is obfuscated by rot-13 before being set.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ease of Use:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tor Browser Bundle 1.1.1 (released July 20) updates Vidalia to release 0.1.6, updates Pidgin Portable to 2.4.3, updates Pidgin OTR plugin to 3.2, updates Tor to 0.2.1.2-alpha, updates Torbutton to 1.2.0rc6, and sets TZ=UTC environment variable in RelativeLink (needed by Torbutton).&lt;/p&gt;
&lt;p&gt;The first Incognito (Gentoo-based Tor LiveCD) release of 2008 is also nearing completion, and we expect to see it released in August.&lt;/p&gt;
&lt;p&gt;Finally, we contracted to start work on the Tor VM project. The idea is to run a Linux kernel and a Tor client inside a thin VM (like QEMU) on Windows, and then transparently intercept outgoing connections and redirect them into Tor. This approach will a) make proxy-avoiding side-channel and sidejacking attacks less devastating, and b) isolate the Tor client from the rest of the OS to provide a more robust security approach. Current design document is under development at&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/torvm/trunk/doc/design.html&quot; title=&quot;https://svn.torproject.org/svn/torvm/trunk/doc/design.html&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/torvm/trunk/doc/design.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Getting Tor:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We have established our &quot;gettor&quot; email auto-responder script that lets people mail &lt;a href=&quot;mailto:gettor@torproject.org&quot; rel=&quot;nofollow&quot;&gt;gettor@torproject.org&lt;/a&gt; and retrieve a copy of Tor from their mailbox. We still need to ponder more usability issues, such as translation.&lt;br /&gt;
&lt;a href=&quot;https://www.torproject.org/finding-tor&quot; title=&quot;https://www.torproject.org/finding-tor&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/finding-tor&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We have also automated the process of checking Tor website mirrors: there&#039;s a new update-mirrors.pl script in the website directory that generates a list of mirrors ordered by when they last synced with the main website.&lt;br /&gt;
&lt;a href=&quot;https://www.torproject.org/mirrors&quot; title=&quot;https://www.torproject.org/mirrors&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/mirrors&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Translations:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We have our translation server up and online:&lt;br /&gt;
&lt;a href=&quot;https://translation.torproject.org/&quot; title=&quot;https://translation.torproject.org/&quot; rel=&quot;nofollow&quot;&gt;https://translation.torproject.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We revised our translation tutorial here:&lt;br /&gt;
&lt;a href=&quot;https://www.torproject.org/translation-portal&quot; title=&quot;https://www.torproject.org/translation-portal&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/translation-portal&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Users continued to submit updated translations for many different languages.&lt;/p&gt;
&lt;p&gt;We continued enhancements to the Chinese and Russian Tor website&lt;br /&gt;
translations. We added Vidalia, Torbutton, and website translations&lt;br /&gt;
into Farsi.&lt;/p&gt;
&lt;p&gt;We also added the strings for Vidalia&#039;s installer; this required writing several scripts to convert from the &quot;nsh&quot; (nullscript installer language) format to the &quot;po&quot; (preferred by Pootle) format and back.&lt;/p&gt;
</description>
 <comments>http://blog.torproject.org/blog/july-2008-progress-report#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/bridges">bridges</category>
 <category domain="http://blog.torproject.org/category/tags/progress-report">progress report</category>
 <category domain="http://blog.torproject.org/category/tags/proposals">proposals</category>
 <category domain="http://blog.torproject.org/category/tags/research">research</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <category domain="http://blog.torproject.org/category/tags/torbrowser">torbrowser</category>
 <category domain="http://blog.torproject.org/category/tags/torbutton">torbutton</category>
 <category domain="http://blog.torproject.org/category/tags/translation">translation</category>
 <category domain="http://blog.torproject.org/category/tags/vidalia">vidalia</category>
 <pubDate>Sun, 17 Aug 2008 20:11:31 -0700</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">47 at http://blog.torproject.org</guid>
</item>
<item>
 <title>June 2008 Progress Report</title>
 <link>http://blog.torproject.org/blog/june-2008-progress-report</link>
 <description>&lt;p&gt;Torbutton 1.2.0rc1 (released June 1), the first release candidate for the next stable series of the security-enhanced Torbutton Firefox extension, features functional support for Firefox 3. However, this support has not been extensively tested. In particular, timezone masking does not work at all. The workaround is to manually set the environment variable &#039;TZ&#039; to &#039;UTC&#039; before starting Firefox. This works on both Linux and Windows:&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00044.html&quot; title=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00044.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/Jun-2008/msg00044.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tor 0.2.0.27-rc (released June 3) adds a few features we left out of the earlier release candidates. In particular, we now include an IP-to-country GeoIP database, so controllers can easily look up what country a given relay is in, and so bridge relays can give us some sanitized summaries about which countries are making use of bridges. (See proposal 126-geoip-fetching.txt for details.)&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00055.html&quot; title=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00055.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/Jun-2008/msg00055.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Torbutton 1.2.0rc2 (released June 8) features a fix for an annoying bug on MacOS, and adds much clamored for options to start Firefox in a specific Tor state:&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00103.html&quot; title=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00103.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/Jun-2008/msg00103.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tor 0.2.0.28-rc (released June 13) fixes an anonymity-related bug, fixes a hidden-service performance bug, and fixes a bunch of smaller bugs.&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00165.html&quot; title=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00165.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/Jun-2008/msg00165.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tor 0.2.1.1-alpha (released June 13) fixes a lot of memory fragmentation problems that were making the Tor process bloat especially on Linux; makes our TLS handshake blend in better; sends &quot;bootstrap phase&quot; status events to the controller, so it can keep the user informed of progress (and problems) fetching directory information and establishing circuits; and adds a variety of smaller features. &lt;a href=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00185.html&quot; title=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00185.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/Jun-2008/msg00185.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vidalia 0.1.4 (released June 13) adds a bootstrap progress bar, UPnP support, a new set of freely licensed GUI icons, and fixes a few bugs.&lt;br /&gt;
&lt;a href=&quot;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.4/CHANGELOG&quot; title=&quot;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.4/CHANGELOG&quot; rel=&quot;nofollow&quot;&gt;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.4/CHANG...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Tor Browser Bundle 1.1.0 (released June 13) replaces startup batch script with application (RelativeLink) so there is a helpful icon, optionally installs Pidgin (for Tor IM Browser Bundle), optionally uses WinRAR to produce a self-extracting split bundle, and includes upgraded versions of Tor, Vidalia, and Torbutton.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/torbrowser/trunk/README&quot; title=&quot;https://svn.torproject.org/svn/torbrowser/trunk/README&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/torbrowser/trunk/README&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tor 0.2.1.2-alpha (released June 20) includes a new &quot;TestingTorNetwork&quot; config option to make it easier to set up your own private Tor network; fixes several big bugs with using more than one bridge relay; fixes a big bug with offering hidden services quickly after Tor starts; and uses a better API for reporting potential bootstrapping problems to the controller.&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00247.html&quot; title=&quot;http://archives.seul.org/or/talk/Jun-2008/msg00247.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/Jun-2008/msg00247.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vidalia 0.1.5 (released June 21) switches Vidalia&#039;s internal string representation so it can use the new Pootle-based translation system.&lt;br /&gt;
&lt;a href=&quot;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.5/CHANGELOG&quot; title=&quot;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.5/CHANGELOG&quot; rel=&quot;nofollow&quot;&gt;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.5/CHANG...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Torbutton 1.2.0rc3 and 1.2.0rc4 (both released June 27) provide improved addon compatibility, better preservation of Firefox preferences that we touch, fixing issues with Tor toggle breaking for some option combos, and an improved &#039;Restore Defaults&#039; button.&lt;br /&gt;
&lt;a href=&quot;https://torbutton.torproject.org/dev/CHANGELOG&quot; title=&quot;https://torbutton.torproject.org/dev/CHANGELOG&quot; rel=&quot;nofollow&quot;&gt;https://torbutton.torproject.org/dev/CHANGELOG&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We finally got around to writing down the details of many of our architecture and technical design changes:&lt;/p&gt;
&lt;p&gt;Proposal 137 (&quot;Keep controllers informed as Tor bootstraps&quot;) modifies Tor so it keeps Vidalia informed of each &quot;bootstrap phase&quot; -- that is, progress Tor makes at learning directory information, making connections to the network, etc. Now Vidalia has a progress bar on Tor startup that explains what&#039;s going on. Further, Tor reports &quot;bootstrap problems&quot; when it believes it&#039;s having troubles starting up correctly, and Vidalia can now tell the user. All of this is in as of the Tor 0.2.1.2-alpha release (June 20).&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/137-bootstrap-phases.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/137-bootstrap-phases.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/137-bootstra...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 138 (&quot;Remove routers that are not Running from consensus documents&quot;) modifies the directory &quot;networkstatus consensus&quot; documents so they no longer list relays that are believed to be unusable. They used to list these relays so clients could decide for themselves, but in practice clients just ignored them. This change saves 30% to 40% in download bandwidth for consensus documents. It is included in the 0.2.1.2-alpha release (June 20).&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/138-remove-down-routers-from-consensus.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/138-remove-down-routers-from-consensus.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/138-remove-d...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 139 (&quot;Download consensus documents only when it will be trusted&quot;) tries to make Tor clients better handle the case when new directory authorities have been added to the system, or when directory authorities have changed (for example, this could happen if we have another bug like the one in May that caused us to change keys for half the directory authorities). Now clients specify which directory authorities they trust, so the directory mirrors can give them a consensus document they&#039;ll be willing to use. This change is included in Tor 0.2.1.1-alpha, and a bugfix on it was included in Tor 0.2.1.2-alpha.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/139-conditional-consensus-download.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/139-conditional-consensus-download.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/139-conditio...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 140 (&quot;Provide diffs between consensuses&quot;) is still under development, but is scheduled to be included in the Tor 0.2.1.x tree. The idea is that most parts of the consensus document don&#039;t change from one hour to the next, so we can give clients a diff on the previous one rather than a whole new document, changing the size of the document every client must download every few hours from 92KB on average to 13KB on average.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/140-consensus-diffs.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/140-consensus-diffs.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/140-consensu...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposal 141 (&quot;Download server descriptors on demand&quot;) is still under discussion, and may not be ready until for inclusion until Tor 0.2.2.x. This is the more detailed version of our &quot;grand scaling plan&quot; first mentioned in April. The idea is to have clients download networkstatus consensus documents as they do now, but rather than preemptively fetching every relay descriptor just in case, they fetch descriptors &quot;just in time&quot; only when they need them.  The trick is to keep the bandwidth overhead low while not introducing too many new anonymity attacks e.g. due to leaking which relays you&#039;re picking.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/141-jit-sd-downloads.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/141-jit-sd-downloads.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/141-jit-sd-d...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We&#039;ve instrumented a Tor client to collect stats on how much bandwidth we use now for directory overhead and how much we&#039;d save with this new approach:&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/dev/Jun-2008/msg00024.html&quot; title=&quot;http://archives.seul.org/or/dev/Jun-2008/msg00024.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/dev/Jun-2008/msg00024.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Proposals 142 (&quot;Combine Introduction and Rendezvous Points&quot;) and 143 (&quot;Improvements of Distributed Storage for Tor Hidden Service Descriptors&quot;) are still in the discussion phase. Their goal is to improve the experience for clients accessing Tor hidden services, both by making the handshake faster and by making hidden service reachability more reliable and more robust.&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/142-combine-intro-and-rend-points.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/142-combine-intro-and-rend-points.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/142-combine-...&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/143-distributed-storage-improvements.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/143-distributed-storage-improvements.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/spec/proposals/143-distribu...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The &quot;spoofing Firefox cipher suites and extensions&quot; features are now in the Tor 0.2.1.1-alpha release, meaning they&#039;re in the Tor Browser Bundle 1.1.0 release also. From the 0.2.1.1-alpha ChangeLog:&lt;br /&gt;
&quot;More work on making our TLS handshake blend in: modify the list of ciphers advertised by OpenSSL in client mode to even more closely resemble a common web browser. We cheat a little so that we can advertise ciphers that the locally installed OpenSSL doesn&#039;t know about.&quot;&lt;/p&gt;
&lt;p&gt;We&#039;ve done some initial security auditing (though there&#039;s always room for more, and we plan to do some more concrete auditing in July).&lt;/p&gt;
&lt;p&gt;Nick also wrote some early thoughts on doing pass-through to an Apache server to improve scanning resistance:&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/dev/Jun-2008/msg00014.html&quot; title=&quot;http://archives.seul.org/or/dev/Jun-2008/msg00014.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/dev/Jun-2008/msg00014.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Tor Browser Bundle 1.1.0 (released June 13) replaces startup batch script with application (RelativeLink) so there is a helpful icon, optionally installs Pidgin (for Tor IM Browser Bundle), optionally uses WinRAR to produce a self-extracting split bundle, and includes upgraded versions of Tor, Vidalia, and Torbutton.&lt;/p&gt;
&lt;p&gt;We also looked into running two Firefoxes in parallel:&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/torbrowser/trunk/docs/two-firefox.txt&quot; title=&quot;https://svn.torproject.org/svn/torbrowser/trunk/docs/two-firefox.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/torbrowser/trunk/docs/two-firefox.txt&lt;/a&gt;&lt;br /&gt;
and we even hacked in some Torbutton fixes that will come out in version 1.2.0rc3 that should get us closer:&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/cvs/Jun-2008/msg00213.html&quot; title=&quot;http://archives.seul.org/or/cvs/Jun-2008/msg00213.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/cvs/Jun-2008/msg00213.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Speaking of which, we also hacked in another feature in Torbutton 0.1.2rc2, to add a &quot;locked&quot; mode so Tor Browser Bundle can start Torbutton and not fear that the user will click and disable Tor. I believe TBB 1.1.0 doesn&#039;t use this feature yet though.&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/cvs/Jun-2008/msg00186.html&quot; title=&quot;http://archives.seul.org/or/cvs/Jun-2008/msg00186.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/cvs/Jun-2008/msg00186.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;From the Tor 0.2.1.2-alpha ChangeLog:&lt;br /&gt;
&quot;If you have more than one bridge but don&#039;t know their digests, you would only learn a request for the descriptor of the first one on your list. (Tor considered launching requests for the others, but found that it already had a connection on the way for $0000...0000 so it didn&#039;t open another.) Bugfix on 0.2.0.x.&quot;&lt;br /&gt;
&quot;If you have more than one bridge but don&#039;t know their digests, and the connection to one of the bridges failed, you would cancel all pending bridge connections. (After all, they all have the same digest.) Bugfix on 0.2.0.x.&quot;&lt;br /&gt;
&quot;If you&#039;re using bridges, generate &quot;bootstrap problem&quot; warnings as soon as you run out of working bridges, rather than waiting for ten failures -- which will never happen if you have less than ten bridges.&quot;&lt;/p&gt;
&lt;p&gt;We put up a new webpage to describe bridges, how to fetch bridge relay addresses, etc:&lt;br /&gt;
&lt;a href=&quot;https://www.torproject.org/bridges&quot; title=&quot;https://www.torproject.org/bridges&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/bridges&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We also modified the BridgeDB database (that is, the server that runs &lt;a href=&quot;https://bridges.torproject.org/&quot; title=&quot;https://bridges.torproject.org/&quot; rel=&quot;nofollow&quot;&gt;https://bridges.torproject.org/&lt;/a&gt; and answers mail to &lt;a href=&quot;mailto:bridges@torproject.org&quot; rel=&quot;nofollow&quot;&gt;bridges@torproject.org&lt;/a&gt;) to autodetect if the address hitting &lt;a href=&quot;https://bridges.torproject.org/&quot; title=&quot;https://bridges.torproject.org/&quot; rel=&quot;nofollow&quot;&gt;https://bridges.torproject.org/&lt;/a&gt; is currently a Tor exit relay, and if so to treat it specially -- that is, we reserve a set of bridge addresses and give those out only to folks coming in over Tor.&lt;/p&gt;
&lt;p&gt;The updated BridgeDB version now makes sure to give out at least one bridge that&#039;s listed as Stable in the bridge authority&#039;s networkstatus document, and at least one bridge that listens on port 443. The goal here is to increase the odds that at least one of the bridges we give the user will be usable even if he&#039;s in a tightly firewalled situation.&lt;/p&gt;
&lt;p&gt;From the Tor 0.2.0.27-rc ChangeLog:&lt;br /&gt;
&quot;Include an IP-to-country GeoIP file in the tarball, so bridge relays can report sanitized summaries of the usage they&#039;re seeing.&quot;&lt;/p&gt;
&lt;p&gt;We finished work on a patch for OpenSSL that will make it keep less buffer space around. Currently fast Tor relays use (waste) as much as 100M of memory in OpenSSL&#039;s buffers. This patch was accepted and included in the main OpenSSL tree in June:&lt;br /&gt;
&lt;a href=&quot;http://marc.info/?l=openssl-cvs&amp;amp;m=121246471627426&amp;amp;w=2&quot; title=&quot;http://marc.info/?l=openssl-cvs&amp;amp;m=121246471627426&amp;amp;w=2&quot; rel=&quot;nofollow&quot;&gt;http://marc.info/?l=openssl-cvs&amp;amp;m=121246471627426&amp;amp;w=2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Vidalia 0.1.4 release has folded the UPnP library and GUI changes into the main Vidalia tree, along with a &quot;test&quot; button to try speaking UPnP at the local router and tell the user whether it worked; these features will be available by default in the 0.2.0.x stable release.&lt;/p&gt;
&lt;p&gt;We&#039;ve put a lot of effort into reducing Tor&#039;s memory footprint again. The main issue was a &quot;memory fragmentation&quot; problem in Linux&#039;s memory allocator, which was causing Tor servers on Linux to slowly grow without bound. As of Tor 0.2.1.2-alpha, the issue appears to be substantially better. Many more details are here:&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/dev/Jun-2008/msg00001.html&quot; title=&quot;http://archives.seul.org/or/dev/Jun-2008/msg00001.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/dev/Jun-2008/msg00001.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;From the Tor 0.2.1.2-alpha ChangeLog:&lt;br /&gt;
&quot;New TestingTorNetwork config option to allow adjustment of previously constant values that, while reasonable, could slow bootstrapping. Implements proposal 135. Patch from Karsten Loesing.&quot;&lt;br /&gt;
&quot;When building a consensus, do not include routers that are down. This will cut down 30% to 40% on consensus size. Implements proposal 138.&quot;&lt;/p&gt;
&lt;p&gt;From the Tor 0.2.1.2-alpha ChangeLog:&lt;br /&gt;
&quot;New TestingTorNetwork config option to allow adjustment of previously constant values that, while reasonable, could slow bootstrapping. Implements proposal 135. Patch from Karsten Loesing.&quot;&lt;br /&gt;
&quot;When building a consensus, do not include routers that are down. This will cut down 30% to 40% on consensus size. Implements proposal 138.&quot;&lt;/p&gt;
&lt;p&gt;We&#039;ve added clear user-oriented instructions for the Tor Browser Bundle split-download page:&lt;br /&gt;
&lt;a href=&quot;https://www.torproject.org/torbrowser/split.html.en&quot; title=&quot;https://www.torproject.org/torbrowser/split.html.en&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/torbrowser/split.html.en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We&#039;re starting work on a &quot;gettor&quot; email auto-responder script that will let people mail &lt;a href=&quot;mailto:gettor@torproject.org&quot; rel=&quot;nofollow&quot;&gt;gettor@torproject.org&lt;/a&gt; and retrieve a copy of Tor from their mailbox. More info forthcoming in July.&lt;/p&gt;
&lt;p&gt;More generally, we have a new &lt;a href=&quot;https://www.torproject.org/finding-tor&quot; title=&quot;https://www.torproject.org/finding-tor&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/finding-tor&lt;/a&gt; page that describes various mechanisms such as mirrors.&lt;/p&gt;
&lt;p&gt;In July we plan to deploy a more automated mechanism for tracking which Tor mirrors are up-to-date.&lt;/p&gt;
&lt;p&gt;We have our translation server up and online:&lt;br /&gt;
&lt;a href=&quot;https://translation.torproject.org/&quot; title=&quot;https://translation.torproject.org/&quot; rel=&quot;nofollow&quot;&gt;https://translation.torproject.org/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We have imported the strings from Vidalia, Torbutton, and Torcheck, and we currently have active translations for Spanish, French, German, Italian, Polish, Romanian, Swedish, Turkish, Finnish, Russian, Chinese, and Arabic.&lt;/p&gt;
&lt;p&gt;We have a more useful overall translation tutorial here:&lt;br /&gt;
&lt;a href=&quot;https://www.torproject.org/translation-portal&quot; title=&quot;https://www.torproject.org/translation-portal&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/translation-portal&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And we have internal documentation here for how to deal with the translation stuff behind the scenes:&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/tor/trunk/doc/translations.txt&quot; title=&quot;https://svn.torproject.org/svn/tor/trunk/doc/translations.txt&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/tor/trunk/doc/translations.txt&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In July we plan to add the strings for Vidalia&#039;s installer; the challenge is that we need to write a script to convert from the &quot;nsh&quot; (nullscript installer language) format to the &quot;po&quot; (preferred by Pootle) format and back.&lt;/p&gt;
&lt;p&gt;In July we also expect to see the first version of our &quot;wml to po and back&quot; conversion tool, that will allow us to start putting our website pages into the translation server.&lt;/p&gt;
</description>
 <comments>http://blog.torproject.org/blog/june-2008-progress-report#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/bridges">bridges</category>
 <category domain="http://blog.torproject.org/category/tags/openssl">openssl</category>
 <category domain="http://blog.torproject.org/category/tags/progress-report">progress report</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <category domain="http://blog.torproject.org/category/tags/tor-browser-bundle">tor browser bundle</category>
 <category domain="http://blog.torproject.org/category/tags/translations">translations</category>
 <category domain="http://blog.torproject.org/category/tags/vidalia">vidalia</category>
 <pubDate>Tue, 22 Jul 2008 20:25:34 -0700</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">43 at http://blog.torproject.org</guid>
</item>
<item>
 <title>Incognito and The Tor Project sign a licensing agreement</title>
 <link>http://blog.torproject.org/blog/incognito-and-tor-project-sign-licensing-agreement</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://anonymityanywhere.com/incognito/&quot;&gt;Incognito&lt;/a&gt; is an open source LiveDistro assisting you to securely and anonymously use the Internet almost anywhere you go.   Incognito can be used from either a CD or a USB drive and has several Internet applications (Web browser, IRC client, Mail client, Instant messenger, etc.) pre-configured with security in mind, and all Internet traffic will be anonymized.&lt;/p&gt;
&lt;p&gt;At the core of this anonymity is the Tor&amp;#0153 software and network.  In recognition of the transparency, open source base, continued development, and improvement of the Incognito software, The Tor Project is proud to list Incognito as a licensee of the Tor brands.&lt;/p&gt;
&lt;p&gt;Incognito has the right to use the Tor name and the Tor onion logo&amp;#0153 as needed.  The high quality graphics will improve the user experience.  The usage of the Tor brand will only further reinforce that Incognito is a legitimate solution using the Tor software.&lt;/p&gt;
&lt;p&gt;We welcome the further cooperation and collaboration between Incognito and The&lt;br /&gt;
Tor Project.&lt;/p&gt;
</description>
 <comments>http://blog.torproject.org/blog/incognito-and-tor-project-sign-licensing-agreement#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/incognito">incognito</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <category domain="http://blog.torproject.org/category/tags/trademarks">trademarks</category>
 <pubDate>Fri, 27 Jun 2008 14:42:44 -0700</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">39 at http://blog.torproject.org</guid>
</item>
<item>
 <title>May 2008 Progress Report</title>
 <link>http://blog.torproject.org/blog/may-2008-progress-report</link>
 <description>&lt;p&gt;Tor 0.2.0.26-rc (released May 13) fixes a major security vulnerability caused by a bug in Debian&#039;s OpenSSL packages. All users running any 0.2.0.x version should upgrade, whether they&#039;re running Debian or not.&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/talk/May-2008/msg00048.html&quot; title=&quot;http://archives.seul.org/or/talk/May-2008/msg00048.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/talk/May-2008/msg00048.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vidalia 0.1.3 (released May 25) adds a hidden service configuration UI designed and implemented by Domenik Bork, as well as a few other bugfixes.&lt;br /&gt;
&lt;a href=&quot;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.3/CHANGELOG&quot; title=&quot;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.3/CHANGELOG&quot; rel=&quot;nofollow&quot;&gt;http://trac.vidalia-project.net/browser/vidalia/tags/vidalia-0.1.3/CHANG...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Tor Browser Bundle 1.0.2 (released May 3) and 1.0.3 (released May 16) include upgraded versions of Tor, Vidalia, Torbutton, and Firefox.&lt;/p&gt;
&lt;p&gt;We added three new part-time developers in May. We hired Matt Edman as a part-time employee at the beginning of May, to work on Vidalia maintenance, bugfixes, and new features. We also are funding Karsten Loesing to work on making hidden service rendezvous and interaction faster, and Peter Palfrader to work on lowering the overhead of directory requests, especially during bootstrap, which should directly improve the experience for Tor users on modems or cell phones.&lt;/p&gt;
&lt;p&gt;Google has agreed to give us some funding to work on auto-update for Windows. Our plan is for Vidalia to look at the majority-signed network status consensus to decide when to update and to what version (Tor already lists what versions are considered safe, in each network status document).  We should actually do the update via Tor if possible, for additional privacy, and we need to make sure to check package signatures to ensure package validity. Last, we need to give the user an interface for these updates, including letting her opt to migrate from one major Tor version to the next.&lt;/p&gt;
&lt;p&gt;We continued enhancements to the Chinese and Russian Tor website translations. Vidalia also added a Turkish translation.&lt;/p&gt;
&lt;p&gt;From the Vidalia 0.1.3 ChangeLog:&lt;br /&gt;
&quot;If we&#039;re running Tor &amp;gt;= 0.2.0.13-alpha, then check the descriptor annotations for each descriptor before deciding to do a geoip lookup on its IP address. If the annotations indicate it is a special purpose descriptor (e.g., bridges), then don&#039;t do the lookup at all.&quot;&lt;/p&gt;
&lt;p&gt;&quot;Remove the &#039;Run Tor as a Service&#039; checkbox. Lots of people seem to be clicking it even though they don&#039;t really need to, and we end up leaving them in a broken state after a reboot.&quot;&lt;/p&gt;
&lt;p&gt;&quot;Only display the running relays in the big list of relays to the left of the network map. Listing a big pile of unavailable relays is not particularly useful, and just clutters up the list.&quot;&lt;/p&gt;
&lt;p&gt;We worked toward a Torbutton 1.2.0rc1 release candidate, which will include support for Firefox 3 along with a huge pile of privacy-related bugfixes.&lt;/p&gt;
&lt;p&gt;We spent much of the first half of May dealing with a surprise massive security vulnerability in a crypto library that comes with Debian:&lt;br /&gt;
&lt;a href=&quot;http://archives.seul.org/or/announce/May-2008/msg00000.html&quot; title=&quot;http://archives.seul.org/or/announce/May-2008/msg00000.html&quot; rel=&quot;nofollow&quot;&gt;http://archives.seul.org/or/announce/May-2008/msg00000.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can read a more detailed explanation of the effects of the flaw here:&lt;br /&gt;
&lt;a href=&quot;https://blog.torproject.org/blog/debian-openssl-flaw%3A-what-does-it-mean-tor-clients%3F&quot; title=&quot;https://blog.torproject.org/blog/debian-openssl-flaw%3A-what-does-it-mean-tor-clients%3F&quot; rel=&quot;nofollow&quot;&gt;https://blog.torproject.org/blog/debian-openssl-flaw%3A-what-does-it-mea...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Part of dealing with the flaw meant doing some quick design work so we could let new Tor users be safe without making it so old Tor users were cut off from the network:&lt;br /&gt;
&lt;a href=&quot;https://www.torproject.org/svn/trunk/doc/spec/proposals/136-legacy-keys.txt&quot; title=&quot;https://www.torproject.org/svn/trunk/doc/spec/proposals/136-legacy-keys.txt&quot; rel=&quot;nofollow&quot;&gt;https://www.torproject.org/svn/trunk/doc/spec/proposals/136-legacy-keys....&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sometime in late June or early July we will disable this workaround, meaning all the 0.2.0.x users who haven&#039;t upgraded yet will be cut off.&lt;/p&gt;
&lt;p&gt;We are preparing for the Tor gathering at the Privacy Enhancing Technologies Symposium in Leuven in July. This is looking like it will be the largest physical gathering of Tor developers ever -- main developers attending include Roger Dingledine, Nick Mathewson, Jacob Appelbaum, Mike Perry, Matt Edman, Steven Murdoch, and Karsten Loesing; Tor researchers include Paul Syverson and Ian Goldberg; and we&#039;ll have 5 of our 7 Google Summer of Code students there as well.&lt;br /&gt;
&lt;a href=&quot;https://blog.torproject.org/events/roger%2C-nick%2C-steven%2C-matt%2C-karsten%2C-paul%2C-jacob-pets&quot; title=&quot;https://blog.torproject.org/events/roger%2C-nick%2C-steven%2C-matt%2C-karsten%2C-paul%2C-jacob-pets&quot; rel=&quot;nofollow&quot;&gt;https://blog.torproject.org/events/roger%2C-nick%2C-steven%2C-matt%2C-ka...&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://petsymposium.org/2008/program.php&quot; title=&quot;http://petsymposium.org/2008/program.php&quot; rel=&quot;nofollow&quot;&gt;http://petsymposium.org/2008/program.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The upcoming TBB release in June will include optional instant messaging support via Pidgin + Off-The-Record Messaging; replace the startup batch script with an actual application (named RelativeLink), so TBB now has a helpful Tor icon rather than an ugly batch file icon; and optionally support using WinRAR to produce a self-extracting split bundle.&lt;/p&gt;
&lt;p&gt;We now have a more thorough set of TBB build instructions:&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/torbrowser/trunk/build-scripts/INSTALL&quot; title=&quot;https://svn.torproject.org/svn/torbrowser/trunk/build-scripts/INSTALL&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/torbrowser/trunk/build-scripts/INSTALL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We also documented the build and deploy process for a new TBB version:&lt;br /&gt;
&lt;a href=&quot;https://svn.torproject.org/svn/torbrowser/trunk/build-scripts/DEPLOYMENT&quot; title=&quot;https://svn.torproject.org/svn/torbrowser/trunk/build-scripts/DEPLOYMENT&quot; rel=&quot;nofollow&quot;&gt;https://svn.torproject.org/svn/torbrowser/trunk/build-scripts/DEPLOYMENT&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We finished integrating a UPnP library into Vidalia. This feature allows users who want to set up a Tor relay but don&#039;t want to muck with manual port forwarding on their router/firewall to just click a button and have Vidalia interact with their router/firewall automatically. This approach won&#039;t work in all cases, but it should work in at least some. The upcoming Vidalia 0.1.4 (scheduled for June) release has folded the UPnP library and GUI changes into the main Vidalia tree, along with a &quot;test&quot; button to try speaking UPnP at the local router and tell the user whether it worked; these features will be available by default in the 0.2.0.x stable release.&lt;/p&gt;
&lt;p&gt;We spent May hunting for a better online translation option, since Launchpad (intended to be used for Vidalia translation) has an ugly interface and can&#039;t handle our file formats well, and Babelzilla (intended to be used for Torbutton translation) artificially limited the number of concurrent translators we could have.&lt;/p&gt;
&lt;p&gt;In early June we hit upon Pootle, which is a translation server that we host, as opposed to a shared web service that other organizations host.  We&#039;ve set up a test server at &lt;a href=&quot;http://translation.torproject.org/&quot; title=&quot;http://translation.torproject.org/&quot; rel=&quot;nofollow&quot;&gt;http://translation.torproject.org/&lt;/a&gt; and imported strings for Vidalia, Torbutton, and Torcheck. We hope to have a lot more to show here in June.&lt;/p&gt;
</description>
 <comments>http://blog.torproject.org/blog/may-2008-progress-report#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/bridges">bridges</category>
 <category domain="http://blog.torproject.org/category/tags/browser-bundle">browser bundle</category>
 <category domain="http://blog.torproject.org/category/tags/progress-report">progress report</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <category domain="http://blog.torproject.org/category/tags/torbutton">torbutton</category>
 <category domain="http://blog.torproject.org/category/tags/vidalia">vidalia</category>
 <pubDate>Tue, 24 Jun 2008 20:39:17 -0700</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">38 at http://blog.torproject.org</guid>
</item>
<item>
 <title>Google funds an auto-update for Vidalia</title>
 <link>http://blog.torproject.org/blog/google-funds-auto-update-vidalia</link>
 <description>&lt;p&gt;Google is funding a project to create an auto-update feature in Vidalia.  This &lt;a href=&quot;https://www.torproject.org/projects/google&quot; rel=&quot;nofollow&quot;&gt;auto-update feature&lt;/a&gt; will provide a better user experience for Tor users.  The goal is to create a system where Vidalia can detect when a new release is available, fetch the package, verify authenticity, and assist the user in upgrading the Vidalia/Tor package.  The auto-update feature preserves the user&#039;s privacy and anonymity.  Over the next six months we&#039;ll develop the auto-update system for general release around November 15, 2008.  &lt;/p&gt;
&lt;p&gt;We&#039;re excited to work with Google on this project and look forward to the collaboration.&lt;/p&gt;
</description>
 <comments>http://blog.torproject.org/blog/google-funds-auto-update-vidalia#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/auto-update">auto-update</category>
 <category domain="http://blog.torproject.org/category/tags/funding">funding</category>
 <category domain="http://blog.torproject.org/category/tags/google">google</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <category domain="http://blog.torproject.org/category/tags/tor-software">tor software</category>
 <category domain="http://blog.torproject.org/category/tags/vidalia">vidalia</category>
 <pubDate>Fri, 06 Jun 2008 19:13:30 -0700</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">36 at http://blog.torproject.org</guid>
</item>
<item>
 <title>Jacob and Matt join the Tor Project</title>
 <link>http://blog.torproject.org/blog/jacob-and-matt-join-tor-project</link>
 <description>&lt;p&gt;Jacob Appelbaum joins us to help out with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;developing a translation portal.  This should help us find translators&lt;br /&gt;
and make their updates easier.&lt;/li&gt;
&lt;li&gt;coordinating the Tor translation team and getting parts that need&lt;br /&gt;
translating, translated.&lt;/li&gt;
&lt;li&gt;helping to better document Tor for non-technical users.&lt;/li&gt;
&lt;li&gt;writing an auto-responder to use Google&#039;s gmail to deliver Tor to&lt;br /&gt;
users who request it&lt;/li&gt;
&lt;li&gt;helping to get auto-updating for Tor and Vidalia working seamlessly&lt;/li&gt;
&lt;li&gt;maintaining the code that runs the tor exitlist&lt;/li&gt;
&lt;li&gt;generally advocating Tor&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Matt Edman joins the Tor Project.  Matt joins to help us enhance Tor&#039;s&lt;br /&gt;
interactions with Vidalia.  Specifically, he&#039;s working on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;integrating upnp libraries into vidalia to make it easier to setup servers&lt;/li&gt;
&lt;li&gt;displaying Tor&#039;s startup status more visually in Vidalia to help users&lt;br /&gt;
understand what&#039;s going on as Tor starts&lt;/li&gt;
&lt;li&gt;assist with making translating Vidalia&#039;s interface and help files&lt;br /&gt;
easier for translators&lt;/li&gt;
&lt;li&gt;helping to flesh out proposals in queue on or-dev&lt;/li&gt;
&lt;li&gt;helping to get auto-updating or Tor and Vidalia working seamlessly&lt;/li&gt;
&lt;li&gt;tackling the &quot;matt&quot; section of the &lt;a href=&quot;http://www.torproject.org/svn/trunk/doc/TODO&quot; rel=&quot;nofollow&quot;&gt;TODO file.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Welcome Jacob and Matt!&lt;/p&gt;
</description>
 <comments>http://blog.torproject.org/blog/jacob-and-matt-join-tor-project#comments</comments>
 <category domain="http://blog.torproject.org/category/tags/auto-update">auto-update</category>
 <category domain="http://blog.torproject.org/category/tags/exitlist">exitlist</category>
 <category domain="http://blog.torproject.org/category/tags/tor">tor</category>
 <category domain="http://blog.torproject.org/category/tags/tor-check">tor check</category>
 <category domain="http://blog.torproject.org/category/tags/translation">translation</category>
 <category domain="http://blog.torproject.org/category/tags/upnp">upnp</category>
 <category domain="http://blog.torproject.org/category/tags/vidalia">vidalia</category>
 <category domain="http://blog.torproject.org/category/tags/vidalia-bundle">vidalia bundle</category>
 <pubDate>Thu, 29 May 2008 13:36:47 -0700</pubDate>
 <dc:creator>phobos</dc:creator>
 <guid isPermaLink="false">31 at http://blog.torproject.org</guid>
</item>
</channel>
</rss>
