Sort changes files into changelog.

This commit is contained in:
Nick Mathewson 2016-03-21 11:18:15 -04:00
parent 52bc921402
commit 4bb432f633
43 changed files with 256 additions and 233 deletions

256
ChangeLog
View File

@ -1,3 +1,259 @@
Changes in version 0.2.8.2-rc - 2016-03-??
Tor 0.2.8.1-alpha is the first release candidate in its series.
XXXX write more here XXXX
o New system requirements:
- Tor no longer supports versions of OpenSSL with a broken
implementation of counter mode. (This bug was present in OpenSSL
1.0.0, and was fixed in OpenSSL 1.0.0a.) Tor still detects, but
no longer runs with, these versions.
- Tor no longer attempts to support platforms where the "time_t" type
is unsigned. (To the best of our knowledge, only OpenVMS does this,
and Tor has never actually built on OpenVMS.) Closes ticket 18184.
o Removed features:
- Streamline relay-side hsdir handling: when relays consider whether
to accept an uploaded hidden service descriptor, they no longer
check whether they are one of the relays in the network that is
"supposed" to handle that descriptor. Implements ticket 18332.
- We no longer maintain an internal freelist in memarea.c. Allocators
should be good enough to make this code unnecessary, and it's doubtful
that it ever had any performance benefit.
o Major bugfixes (dns proxy mode, crash):
- Avoid crashing when running as a DNS proxy. Fixes bug 16248; bugfix on
0.2.0.1-alpha. Patch from 'cypherpunks'.
o Major bugfixes (security, pointers):
- Avoid a difficult-to-trigger heap corruption attack when extending
a smartlist to contain over 16GB of pointers. Fixes bug 18162;
bugfix on Tor 0.1.1.11-alpha, which fixed a related bug
incompletely. Reported by Guido Vranken.
o Major bugfixes (compilation):
- Repair hardened builds under the clang compiler. Previously,
our use of _FORTIFY_SOURCE would conflict with clang's address
sanitizer. Fixes bug 14821; bugfix on 0.2.5.4-alpha.
o Major bugfixes (crash on shutdown):
- Correctly handle detaching circuits from cmuxes when doing
circuit_free_all() on shutdown. Fixes bug 18116; bugfix on
0.2.8.1-alpha.
o Major bugfixes (relays, bridge clients):
- Ensure relays always allow IPv4 OR and Dir connections.
Ensure bridge clients use the address configured in the bridge line.
Fixes bug 18348; bugfix on 0.2.8.1-alpha.
Reported by sysrqb, patch by teor.
o Minor feature (IPv6):
- Add ClientPreferIPv6DirPort, which is set to 0 by default. If set
to 1, tor prefers IPv6 directory addresses.
- Add ClientUseIPv4, which is set to 1 by default. If set to 0, tor
avoids using IPv4 for client OR and directory connections.
- Try harder to fulfil IP version restrictions ClientUseIPv4 0 and
ClientUseIPv6 0; and the preferences ClientPreferIPv6ORPort and
ClientPreferIPv6DirPort.
Closes ticket 17840; patch by "teor".
o Minor features (bug-resistance):
- Make Tor survive errors involving connections without a corresponding
event object. Previously we'd fail with an assertion; now we produce a
log message. Related to bug 16248.
o Minor features (build):
- Detect systems with FreeBSD-derived kernels (such as GNU/kFreeBSD) as
having possible IPfW support. Closes ticket 18448. Patch from
Steven Chamberlain.
o Minor features (code hardening):
- Use tor_snprintf() and tor_vsnprintf() even in external and
low-level code, to harden against accidental failures to NUL-
terminate. Part of ticket 17852. Patch from 'jsturgix'. Found
with Flawfinder.
o Minor features (compilation):
- Note our minimum required autoconf/automake versions in the
appropriate locations. Closes ticket 17732.
o Minor features (crypto):
- Fix a segfault during startup: If unix socket was configured as
listener (such as a ControlSocket or a SocksPort unix socket), and
tor was started as root but not configured to switch to another
user, tor would segfault while trying to string compare a NULL
value. Fixes bug 18261; bugfix on 0.2.8.1-alpha. Patch by weasel.
- Validate the Diffie-Hellman hard coded parameters and ensure that
p is a safe prime, and g is suitable. Closes ticket 18221.
o Minor features (geoip):
- Update geoip and geoip6 to the March 3 2016 Maxmind GeoLite2
Country database.
o Minor features (robustness):
- Exit immediately with an error message if the code attempts to
use libevent without having initialized it. This should resolve
some frequently-made mistakes in our unit tests. Closes ticket
18241.
o Minor features (unix domain sockets):
- Since some operating systems do not consider the actual modes on a
UNIX domain socket itself, tor does not allow creating such a
socket in a directory that is group or world accessible if it is
supposed to be private. Likewise, it will not allow only group
accessible sockets in a world accessible directory.
However, on some operating systems this is unnecessary, so
add a per-socket option called RelaxDirModeCheck.
Closes ticket 18458. Patch by weasel.
o Minor features:
- Update geoip and geoip6 to the February 2 2016 Maxmind GeoLite2
Country database.
o Minor bugfixes (build):
- Do not link the unit tests against both the testing and non-testing
versions of the static libraries. Fixes bug 18490; bugfix on
0.2.7.1-alpha.
o Minor bugfixes (client):
- Count receipt of new microdescriptors as progress towards
bootstrapping. Now, when a user who has set EntryNodes finishes
bootstrapping, Tor automatically repopulates the guard set based
on this new directory information. Fixes bug 16825; bugfix on
0.2.3.1-alpha.
o Minor bugfixes (code correctness):
- Update to the latest version of Trunnel, which tries harder
to avoid generating code that can invoke memcpy(p,NULL,0).
Bug found by clang address sanitizer. Fixes bug 18373; bugfix
on 0.2.7.2-alpha.
o Minor bugfixes (configuration):
- Fix a tiny memory leak when parsing a port configuration ending in
":auto". Fixes bug 18374; bugfix on 0.2.3.3-alpha.
o Minor bugfixes (containers):
- If we somehow attempt to construct a heap with more than
1073741822 elements, avoid an integer overflow when maintaining
the heap property. Fixes bug 18296; bugfix on 0.1.2.1-alpha.
o Minor bugfixes (correctness):
- Fix a bad memory handling bug that would occur if we had queued
a cell on a channel's incoming queue. Fortunately, we can't actually
queue a cell like that as our code is constructed today, but it's best
to avoid this kind of error, even if there isn't any code that triggers
it today. Fixes bug 18570; bugfix on 0.2.4.4-alpha.
o Minor bugfixes (crypto, static analysis):
- Silence spurious clang-scan warnings in the ed25519_donna code
by explicitly initialising some objects.
Fixes bug 18384; bugfix on 0f3eeca9 in 0.2.7.2-alpha.
Patch by "teor".
o Minor bugfixes (directory):
- When generating a URL for a directory server on an IPv6 address,
wrap the IPv6 address in square brackets. Fixes bug 18051;
bugfix on 0.2.3.9-alpha. Patch from Malek.
o Minor bugfixes (exit policies, security):
- Refresh an exit relay's exit policy when interface addresses change.
Previously, tor only refreshed the exit policy when the configured
external address changed.
Fixes bug 18208; bugfix on tor 0.2.7.3. Patch by "teor".
o Minor bugfixes (hidden service client):
- Seven very fast consecutive requests to the same .onion address
triggers 7 descriptor fetches. The first six each pick a directory
(there are 6 overall) and the seventh one wasn't able to pick one
which was triggering a close on all current directory connections. It
has been fixed by not closing them if we have pending directory fetch.
Fixes bug 15937; bugfix on tor-0.2.7.1-alpha.
o Minor bugfixes (hidden service, control port):
- Add the onion address to the HS_DESC event for the UPLOADED action
both on success or failure. It was previously hardcoded with UNKNOWN.
Fixes bug 16023; bugfix on 0.2.7.2-alpha.
o Minor bugfixes (logging):
- Scrub service in from "unrecognized service ID" log messages.
Fixes bug 18600; bugfix on 0.2.4.11-alpha.
o Minor bugfixes (memory safety):
- Avoid freeing an uninitialised pointer when opening a socket fails
in get_interface_addresses_ioctl.
Fixes bug 18454; bugfix on 9f06ec0c in tor-0.2.3.11-alpha.
Reported by "toralf" and "cypherpunks", patch by "teor".
- Correctly duplicate addresses in get_interface_address6_list.
Fixes bug 18454; bugfix on 110765f5 in tor-0.2.8.1-alpha.
Reported by "toralf", patch by "cypherpunks".
o Minor bugfixes (private directory):
- Prevent a race condition when creating private directories.
Fixes part of bug 17852; bugfix on 0.2pre13. Part of ticket
17852. Patch from 'jsturgix'. Found with Flawfinder.
o Minor bugfixes (sandbox):
- Allow the setrlimit syscall, and the prlimit and prlimit64 syscalls,
which some libc implementations
use under the hood. Fixes bug 15221; bugfix on 0.2.5.1-alpha.
o Minor bugfixes (security, hidden services):
- Prevent hidden services connecting to client-supplied rendezvous
addresses that are reserved as internal or multicast.
Fixes bug 8976; bugfix on b7c172c9e in tor-0.2.3.21.
Patch by "dgoulet" and "teor".
o Minor bugfixes (security, win32):
- Set SO_EXCLUSIVEADDRUSE on Win32 to avoid a local port-stealing
attack.
Fixes bug 18123; bugfix on all tor versions. Patch by "teor".
o Minor bugfixes (test networks, IPv6):
- Allow internal IPv6 addresses in descriptors in test networks.
Fixes bug 17153; bugfix on 6b4af1071 in 0.2.3.16-alpha.
Patch by "teor", reported by "karsten".
o Minor bugfixes (testing):
- We no longer disable assertions in the unit tests when coverage
is enabled. Instead, we require you to say --disable-asserts-in-tests
to the configure script if you need assertions disabled in the
unit tests (for example, if you want to perform branch coverage).
Fixes bug 18242; bugfix on 0.2.7.1-alpha.
o Minor bugfixes:
- Bridges now refuse "rendezvous2" (hidden service descriptor)
publish attempts. Suggested by ticket 18332.
o Code simplification and refactoring:
- Quote all the string interpolations in configure.ac -- even
those which we are pretty sure can't contain spaces. Closes
ticket 17744. Patch from "zerosion".
- Remove specialized code for non-inplace AES_CTR. 99% of our AES
is inplace, so there's no need to have a separate implementation
for the non-inplace code. Closes ticket 18258. Patch from
Malek.
- Simplify return types for some crypto functions that can't
actually fail. Patch from Hassan Alsibyani. Closes ticket
18259.
o Dependency updates:
- Tor now uses Autoconf version 2.63 or later, and Automake 1.11 or later
(released in 2008 and 2009 respectively). If you are building Tor from
the git repository instead of from the source distribution, and your
tools are older than this, you will need to upgrade.
Closes ticket 17732.
o Documentation:
- Change build messages to refer to "Fedora" instead of "Fedora Core",
and "dnf" instead of "yum". Closes tickets 18459 and 18426.
Patches from "icanhasaccount" and "cypherpunks".
o Testing:
- Fix several warnings from clang's address sanitizer produced in the
unit tests.
- Treat backtrace test failures as expected on FreeBSD until we
solve bug 17808. Closes ticket 18204.
Changes in version 0.2.8.1-alpha - 2016-02-04 Changes in version 0.2.8.1-alpha - 2016-02-04
Tor 0.2.8.1-alpha is the first alpha release in its series. It Tor 0.2.8.1-alpha is the first alpha release in its series. It
includes numerous small features and bugfixes against previous Tor includes numerous small features and bugfixes against previous Tor

