|
@@ -1,3 +1,135 @@
|
|
|
+Changes in version 0.2.3.1-alpha - 2011-05-0?
|
|
|
+
|
|
|
+ Tor 0.2.3.1-alpha adds some new experimental features, including support
|
|
|
+ for an improved network IO backend, IOCP networking on Windows,
|
|
|
+ microdescriptor caching, "fast-start" support for streams, and automatic
|
|
|
+ home router configuration. There are also numerous internal improvements
|
|
|
+ to try to make the code easier for developers to work with.
|
|
|
+
|
|
|
+ o Major features
|
|
|
+ - Tor can now optionally build with the "bufferevents" buffered IO
|
|
|
+ backend provided by Libevent 2. To use this feature, make sure you
|
|
|
+ have the latest possible version of Libevent, and pass the
|
|
|
+ --enable-bufferevents flag to configure when building Tor from source.
|
|
|
+ Using this feature will make our networking code more flexible, let us
|
|
|
+ stack layers on each other, and let us use more efficient zero-copy
|
|
|
+ transports where available.
|
|
|
+ - As an experimental feature, Tor can use IOCP for networking on Windows.
|
|
|
+ Once this code is tuned and optimized, it promises much better
|
|
|
+ performance than the select-based backend we've used in the past. To
|
|
|
+ try this feature, you must build Tor with Libevent 2, configure Tor
|
|
|
+ with the "bufferevents" buffered IO backend, and add "DisableIOCP 0" to
|
|
|
+ your torrc. There are known bugs here: only try this if you can help
|
|
|
+ debug it as it breaks.
|
|
|
+ - The EntryNodes option can now include country codes like {de} or IP
|
|
|
+ addresses or network masks. Previously we had disallowed these options
|
|
|
+ because we didn't have an efficient way to keep the list up to
|
|
|
+ date. Fixes bug 1982.
|
|
|
+ - Exit nodes now accept and queue data on not-yet-connected streams.
|
|
|
+ Previously, the client wasn't allowed to send data until the stream was
|
|
|
+ connected, which slowed down all connections. This change will enable
|
|
|
+ clients to perform a "fast-start" on streams and send data without
|
|
|
+ having to wait for a confirmation that the stream has opened. (Patch
|
|
|
+ from Ian Goldberg; implements the server side of Proposal 174.)
|
|
|
+ - Tor now has initial support for automatic port mapping on on the many
|
|
|
+ home routers that support NAT-PMP or UPnP. (Not yet supported on
|
|
|
+ Windows). To build the support code, you'll need to have libnatpnp
|
|
|
+ library and/or the libminiupnpc library, and you'll need to enable the
|
|
|
+ feature specifically by passing "--enable-upnp" and/or
|
|
|
+ "--enable-natpnp" to configure. To turn it on, use the new
|
|
|
+ PortForwarding option.
|
|
|
+ - Caches now download, cache, and sever multiple "flavors" of the
|
|
|
+ consensus, including a flavor that describes microdescriptors.
|
|
|
+ - Caches now download, cache, and serve microdescriptors -- small
|
|
|
+ summaries of router descriptors that are authenticated by all of the
|
|
|
+ directory authorities. Once enough caches are running this code,
|
|
|
+ clients will be able to save significant amounts of directory bandwidth
|
|
|
+ by downloading microdescriptors instead of router descriptors.
|
|
|
+
|
|
|
+ o Minor features:
|
|
|
+ - Make logging resolution configurable and change default from 1
|
|
|
+ millisecond to 1 second. Implements enhancement 1668.
|
|
|
+ - We log which torrc file we're using on startup. Implements ticket 2444.
|
|
|
+ - Ordinarily, Tor does not count traffic from private addresses (like
|
|
|
+ 127.0.0.1 or 10.0.0.1) when calculating rate limits or accounting.
|
|
|
+ There is now a new option, CountPrivateBandwidth, to disable this
|
|
|
+ behavior. Patch from Daniel Cagara.
|
|
|
+ - New --enable-static-tor configure option for building Tor as statically
|
|
|
+ as possible. Idea, general hackery and thoughts from Alexei Czeskis,
|
|
|
+ John Gilmore, Jacob Appelbaum. Implements ticket 2702.
|
|
|
+ - If you set the NumCPUs option to 0, Tor will now try to detect how many
|
|
|
+ CPUs you have. This is the new default behavior.
|
|
|
+ - Turn on directory request statistics by default and include them in
|
|
|
+ extra-info descriptors. Don't break if we have no GeoIP database.
|
|
|
+ - Relays that set "ConnDirectionStatistics 1" write statistics on the
|
|
|
+ bidirectional use of connections to disk every 24 hours.
|
|
|
+ - Add a GeoIP file digest to the extra-info descriptor. Implements
|
|
|
+ enhancement 1883.
|
|
|
+ - Add a new 'Heartbeat' log message type to periodically log a message
|
|
|
+ describing Tor's status at level Notice. This feature is meant for
|
|
|
+ operators who log at notice, adn want to make sure that their Tor
|
|
|
+ server is still working. Implementation by George Kadianakis.
|
|
|
+
|
|
|
+ o Minor bugfixes (on 0.2.2.25-alpha):
|
|
|
+ - When loading the microdesc journal, remember its current size.
|
|
|
+ In 0.2.2, this helps prevent the microdesc journal from growing
|
|
|
+ without limit on authorities (who are the only ones to use it in
|
|
|
+ 0.2.2). Fixes a part of bug 2230; bugfix on 0.2.2.6-alpha.
|
|
|
+ Fix posted by "cypherpunks."
|
|
|
+ - The microdesc journal is supposed to get rebuilt only if it is
|
|
|
+ at least _half_ the length of the store, not _twice_ the length
|
|
|
+ of the store. Bugfix on 0.2.2.6-alpha; fixes part of bug 2230.
|
|
|
+ - Authorities now clean their microdesc cache periodically and when
|
|
|
+ reading from disk initially, not only when adding new descriptors.
|
|
|
+ This prevents a bug where we could lose microdescriptors. Bugfix
|
|
|
+ on 0.2.2.6-alpha.
|
|
|
+
|
|
|
+ o Minor features (controller)
|
|
|
+ - Add a new SIGNAL event to the controller interface so that
|
|
|
+ controllers can be notified when Tor handles a signal. Resolves
|
|
|
+ issue 1955. Patch by John Brooks.
|
|
|
+ - Add a new GETINFO option to get total bytes read and written. Patch
|
|
|
+ from pipe, revised by atagar. Resolves ticket 2345.
|
|
|
+ - Implement some GETINFO controller fields to provide information about
|
|
|
+ the Tor process's pid, euid, username, and resource limits.
|
|
|
+
|
|
|
+ o Build changes
|
|
|
+ - Our build system requires automake 1.6 or later to create the
|
|
|
+ Makefile.in files. Previously, you could have used 1.4.
|
|
|
+ This only affects developers and people building Tor from git;
|
|
|
+ people who build Tor from the source distribution without changing
|
|
|
+ the Makefile.am files should be fine.
|
|
|
+ - Our autogen.sh script uses autoreconf to launch autoconf, automake, and
|
|
|
+ so on. This is more robust against some of the failure modes
|
|
|
+ associated with running the autotools pieces on their own.
|
|
|
+
|
|
|
+ o Minor packaging issues:
|
|
|
+ - On OpenSUSE, create the /var/run/tor directory on startup if it is not
|
|
|
+ already created. Patch from Andreas Stieger. Fixes bug 2573.
|
|
|
+
|
|
|
+ o Code simplifications and refactoring:
|
|
|
+ - A major revision to our internal node-selecting and listing logic.
|
|
|
+ Tor already had at least two major ways to look at the question of
|
|
|
+ "which Tor servers do we know about": a list of router descriptors,
|
|
|
+ and a list of entries in the current consensus. With
|
|
|
+ microdescriptors, we're adding a third. Having so many systems
|
|
|
+ without an abstraction layer over them was hurting the codebase.
|
|
|
+ Now, we have a new "node_t" abstraction that presents a consistent
|
|
|
+ interface to a client's view of a Tor node, and holds (nearly) all
|
|
|
+ of the mutable state formerly in routerinfo_t and routerstatus_t.
|
|
|
+ - The helper programs tor-gencert, tor-resolve, and tor-checkkey
|
|
|
+ no longer link against Libevent: they never used it, but
|
|
|
+ our library structure used to force them to link it.
|
|
|
+
|
|
|
+ o Removed features:
|
|
|
+ - Removed some old code to work around even older versions of Tor that
|
|
|
+ used forked processes to handle DNS requests. Such versions of Tor
|
|
|
+ are no longer in use as servers.
|
|
|
+
|
|
|
+ o Documentation fixes:
|
|
|
+ - Correct a broken faq link in the INSTALL file. Fixes bug 2307.
|
|
|
+
|
|
|
+
|
|
|
Changes in version 0.2.2.25-alpha - 2011-04-29
|
|
|
Tor 0.2.2.25-alpha fixes many bugs: hidden service clients are more
|
|
|
robust, routers no longer overreport their bandwidth, Win7 should crash
|