Initial draft changelog for 0.2.3.1-alpha
This commit is contained in:
parent
993536e78e
commit
5ee5103f63
132
ChangeLog
132
ChangeLog
|
@ -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
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
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.
|
|
@ -1,5 +0,0 @@
|
|||
o Minor build changes:
|
||||
- Use autoreconf to launch autoconf, automake, etc from autogen.sh.
|
||||
This is more robust against some of the failure modes associated
|
||||
with running the autotools chain on its own.
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
o Major features
|
||||
- Tor can now optionally build with the "bufferevents" buffered IO
|
||||
backend provided by Libevent, when building with Libevent 2.0.7-rc
|
||||
or later. To use this feature, make sure you have the latest possible
|
||||
version of Libevent, and run autoconf with the --enable-bufferevents
|
||||
flag. Using this feature will make our networking code more flexible,
|
||||
lets us stack layers on each other, and let us use more efficient
|
||||
zero-copy transports where available.
|
||||
- As an experimental feature, when using the "bufferevents" buffered
|
||||
IO backend, Tor can try to use Windows's IOCP networking API. This
|
||||
is off by default. To turn it on, add "DisableIOCP 0" to your torrc.
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
o Major features:
|
||||
- Allow EntryNodes to 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. Resolves bug 1982.
|
|
@ -1,4 +0,0 @@
|
|||
o Minor features:
|
||||
- If we did find a configuration file, log a message saying where we found
|
||||
it during startup. Implements ticket 2444.
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
o Minor features:
|
||||
- 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.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
o Minor packaging issues
|
||||
- Create the /var/run/tor directory on startup on OpenSUSE if it is
|
||||
not already created. Patch from Andreas Stieger. Fixes bug 2573.
|
|
@ -1,5 +0,0 @@
|
|||
o Minor features:
|
||||
- Implements --enable-static-tor for configure time. Implements ticket
|
||||
2702. Idea, general hackery and thoughts from Alexei Czeskis, John
|
||||
Gilmore, Jacob Appelbaum.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
o Code simplifications
|
||||
- We no longer need link tor-gencert, tor-resolve, or tor-checkkey
|
||||
against libevent; they don't use them, and our code was already
|
||||
refactored not to force them to use them.
|
|
@ -1,3 +0,0 @@
|
|||
o Minor features
|
||||
- If you set the NumCPUs option to 0, Tor will try to detect how many
|
||||
CPUs you have. This is the new default behavior.
|
|
@ -1,4 +0,0 @@
|
|||
o Minor features:
|
||||
- Turn on directory request statistics by default and include them in
|
||||
extra-info descriptors. Don't break if we have no GeoIP database.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
o Minor features:
|
||||
- Make logging resolution configurable and change default from 1
|
||||
millisecond to 1 second. Implements enhancement 1668.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
o Minor features:
|
||||
- Relays that set "ConnDirectionStatistics 1" write statistics on the
|
||||
birectional use of connections to disk every 24 hours.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
o Minor features:
|
||||
- Add GeoIP file digest to extra-info descriptor. Implements
|
||||
enhancement 1883.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
o Minor feature removals
|
||||
- Removed old code to work around versions of Tor so old that they
|
||||
used multiple forked processes to handle DNS requests. Such
|
||||
versions of Tor are no longer in use as servers.
|
|
@ -1,4 +0,0 @@
|
|||
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.
|
|
@ -1,4 +0,0 @@
|
|||
o Minor features (controller)
|
||||
- Add GETINFO options to get total bytes read and written. Patch
|
||||
from pipe, revised by atagar. Resolves ticket 2345.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
o Minor features
|
||||
- Implement some GETINFO controller fields to provide information about
|
||||
the Tor process's pid, euid, username, and resource limits.
|
|
@ -1,7 +0,0 @@
|
|||
o Minor features
|
||||
- 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.
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
o Minor bugfixes:
|
||||
- Correct a broken faq link in the INSTALL file. Fixes bug 2307.
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
o Major features:
|
||||
- Caches now download and cache all the consensus flavors that
|
||||
they know about. This allows them to assess which microdescriptors
|
||||
they need to fetch.
|
|
@ -1,10 +0,0 @@
|
|||
o Code refactorings
|
||||
- Unified our node-listing and selecting logic. We had at least
|
||||
two major ways to look at the question of "which Tor servers do
|
||||
we know about": our list of router descriptors, and the current
|
||||
consensus. We're adding a third in microdescriptors. 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.
|
|
@ -1,6 +0,0 @@
|
|||
o Features:
|
||||
- Servers now accept and queue data on not-yet-connected
|
||||
streams. Previously, such data wasn't allowed. This forced
|
||||
clients to wait for a CONNECTED cell before sending their
|
||||
data, thus adding a round trip to stream setup. (Patch from
|
||||
Ian Goldberg; implements the server side of Proposal 174.)
|
|
@ -1,5 +0,0 @@
|
|||
o Code simplifications and refactoring:
|
||||
- Use SSL_get_ex_data to map SSL objects to tor_tls_t objects: there's
|
||||
no need for a hash table.
|
||||
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
o Major features:
|
||||
- Tor now has the ability to wrangle NAT devices like a good network cowbot
|
||||
with the tor-fw-helper tool. The tor-fw-helper tool supports Apple's
|
||||
NAT-PMP protocol and the UPnP standard for TCP port mapping. This
|
||||
optional tool may be enabled at compile time by configuring with
|
||||
'--enable-upnp' or '--enable-natpmp' or with both. This tool may be
|
||||
called by hand or by Tor. By configuring the PortForwarding option, Tor
|
||||
will launch the helper on a regular basis to ensure that the NAT mapping
|
||||
is regularly updated. Additionally, a user may also specify an
|
||||
alternative helper by using the PortForwardingHelper option. The helper
|
||||
may be specified by name or with the full path to the helper. The default
|
||||
helper is named 'tor-fw-helper' and any alternative helper must take the
|
||||
tor-fw-helper-spec.txt into account.
|
||||
|
Loading…
Reference in New Issue