View File

@ -1,5 +0,0 @@
o Minor features (robustness):
- Exit immediately with an error message if the code attempts to
use libevent without having initialized it. This should resolve
some frequently-made mistakes in our unit tests. Closes ticket
18241.

View File

@ -1,4 +0,0 @@
o Major bugfixes (compilation):
- Repair hardened builds under the clang compiler. Previously,
our use of _FORTIFY_SOURCE would conflict with clang's address
sanitizer. Fixes bug 14821; bugfix on 0.2.5.4-alpha.

View File

@ -1,4 +0,0 @@
o Minor bugfixes (sandbox):
- Allow the setrlimit syscall, and the prlimit and prlimit64 syscalls,
which some libc implementations
use under the hood. Fixes bug 15221; bugfix on 0.2.5.1-alpha.

View File

@ -1,7 +0,0 @@
o Minor bugfixes (hidden service client):
- Seven very fast consecutive requests to the same .onion address
triggers 7 descriptor fetches. The first six each pick a directory
(there are 6 overall) and the seventh one wasn't able to pick one
which was triggering a close on all current directory connections. It
has been fixed by not closing them if we have pending directory fetch.
Fixes bug 15937; bugfix on tor-0.2.7.1-alpha.

View File

@ -1,4 +0,0 @@
o Minor bugfixes (hidden service, control port):
- Add the onion address to the HS_DESC event for the UPLOADED action
both on success or failure. It was previously hardcoded with UNKNOWN.
Fixes bug 16023; bugfix on 0.2.7.2-alpha.

