|
@@ -1,147 +1,3 @@
|
|
|
-Changes in version 0.2.3.1-alpha - 2011-05-05
|
|
|
- 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.
|
|
|
-
|
|
|
- This is the first alpha release in a new series, so expect there to be
|
|
|
- bugs. Users who would rather test out a more stable branch should
|
|
|
- stay with 0.2.2.x for now.
|
|
|
-
|
|
|
- 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. 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, but see bug 2798 for an unresolved issue here.
|
|
|
- - 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 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 serve 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 with a new LogGranularity
|
|
|
- option, and change the 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, and 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.
|
|
|
- - If as an authority we fail to compute the identity digest of a v3
|
|
|
- legacy keypair, warn, and don't use a buffer-full of junk instead.
|
|
|
- Bugfix on 0.2.1.1-alpha; fixes bug 3106.
|
|
|
- - 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:
|
|
|
- - Remove 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.
|
|
|
- - Add missing documentation for the authority-related torrc options
|
|
|
- RephistTrackTime, BridgePassword, and V3AuthUseLegacyKey. Resolves
|
|
|
- issue 2379.
|
|
|
-
|
|
|
-
|
|
|
Changes in version 0.2.2.27-beta - 2011-05-18
|
|
|
Tor 0.2.2.27-beta fixes a bridge-related stability bug in the previous
|
|
|
release, and also adds a few more general bugfixes.
|
|
@@ -300,6 +156,150 @@ Changes in version 0.2.2.26-beta - 2011-05-17
|
|
|
bug 3022.
|
|
|
|
|
|
|
|
|
+Changes in version 0.2.3.1-alpha - 2011-05-05
|
|
|
+ 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.
|
|
|
+
|
|
|
+ This is the first alpha release in a new series, so expect there to be
|
|
|
+ bugs. Users who would rather test out a more stable branch should
|
|
|
+ stay with 0.2.2.x for now.
|
|
|
+
|
|
|
+ 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. 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, but see bug 2798 for an unresolved issue here.
|
|
|
+ - 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 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 serve 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 with a new LogGranularity
|
|
|
+ option, and change the 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, and 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.
|
|
|
+ - If as an authority we fail to compute the identity digest of a v3
|
|
|
+ legacy keypair, warn, and don't use a buffer-full of junk instead.
|
|
|
+ Bugfix on 0.2.1.1-alpha; fixes bug 3106.
|
|
|
+ - 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:
|
|
|
+ - Remove 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.
|
|
|
+ - Add missing documentation for the authority-related torrc options
|
|
|
+ RephistTrackTime, BridgePassword, and V3AuthUseLegacyKey. Resolves
|
|
|
+ issue 2379.
|
|
|
+
|
|
|
+
|
|
|
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
|