mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-23 20:03:31 +01:00
various changelog edits
This commit is contained in:
parent
c0eaaf403b
commit
72e1f19249
218
ChangeLog
218
ChangeLog
@ -2,36 +2,30 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
XXX BLURB
|
||||
|
||||
o New system requirements:
|
||||
- Tor no longer tries to support systems without mmap() or some
|
||||
local equivalent. Apparently, compilation on such systems has been
|
||||
broken for some time, without anybody noticing or complaining.
|
||||
Closes ticket 25398.
|
||||
- Tor no longer tries to support old operating systems without
|
||||
mmap() or some local equivalent. Apparently, compilation on such
|
||||
systems has been broken for some time, without anybody noticing or
|
||||
complaining. Closes ticket 25398.
|
||||
|
||||
o Major feature (directory authority, modularization):
|
||||
- The directory authority subsystem has been modularized. The code
|
||||
is now located in src/or/dirauth/ which is compiled in by default.
|
||||
is now located in src/or/dirauth/, and is compiled in by default.
|
||||
To disable the module, the configure option
|
||||
--disable-module-dirauth has been added. Closes ticket 25610;
|
||||
--disable-module-dirauth has been added. This module may be
|
||||
disabled by default in some future release. Closes ticket 25610.
|
||||
|
||||
o Major feature (main loop, CPU usage):
|
||||
- Previously, tor would enable at startup all possible main loop
|
||||
event regardless if it needed them. For instance, directory
|
||||
authorities callbacks were fired up even for client only. We have
|
||||
now refactored this whole interface to only enable the appropriate
|
||||
callbacks depending on what are tor roles (client only, relay,
|
||||
hidden service, etc.). Furthermore, these events now depend on
|
||||
DisableNetwork or the hibernation state in order to enable them.
|
||||
This is a big step towards reducing client CPU usage by reducing
|
||||
the amount of wake ups the daemon does. Closes ticket 25376
|
||||
and 25762.
|
||||
|
||||
o Major features (CPU usage, mobile):
|
||||
o Major features (main loop, CPU usage):
|
||||
- When Tor is disabled (via DisableNetwork or via hibernation), it
|
||||
no longer needs to run any per-second events. This change should
|
||||
make it easier for mobile applications to disable Tor while the
|
||||
device is sleeping, or Tor is not running. Closes ticket 26063.
|
||||
|
||||
o Major features (main loop, CPU wakeup):
|
||||
- Tor no longer enables all of its periodic events by default.
|
||||
Previously, Tor would enable all possible main loop events,
|
||||
regardless of whether it needed them. Furthermore, many of these
|
||||
events are now disabled with Tor is hibernating or DisableNetwork
|
||||
is set. This is a big step towards reducing client CPU usage by
|
||||
reducing the amount of wake-ups the daemon does. Closes ticket
|
||||
25376 and 25762.
|
||||
- The bandwidth-limitation logic has been refactored so that
|
||||
bandwidth calculations are performed on-demand, rather than every
|
||||
TokenBucketRefillInterval milliseconds. This change should improve
|
||||
@ -41,9 +35,14 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
|
||||
o Major bugfixes (directory authorities, security):
|
||||
- When directory authorities read a zero-byte bandwidth file, they
|
||||
log a warning with the contents of an uninitialised buffer. Log a
|
||||
warning about the empty file instead. Fixes bug 26007; bugfix
|
||||
on 0.2.2.1-alpha.
|
||||
would previously log a warning with the contents of an
|
||||
uninitialised buffer. They now log a warning about the empty file
|
||||
instead. Fixes bug 26007; bugfix on 0.2.2.1-alpha.
|
||||
|
||||
o Major bugfixes (crash):
|
||||
- Avoid an rare assertion failure in the circuit build timeout code
|
||||
if we fail to allow any circuits to actually complete. Fixes bug
|
||||
25733; bugfix on 0.2.2.2-alpha.
|
||||
|
||||
o Major bugfixes (directory authority):
|
||||
- Avoid a crash when testing router reachability on a router that
|
||||
@ -74,15 +73,11 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
controlled by a consensus parameter. Fixes bug 25226; bugfix
|
||||
on 0.2.4.14-alpha.
|
||||
|
||||
o Minor feature (entry guards):
|
||||
- Introduce torrc option NumPrimaryGuards for controlling the number
|
||||
of primary guards. Closes ticket 25843.
|
||||
|
||||
o Minor features (accounting):
|
||||
- When we become dormant, use a scheduled event to wake up at the
|
||||
right time. Previously, we would use the per-second timer to check
|
||||
whether to wake up, but we no longer have any per-second timers
|
||||
enabled when the network is disabled. Closes ticket 26064.
|
||||
- When Tor becomes dormant, it now uses a scheduled event to wake up
|
||||
at the right time. Previously, we would use the per-second timer
|
||||
to check whether to wake up, but we no longer have any per-second
|
||||
timers enabled when the network is disabled. Closes ticket 26064.
|
||||
|
||||
o Minor features (code quality):
|
||||
- Add optional spell-checking for the Tor codebase, using the
|
||||
@ -93,8 +88,6 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
- Tor now detects versions of OpenSSL 1.1.0 and later compiled with
|
||||
the no-deprecated option, and builds correctly with them. Closes
|
||||
tickets 19429, 19981, and 25353.
|
||||
|
||||
o Minor features (compilation, portability):
|
||||
- Avoid some compilation warnings with recent versions of LibreSSL.
|
||||
Closes ticket 26006.
|
||||
|
||||
@ -103,7 +96,7 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
that the zstd maintainers have labeled as potentially unstable. To
|
||||
prevent breakage, Tor will only use this functionality when the
|
||||
runtime version of the zstd library matches the version with which
|
||||
it were compiled. Closes ticket 25162.
|
||||
Tor was compiled. Closes ticket 25162.
|
||||
|
||||
o Minor features (configuration):
|
||||
- The "DownloadSchedule" options have been renamed to end with
|
||||
@ -133,7 +126,7 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
|
||||
o Minor features (directory authority):
|
||||
- Directory authorities now open their key-pinning files as O_SYNC,
|
||||
to prevent themselves from accidentally writing partial lines.
|
||||
to limit their chances of accidentally writing partial lines.
|
||||
Closes ticket 23909.
|
||||
|
||||
o Minor features (directory authority, forward compatibility):
|
||||
@ -141,65 +134,38 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
their entries in any order. Previously, the node_id entry needed
|
||||
to come first. Closes ticket 26004.
|
||||
|
||||
o Minor features (entry guards):
|
||||
- Introduce a new torrc option NumPrimaryGuards for controlling the
|
||||
number of primary guards. Closes ticket 25843.
|
||||
|
||||
o Minor features (geoip):
|
||||
- Update geoip and geoip6 to the May 1 2018 Maxmind GeoLite2 Country
|
||||
database. Closes ticket 26104.
|
||||
|
||||
o Minor features (mainloop):
|
||||
- Move responsibility for closing connections, circuits, and
|
||||
channels from a once-per-second callback to a callback that is
|
||||
only scheduled as needed. Once enough items are removed from our
|
||||
- Move responsibility for many operations from a once-per-second
|
||||
callback to a callback that is only scheduled as needed. Moving
|
||||
this functionality has allowed us to disable the callback when
|
||||
Tor's network is disabled. Once enough items are removed from our
|
||||
once-per-second callback, we can eliminate it entirely to conserve
|
||||
CPU when idle. Closes ticket 25932.
|
||||
- Move responsibility for consensus voting from a once-per-second
|
||||
callback to a callback that is only scheduled as needed. Once
|
||||
enough items are removed from our once-per-second callback, we can
|
||||
eliminate it entirely to conserve CPU when idle. Closes
|
||||
ticket 25937.
|
||||
- Move responsibility for flushing log callbacks from a once-per-
|
||||
second callback to a callback that is only scheduled as needed.
|
||||
Once enough items are removed from our once-per-second callback,
|
||||
we can eliminate it entirely to conserve CPU when idle. Closes
|
||||
ticket 25951.
|
||||
- Move responsibility for honoring delayed SIGNEWNYM requests from a
|
||||
once-per-second callback to a callback that is only scheduled as
|
||||
needed. Once enough items are removed from our once-per-second
|
||||
callback, we can eliminate it entirely to conserve CPU when idle.
|
||||
Closes ticket 25949.
|
||||
- Move responsibility for rescanning the consensus cache from a
|
||||
once-per-second callback to a callback that is only scheduled as
|
||||
needed. Once enough items are removed from our once-per-second
|
||||
callback, we can eliminate it entirely to conserve CPU when idle.
|
||||
Closes ticket: 25931.
|
||||
- Move responsibility for saving the state file to disk from a once-
|
||||
per-second callback to a callback that is only scheduled as
|
||||
needed. Once enough items are removed from our once-per-second
|
||||
callback, we can eliminate it entirely to conserve CPU when idle.
|
||||
Closes ticket 25948.
|
||||
- Move responsibility for warning relay operators about unreachable
|
||||
ports from a once-per-second callback to a callback that is only
|
||||
scheduled as needed. Once enough items are removed from our once-
|
||||
per-second callback, we can eliminate it entirely to conserve CPU
|
||||
when idle. Closes ticket 25952. - Move responsibility for keeping
|
||||
track of Tor's uptime from a nce-per-second callback to a callback
|
||||
that is only scheduled as needed. Once enough items are removed
|
||||
from our once-per-second callback, we can eliminate it entirely to
|
||||
conserve CPU when idle. Closes ticket 26009.
|
||||
CPU when idle. The functionality removed includes: closing
|
||||
connections, circuits, and channels (ticket 25932); consensus
|
||||
voting (25937); flushing log callbacks (25951); honoring delayed
|
||||
SIGNEWNYM requests (25949); rescanning the consensus cache
|
||||
(25931); saving the state file to disk (25948); warning relay
|
||||
operators about unreachable ports (25952); and keeping track of
|
||||
Tor's uptime (26009).
|
||||
|
||||
o Minor features (performance):
|
||||
- Avoid a needless call to malloc() when processing an incoming
|
||||
relay cell. Closes ticket 24914.
|
||||
|
||||
o Minor features (performance, 32-bit):
|
||||
- Make our timing-wheel code run a tiny bit faster on 32-bit
|
||||
platforms, by preferring 32-bit math to 64-bit. Closes
|
||||
ticket 24688.
|
||||
|
||||
o Minor features (performance, allocation):
|
||||
- Avoid a needless malloc()/free() pair every time we handle an ntor
|
||||
handshake. Closes ticket 25150.
|
||||
|
||||
o Minor features (Testing):
|
||||
o Minor features (testing):
|
||||
- Add a unit test for voting_schedule_get_start_of_next_interval().
|
||||
Closes ticket 26014, and helps make unit test coverage
|
||||
more deterministic.
|
||||
@ -216,21 +182,6 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
than gettimeofday(). This change should marginally increase
|
||||
accuracy and performance. Implements part of ticket 25927.
|
||||
|
||||
o Minor bugfix (controler):
|
||||
- Make CIRC_BW event reflect the total of all data sent on a
|
||||
circuit, including padding and dropped cells. Also fix a mis-
|
||||
counting bug when STREAM_BW events were enabled. Fixes bug 25400;
|
||||
bugfix on 0.2.5.2-alpha.
|
||||
|
||||
o Minor bugfix (Multiple includes):
|
||||
- Fixed multiple includes of trasports.h in src/or/connection.c
|
||||
Fixes bug 25261; bugfix on 0.2.5.1-alpha.
|
||||
|
||||
o Minor bugfixes (Assert crash):
|
||||
- Avoid an assert in the circuit build timeout code if we fail to
|
||||
allow any circuits to actually complete. Fixes bug 25733; bugfix
|
||||
on 0.2.2.2-alpha.
|
||||
|
||||
o Minor bugfixes (bandwidth management):
|
||||
- Consider ourselves "low on write bandwidth" if we have exhausted
|
||||
our write bandwidth some time in the last second. This was the
|
||||
@ -243,32 +194,39 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
subsystem. Fixes bug 25675; bugfix on 0.2.7.3-rc. Found by
|
||||
Coverity; this is CID 1433643.
|
||||
|
||||
o Minor bugfixes (channel_get_for_extend()):
|
||||
- Remove the unused variable n_possible from the function Fixes bug
|
||||
25645; bugfix on 0.2.4.4-alpha
|
||||
|
||||
o Minor bugfixes (circuit path selection):
|
||||
- Don't count path selection failures as circuit build failures.
|
||||
This should eliminate cases where Tor blames its guard or the
|
||||
network for situations like insufficient microdescriptors and/or
|
||||
overly restrictive torrc settings. Fixes bug 25705; bugfix
|
||||
This change should eliminate cases where Tor blames its guard or
|
||||
the network for situations like insufficient microdescriptors
|
||||
and/or overly restrictive torrc settings. Fixes bug 25705; bugfix
|
||||
on 0.3.3.1-alpha.
|
||||
|
||||
o Minor bugfixes (client):
|
||||
- Don't consider Tor running as a client if the ControlPort is open.
|
||||
Fixes bug 26062; bugfix on 0.2.9.4-alpha.
|
||||
- Don't consider Tor running as a client if the ControlPort is open,
|
||||
but no actual client ports are open. Fixes bug 26062; bugfix
|
||||
on 0.2.9.4-alpha.
|
||||
|
||||
o Minor bugfixes (code style):
|
||||
- Fixed multiple includes of trasports.h in src/or/connection.c
|
||||
Fixes bug 25261; bugfix on 0.2.5.1-alpha.
|
||||
- Remove the unused variable n_possible from the function
|
||||
channel_get_for_extend(). Fixes bug 25645; bugfix on 0.2.4.4-alpha
|
||||
|
||||
o Minor bugfixes (control interface):
|
||||
- Respond with more human readable error messages to GETINFO exit-
|
||||
policy/* requests. Also, let controller know if error is transient
|
||||
(response code 551) or not (response code 552). Fixes bug 25852;
|
||||
bugfix on 0.2.8.1-alpha.
|
||||
- Respond with more human-readable error messages to GETINFO exit-
|
||||
policy/* requests. Also, let controller know if an error is
|
||||
transient (response code 551) or not (response code 552). Fixes
|
||||
bug 25852; bugfix on 0.2.8.1-alpha.
|
||||
|
||||
o Minor bugfixes (controller):
|
||||
- Make CIRC_BW event reflect the total of all data sent on a
|
||||
circuit, including padding and dropped cells. Also fix a mis-
|
||||
counting bug when STREAM_BW events were enabled. Fixes bug 25400;
|
||||
bugfix on 0.2.5.2-alpha.
|
||||
|
||||
o Minor bugfixes (directory client):
|
||||
- When unverified-consensus is verified, rename it to cached-
|
||||
consenus. Fixes bug 4187; bugfix on 0.2.0.3-alpha.
|
||||
|
||||
o Minor bugfixes (directory server cert fetch):
|
||||
- Fixed launching a certificate fetch always during the scheduled
|
||||
periodic consensus fetch by fetching only in those cases when
|
||||
consensus are waiting for certs. Fixes bug 24740; bugfix
|
||||
@ -281,11 +239,6 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
we forgot to say so in the man page. Fixes bug 26052; bugfix
|
||||
on 0.3.2.6-alpha.
|
||||
|
||||
o Minor bugfixes (Duplicate code):
|
||||
- Remove duplicate code in parse_{c,s}method_line and bootstrap
|
||||
their functionalities into a single function. Fixes bug 6236;
|
||||
bugfix on 0.2.3.6-alpha.
|
||||
|
||||
o Minor bugfixes (error reporting):
|
||||
- Improve tolerance for directory authorities with skewed clocks.
|
||||
Previously, an authority with a clock more than 60 seconds ahead
|
||||
@ -294,23 +247,18 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
directory authorities have to be ahead of the client before this
|
||||
warning will occur. Fixes bug 25756; bugfix on 0.2.2.25-alpha.
|
||||
|
||||
o Minor bugfixes (freebsd):
|
||||
- In have_enough_mem_for_dircache(), the variable DIRCACHE_MIN_MEM_MB
|
||||
does not stringify on FreeBSD, so we switch to tor_asprintf().
|
||||
Fixes bug 20887; bugfix on 0.2.8.1-alpha. Patch by Neel Chauhan.
|
||||
o Minor bugfixes (Linux seccomp2 sandbox):
|
||||
- Allow the nanosleep() system call, which glibc uses to implement
|
||||
sleep() and usleep(). Fixes bug 24969; bugfix on 0.2.5.1-alpha.
|
||||
|
||||
o Minor bugfixes (hidden service v3):
|
||||
- Fix a memory leak when an hidden service v3 is configured and gets
|
||||
a SIGHUP signal. Fixes bug 25901; bugfix on 0.3.2.1-alpha.
|
||||
o Minor bugfixes (onion service):
|
||||
- Fix a memory leak when a v3 onion service is configured and gets a
|
||||
SIGHUP signal. Fixes bug 25901; bugfix on 0.3.2.1-alpha.
|
||||
- When parsing the descriptor signature, look for the token plus an
|
||||
extra white-space at the end. This is more correct but also will
|
||||
allow us to support new fields that might start with "signature".
|
||||
Fixes bug 26069; bugfix on 0.3.0.1-alpha.
|
||||
|
||||
o Minor bugfixes (Linux seccomp2 sandbox):
|
||||
- Allow the nanosleep() system call, which glibc uses to implement
|
||||
sleep() and usleep(). Fixes bug 24969; bugfix on 0.2.5.1-alpha.
|
||||
|
||||
o Minor bugfixes (path selection):
|
||||
- Only select relays when they have the descriptors we prefer to use
|
||||
for them. This change fixes a bug where we could select a relay
|
||||
@ -323,6 +271,11 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
getpagesize function is deprecated. Fixes bug 25399; bugfix
|
||||
on 0.1.1.23.
|
||||
|
||||
o Minor bugfixes (portability, FreeBSD):
|
||||
- In have_enough_mem_for_dircache(), the variable DIRCACHE_MIN_MEM_MB
|
||||
does not stringify on FreeBSD, so we switch to tor_asprintf().
|
||||
Fixes bug 20887; bugfix on 0.2.8.1-alpha. Patch by Neel Chauhan.
|
||||
|
||||
o Minor bugfixes (relay statistics):
|
||||
- When a relay is collecting internal statistics about how many
|
||||
create cell requests it has seen of each type, accurately count
|
||||
@ -340,24 +293,18 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
module. This should prevent a bug where authentication cookies are
|
||||
not generated on restart. Fixes bug 25512; bugfix on 0.3.3.1-alpha.
|
||||
|
||||
o Minor bugfixes (test):
|
||||
o Minor bugfixes (testing):
|
||||
- When testing workqueue event-cancellation, make sure that we
|
||||
actually cancel an event, and that cancel each event with equal
|
||||
probability. (It was previously possible, though extremely
|
||||
unlikely, for our event-canceling test not to cancel any events.)
|
||||
Fixes bug 26008; bugfix on 0.2.6.3-alpha.
|
||||
|
||||
o Minor bugfixes (testing):
|
||||
- Repeat part of the test in test_client_pick_intro() a number of
|
||||
times, to give it consistent coverage. Fixes bug 25996; bugfix
|
||||
on 0.3.2.1-alpha.
|
||||
|
||||
o Minor bugfixes (testing, coverage):
|
||||
- Remove randomness from the hs_common/responsible_hsdirs test, so
|
||||
that it always takes the same path through the function it tests.
|
||||
Fixes bug 25997; bugfix on 0.3.2.1-alpha.
|
||||
|
||||
o Minor bugfixes (tests):
|
||||
- Change the behavior of the "channel/outbound" test so that it
|
||||
never causes a 10-second rollover for the EWMA circuitmux code.
|
||||
Previously, this behavior would happen randomly, and result in
|
||||
@ -382,6 +329,9 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
25870; bugfix on 0.3.3.1-alpha.
|
||||
|
||||
o Code simplification and refactoring:
|
||||
- Remove duplicate code in parse_{c,s}method_line and bootstrap
|
||||
their functionalities into a single function. Fixes bug 6236;
|
||||
bugfix on 0.2.3.6-alpha.
|
||||
- We remove the PortForwsrding and PortForwardingHelper options,
|
||||
related functions, and the port_forwarding tests. These options
|
||||
were used by the now-deprecated Vidalia to help ordinary users
|
||||
@ -449,9 +399,9 @@ Changes in version 0.3.4.1-alpha - 2018-05-1?
|
||||
bugfix on 0.2.1.6-alpha. Patch by Neel Chauhan.
|
||||
|
||||
o Deprecated features:
|
||||
- As we are not recommending 0.2.5 anymore we require relays that
|
||||
- As we are not recommending 0.2.5 anymore, we require relays that
|
||||
once had an ed25519 key associated with their RSA key to always
|
||||
have that key instead of allowing them to drop back to a version
|
||||
have that key, instead of allowing them to drop back to a version
|
||||
that didn't support ed25519. This means they need to use a new RSA
|
||||
key if the want to downgrade to an older version of tor without
|
||||
ed25519. Closes ticket 20522.
|
||||
|
Loading…
Reference in New Issue
Block a user