View File

@ -1,8 +0,0 @@
o Major bugfixes (dns proxy mode, crash):
- Avoid crashing when running as a DNS proxy. Fixes bug 16248; bugfix on
0.2.0.1-alpha. Patch from 'cypherpunks'.
o Minor features (bug-resistance):
- Make Tor survive errors involving connections without a corresponding
event object. Previously we'd fail with an assertion; now we produce a
log message. Related to bug 16248.

View File

@ -1,7 +0,0 @@
o Minor bugfixes (client):
- Count receipt of new microdescriptors as progress towards
bootstrapping. Now, when a user who has set EntryNodes finishes
bootstrapping, Tor automatically repopulates the guard set based
on this new directory information. Fixes bug 16825; bugfix on
0.2.3.1-alpha.

View File

@ -1,4 +0,0 @@
o Minor bugfixes (test networks, IPv6):
- Allow internal IPv6 addresses in descriptors in test networks.
Fixes bug 17153; bugfix on 6b4af1071 in 0.2.3.16-alpha.
Patch by "teor", reported by "karsten".

View File

@ -1,10 +0,0 @@
o Minor features (compilation):
- Note our minimum required autoconf/automake versions in the
appropriate locations. Closes ticket 17732.
o Dependency updates:
- Tor now uses Autoconf version 2.63 or later, and Automake 1.11 or later
(released in 2008 and 2009 respectively). If you are building Tor from
the git repository instead of from the source distribution, and your
tools are older than this, you will need to upgrade.
Closes ticket 17732.

