[tor-commits] [tor/master] various changelog edits

nickm at torproject.org nickm at torproject.org
Tue May 15 19:06:48 UTC 2018


commit 72e1f19249abae96530aa78a1a1441242c9b2239
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue May 15 15:06:43 2018 -0400

    various changelog edits
---
 ChangeLog | 220 ++++++++++++++++++++++++--------------------------------------
 1 file changed, 85 insertions(+), 135 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e971b28a9..758100ff0 100644
--- a/ChangeLog
+++ b/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;
-
-  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):
+      --disable-module-dirauth has been added. This module may be
+      disabled by default in some future release. Closes ticket 25610.
+
+  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.



More information about the tor-commits mailing list