whoops, we've been failing to update the ReleaseNotes file

svn:r11702
This commit is contained in:
Roger Dingledine 2007-09-28 22:53:42 +00:00
parent 38ac9f6005
commit 8c4dc0660b

View File

@ -3,6 +3,182 @@ This document summarizes new features and bugfixes in each stable release
of Tor. If you want to see more detailed descriptions of the changes in
each development snapshot, see the ChangeLog file.
Changes in version 0.1.2.17 - 2007-08-30
o Major bugfixes (security):
- We removed support for the old (v0) control protocol. It has been
deprecated since Tor 0.1.1.1-alpha, and keeping it secure has
become more of a headache than it's worth.
o Major bugfixes (load balancing):
- When choosing nodes for non-guard positions, weight guards
proportionally less, since they already have enough load. Patch
from Mike Perry.
- Raise the "max believable bandwidth" from 1.5MB/s to 10MB/s. This
will allow fast Tor servers to get more attention.
- When we're upgrading from an old Tor version, forget our current
guards and pick new ones according to the new weightings. These
three load balancing patches could raise effective network capacity
by a factor of four. Thanks to Mike Perry for measurements.
o Major bugfixes (stream expiration):
- Expire not-yet-successful application streams in all cases if
they've been around longer than SocksTimeout. Right now there are
some cases where the stream will live forever, demanding a new
circuit every 15 seconds. Fixes bug 454; reported by lodger.
o Minor features (controller):
- Add a PROTOCOLINFO controller command. Like AUTHENTICATE, it
is valid before any authentication has been received. It tells
a controller what kind of authentication is expected, and what
protocol is spoken. Implements proposal 119.
o Minor bugfixes (performance):
- Save on most routerlist_assert_ok() calls in routerlist.c, thus
greatly speeding up loading cached-routers from disk on startup.
- Disable sentinel-based debugging for buffer code: we squashed all
the bugs that this was supposed to detect a long time ago, and now
its only effect is to change our buffer sizes from nice powers of
two (which platform mallocs tend to like) to values slightly over
powers of two (which make some platform mallocs sad).
o Minor bugfixes (misc):
- If exit bandwidth ever exceeds one third of total bandwidth, then
use the correct formula to weight exit nodes when choosing paths.
Based on patch from Mike Perry.
- Choose perfectly fairly among routers when choosing by bandwidth and
weighting by fraction of bandwidth provided by exits. Previously, we
would choose with only approximate fairness, and correct ourselves
if we ran off the end of the list.
- If we require CookieAuthentication but we fail to write the
cookie file, we would warn but not exit, and end up in a state
where no controller could authenticate. Now we exit.
- If we require CookieAuthentication, stop generating a new cookie
every time we change any piece of our config.
- Refuse to start with certain directory authority keys, and
encourage people using them to stop.
- Terminate multi-line control events properly. Original patch
from tup.
- Fix a minor memory leak when we fail to find enough suitable
servers to choose a circuit.
- Stop leaking part of the descriptor when we run into a particularly
unparseable piece of it.
Changes in version 0.1.2.16 - 2007-08-01
o Major security fixes:
- Close immediately after missing authentication on control port;
do not allow multiple authentication attempts.
Changes in version 0.1.2.15 - 2007-07-17
o Major bugfixes (compilation):
- Fix compile on FreeBSD/NetBSD/OpenBSD. Oops.
o Major bugfixes (crashes):
- Try even harder not to dereference the first character after
an mmap(). Reported by lodger.
- Fix a crash bug in directory authorities when we re-number the
routerlist while inserting a new router.
- When the cached-routers file is an even multiple of the page size,
don't run off the end and crash. (Fixes bug 455; based on idea
from croup.)
- Fix eventdns.c behavior on Solaris: It is critical to include
orconfig.h _before_ sys/types.h, so that we can get the expected
definition of _FILE_OFFSET_BITS.
o Major bugfixes (security):
- Fix a possible buffer overrun when using BSD natd support. Bug
found by croup.
- When sending destroy cells from a circuit's origin, don't include
the reason for tearing down the circuit. The spec says we didn't,
and now we actually don't. Reported by lodger.
- Keep streamids from different exits on a circuit separate. This
bug may have allowed other routers on a given circuit to inject
cells into streams. Reported by lodger; fixes bug 446.
- If there's a never-before-connected-to guard node in our list,
never choose any guards past it. This way we don't expand our
guard list unless we need to.
o Minor bugfixes (guard nodes):
- Weight guard selection by bandwidth, so that low-bandwidth nodes
don't get overused as guards.
o Minor bugfixes (directory):
- Correctly count the number of authorities that recommend each
version. Previously, we were under-counting by 1.
- Fix a potential crash bug when we load many server descriptors at
once and some of them make others of them obsolete. Fixes bug 458.
o Minor bugfixes (hidden services):
- Stop tearing down the whole circuit when the user asks for a
connection to a port that the hidden service didn't configure.
Resolves bug 444.
o Minor bugfixes (misc):
- On Windows, we were preventing other processes from reading
cached-routers while Tor was running. Reported by janbar.
- Fix a possible (but very unlikely) bug in picking routers by
bandwidth. Add a log message to confirm that it is in fact
unlikely. Patch from lodger.
- Backport a couple of memory leak fixes.
- Backport miscellaneous cosmetic bugfixes.
Changes in version 0.1.2.14 - 2007-05-25
o Directory authority changes:
- Two directory authorities (moria1 and moria2) just moved to new
IP addresses. This change will particularly affect those who serve
or use hidden services.
o Major bugfixes (crashes):
- If a directory server runs out of space in the connection table
as it's processing a begin_dir request, it will free the exit stream
but leave it attached to the circuit, leading to unpredictable
behavior. (Reported by seeess, fixes bug 425.)
- Fix a bug in dirserv_remove_invalid() that would cause authorities
to corrupt memory under some really unlikely scenarios.
- Tighten router parsing rules. (Bugs reported by Benedikt Boss.)
- Avoid segfaults when reading from mmaped descriptor file. (Reported
by lodger.)
o Major bugfixes (security):
- When choosing an entry guard for a circuit, avoid using guards
that are in the same family as the chosen exit -- not just guards
that are exactly the chosen exit. (Reported by lodger.)
o Major bugfixes (resource management):
- If a directory authority is down, skip it when deciding where to get
networkstatus objects or descriptors. Otherwise we keep asking
every 10 seconds forever. Fixes bug 384.
- Count it as a failure if we fetch a valid network-status but we
don't want to keep it. Otherwise we'll keep fetching it and keep
not wanting to keep it. Fixes part of bug 422.
- If all of our dirservers have given us bad or no networkstatuses
lately, then stop hammering them once per minute even when we
think they're failed. Fixes another part of bug 422.
o Minor bugfixes:
- Actually set the purpose correctly for descriptors inserted with
purpose=controller.
- When we have k non-v2 authorities in our DirServer config,
we ignored the last k authorities in the list when updating our
network-statuses.
- Correctly back-off from requesting router descriptors that we are
having a hard time downloading.
- Read resolv.conf files correctly on platforms where read() returns
partial results on small file reads.
- Don't rebuild the entire router store every time we get 32K of
routers: rebuild it when the journal gets very large, or when
the gaps in the store get very large.
o Minor features:
- When routers publish SVN revisions in their router descriptors,
authorities now include those versions correctly in networkstatus
documents.
- Warn when using a version of libevent before 1.3b to run a server on
OSX or BSD: these versions interact badly with userspace threads.
Changes in version 0.1.2.13 - 2007-04-24
Tor 0.1.2.13 is released in memory of Rob Levin (1955-2006), aka lilo