View File

@ -1,10 +0,0 @@
o Minor features (code hardening):
- Use tor_snprintf() and tor_vsnprintf() even in external and
low-level code, to harden against accidental failures to NUL-
terminate. Part of ticket 17852. Patch from 'jsturgix'. Found
with Flawfinder.
o Minor bugfixes (private directory):
- Prevent a race condition when creating private directories.
Fixes part of bug 17852; bugfix on 0.2pre13. Part of ticket
17852. Patch from 'jsturgix'. Found with Flawfinder.

View File

@ -1,5 +0,0 @@
o Minor bugfixes (directory):
- When generating a URL for a directory server on an IPv6 address,
wrap the IPv6 address in square brackets. Fixes bug 18051;
bugfix on 0.2.3.9-alpha. Patch from Malek.

View File

@ -1,4 +0,0 @@
o Major bugfixes (crash on shutdown):
- Correctly handle detaching circuits from cmuxes when doing
circuit_free_all() on shutdown. Fixes bug 18116; bugfix on
0.2.8.1-alpha.

View File

@ -1,4 +0,0 @@
o Minor bugfixes (security, win32):
- Set SO_EXCLUSIVEADDRUSE on Win32 to avoid a local port-stealing
attack.
Fixes bug 18123; bugfix on all tor versions. Patch by "teor".

View File

@ -1,7 +0,0 @@
o Major bugfixes (security, pointers):
- Avoid a difficult-to-trigger heap corruption attack when extending
a smartlist to contain over 16GB of pointers. Fixes bug 18162;
bugfix on Tor 0.1.1.11-alpha, which fixed a related bug
incompletely. Reported by Guido Vranken.

View File

@ -1,5 +0,0 @@
o New system requirements:
- Tor no longer attempts to support platforms where the "time_t" type
is unsigned. (To the best of our knowledge, only OpenVMS does this,
and Tor has never actually built on OpenVMS.) Closes ticket 18184.

View File

@ -1,3 +0,0 @@
o Testing:
- Treat backtrace test failures as expected on FreeBSD until we
solve bug 17808. Closes ticket 18204.

View File

@ -1,5 +0,0 @@
o Minor bugfixes (exit policies, security):
- Refresh an exit relay's exit policy when interface addresses change.
Previously, tor only refreshed the exit policy when the configured
external address changed.
Fixes bug 18208; bugfix on tor 0.2.7.3. Patch by "teor".

View File

@ -1,3 +0,0 @@
o Minor features (crypto):
- Validate the Diffie-Hellman hard coded parameters and ensure that
p is a safe prime, and g is suitable. Closes ticket 18221.

View File

@ -1,6 +0,0 @@
o Minor bugfixes (testing):
- We no longer disable assertions in the unit tests when coverage
is enabled. Instead, we require you to say --disable-asserts-in-tests
to the configure script if you need assertions disabled in the
unit tests (for example, if you want to perform branch coverage).
Fixes bug 18242; bugfix on 0.2.7.1-alpha.

View File

@ -1,12 +0,0 @@
o Code simplification and refactoring:
- Remove specialized code for non-inplace AES_CTR. 99% of our AES
is inplace, so there's no need to have a separate implementation
for the non-inplace code. Closes ticket 18258. Patch from
Malek.
o New requirements:
- Tor no longer supports versions of OpenSSL with a broken
implementation of counter mode. (This bug was present in OpenSSL
1.0.0, and was fixed in OpenSSL 1.0.0a.) Tor still detects, but
no longer runs with, these versions.

View File

@ -1,4 +0,0 @@
o Code simplification and refactoring:
- Simplify return types for some crypto functions that can't
actually fail. Patch from Hassan Alsibyani. Closes ticket
18259.

View File

@ -1,6 +0,0 @@
o Minor features (crypto):
- Fix a segfault during startup: If unix socket was configured as
listener (such as a ControlSocket or a SocksPort unix socket), and
tor was started as root but not configured to switch to another
user, tor would segfault while trying to string compare a NULL
value. Fixes bug 18261; bugfix on 0.2.8.1-alpha. Patch by weasel.

View File

@ -1,4 +0,0 @@
o Minor bugfixes (containers):
- If we somehow attempt to construct a heap with more than
1073741822 elements, avoid an integer overflow when maintaining
the heap property. Fixes bug 18296; bugfix on 0.1.2.1-alpha.

View File

@ -1,5 +0,0 @@
o Major bugfixes (relays, bridge clients):
- Ensure relays always allow IPv4 OR and Dir connections.
Ensure bridge clients use the address configured in the bridge line.
Fixes bug 18348; bugfix on 0.2.8.1-alpha.
Reported by sysrqb, patch by teor.

View File

@ -1,3 +0,0 @@
o Minor bugfixes (configuration):
- Fix a tiny memory leak when parsing a port configuration ending in
":auto". Fixes bug 18374; bugfix on 0.2.3.3-alpha.

View File

@ -1,5 +0,0 @@
o Minor bugfixes (crypto, static analysis):
- Silence spurious clang-scan warnings in the ed25519_donna code
by explicitly initialising some objects.
Fixes bug 18384; bugfix on 0f3eeca9 in 0.2.7.2-alpha.
Patch by "teor".

View File

@ -1,4 +0,0 @@
o Documentation:
- Change build messages to refer to "Fedora" instead of "Fedora Core",
and "dnf" instead of "yum". Closes tickets 18459 and 18426.
Patches from "icanhasaccount" and "cypherpunks".

View File

@ -1,6 +0,0 @@
o Minor features (build):
- Detect systems with FreeBSD-derived kernels (such as GNU/kFreeBSD) as
having possible IPfW support. Closes ticket 18448. Patch from
Steven Chamberlain.

View File

@ -1,8 +0,0 @@
o Minor bugfixes (memory safety):
- Avoid freeing an uninitialised pointer when opening a socket fails
in get_interface_addresses_ioctl.
Fixes bug 18454; bugfix on 9f06ec0c in tor-0.2.3.11-alpha.
Reported by "toralf" and "cypherpunks", patch by "teor".
- Correctly duplicate addresses in get_interface_address6_list.
Fixes bug 18454; bugfix on 110765f5 in tor-0.2.8.1-alpha.
Reported by "toralf", patch by "cypherpunks".

View File

@ -1,9 +0,0 @@
o Minor features (unix domain sockets):
- Since some operating systems do not consider the actual modes on a
UNIX domain socket itself, tor does not allow creating such a
socket in a directory that is group or world accessible if it is
supposed to be private. Likewise, it will not allow only group
accessible sockets in a world accessible directory.
However, on some operating systems this is unnecessary, so
add a per-socket option called RelaxDirModeCheck.
Closes ticket 18458. Patch by weasel.

View File

@ -1,7 +0,0 @@
o Minor bugfixes (correctness):
- Fix a bad memory handling bug that would occur if we had queued
a cell on a channel's incoming queue. Fortunately, we can't actually
queue a cell like that as our code is constructed today, but it's best
to avoid this kind of error, even if there isn't any code that triggers
it today. Fixes bug 18570; bugfix on 0.2.4.4-alpha.

View File

@ -1,3 +0,0 @@
o Minor bugfixes (logging):
- Scrub service in from "unrecognized service ID" log messages.
Fixes bug 18600; bugfix on 0.2.4.11-alpha.

View File

@ -1,5 +0,0 @@
o Minor bugfixes (security, hidden services):
- Prevent hidden services connecting to client-supplied rendezvous
addresses that are reserved as internal or multicast.
Fixes bug 8976; bugfix on b7c172c9e in tor-0.2.3.21.
Patch by "dgoulet" and "teor".

View File

@ -1,4 +0,0 @@
o Minor bugfixes (build):
- Do not link the unit tests against both the testing and non-testing
versions of the static libraries. Fixes bug 18490; bugfix on
0.2.7.1-alpha.

View File

@ -1,9 +0,0 @@
o Minor feature (IPv6):
- Add ClientUseIPv4, which is set to 1 by default. If set to 0, tor
avoids using IPv4 for client OR and directory connections.
- Add ClientPreferIPv6DirPort, which is set to 0 by default. If set
to 1, tor prefers IPv6 directory addresses.
- Try harder to fulfil IP version restrictions ClientUseIPv4 0 and
ClientUseIPv6 0; and the preferences ClientPreferIPv6ORPort and
ClientPreferIPv6DirPort.
Closes ticket 17840; patch by "teor".

View File

@ -1,4 +0,0 @@
o Minor features:
- Update geoip and geoip6 to the February 2 2016 Maxmind GeoLite2
Country database.

View File

@ -1,4 +0,0 @@
o Minor features (geoip):
- Update geoip and geoip6 to the March 3 2016 Maxmind GeoLite2
Country database.

View File

@ -1,4 +0,0 @@
o Removed features:
- We no longer maintain an internal freelist in memarea.c. Allocators
should be good enough to make this code unnecessary, and it's doubtful
that it ever had any performance benefit.

View File

@ -1,3 +0,0 @@
o Testing:
- Fix several warnings from clang's address sanitizer produced in the
unit tests.

View File

@ -1,4 +0,0 @@
o Code simplification and refactoring:
- Quote all the string interpolations in configure.ac -- even
those which we are pretty sure can't contain spaces. Closes
ticket 17744. Patch from "zerosion".

View File

@ -1,10 +0,0 @@
o Removed features:
- Streamline relay-side hsdir handling: when relays consider whether
to accept an uploaded hidden service descriptor, they no longer
check whether they are one of the relays in the network that is
"supposed" to handle that descriptor. Implements ticket 18332.
o Minor bugfixes:
- Bridges now refuse "rendezvous2" (hidden service descriptor)
publish attempts. Suggested by ticket 18332.

View File

@ -1,5 +0,0 @@
o Minor bugfixes (code correctness):
- Update to the latest version of Trunnel, which tries harder
to avoid generating code that can invoke memcpy(p,NULL,0).
Bug found by clang address sanitizer. Fixes bug 18373; bugfix
on 0.2.7.2-alpha.