summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog2399
1 files changed, 2392 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 88fd95f191..0ed1710d7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,2388 @@
+Changes in version 0.4.7.8 - 2022-06-17
+ This version fixes several bugfixes including a High severity security issue
+ categorized as a Denial of Service. Everyone running an earlier version
+ should upgrade to this version.
+
+ o Major bugfixes (congestion control, TROVE-2022-001):
+ - Fix a scenario where RTT estimation can become wedged, seriously
+ degrading congestion control performance on all circuits. This
+ impacts clients, onion services, and relays, and can be triggered
+ remotely by a malicious endpoint. Tracked as CVE-2022-33903. Fixes
+ bug 40626; bugfix on 0.4.7.5-alpha.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories generated on June 17, 2022.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2022/06/17.
+
+ o Minor bugfixes (linux seccomp2 sandbox):
+ - Allow the rseq system call in the sandbox. This solves a crash
+ issue with glibc 2.35 on Linux. Patch from pmu-ipf. Fixes bug
+ 40601; bugfix on 0.3.5.11.
+
+ o Minor bugfixes (logging):
+ - Demote a harmless warn log message about finding a second hop to
+ from warn level to info level, if we do not have enough
+ descriptors yet. Leave it at notice level for other cases. Fixes
+ bug 40603; bugfix on 0.4.7.1-alpha.
+ - Demote a notice log message about "Unexpected path length" to info
+ level. These cases seem to happen arbitrarily, and we likely will
+ never find all of them before the switch to arti. Fixes bug 40612;
+ bugfix on 0.4.7.5-alpha.
+
+ o Minor bugfixes (relay, logging):
+ - Demote a harmless XOFF log message to from notice level to info
+ level. Fixes bug 40620; bugfix on 0.4.7.5-alpha.
+
+
+Changes in version 0.4.7.7 - 2022-04-27
+ This is the first stable version of the 0.4.7.x series. This series includes
+ several major bugfixes from previous series and one massive new feature:
+ congestion control.
+
+ Congestion control should improve traffic speed and stability on the network
+ once a majority of Exit upgrade. You can find more details about it in
+ proposal 324 in the torspec.git repository.
+
+ For a complete list of changes since 0.4.6.10, see the ReleaseNotes file.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories generated on April 27, 2022.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2022/04/27.
+
+ o Minor bugfixes (congestion control, client side logs):
+ - Demote a warn about 1-hop circuits using congestion control down to
+ info; Demote the 4-hop case to notice. Fixes bug 40598; bugfix on
+ 0.4.5-alpha.
+
+
+Changes in version 0.4.7.6-rc - 2022-04-07
+ This is the first release candidate of the 0.4.7.x series. Only one minor
+ bugfix went in since the last alpha couple weeks ago. We strongly recommend
+ anyone running an alpha version to upgrade to this version. Unless major
+ problems are found, the next release will finally be the stable!
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories generated on April 07, 2022.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2022/04/07.
+
+ o Minor features (linux seccomp2 sandbox):
+ - Permit the clone3 syscall, which is apparently used in glibc-2.34
+ and later. Closes ticket 40590.
+
+
+Changes in version 0.4.7.5-alpha - 2022-03-25
+ This version contains, of what we hope, the final work for congestion
+ control paving the way to the stable version. We expect this to be the last
+ alpha version of the 0.4.7.x series. Mostly minor bugfixes except one major
+ bugfix that changes how Tor behaves with DNS timeouts for Exit relays. As
+ always with an alpha, we recommend all relay operators to upgrade from
+ previous alpha to this one.
+
+ o Major bugfixes (onion service, congestion control):
+ - Fix the onion service upload case where the congestion control
+ parameters were not added to the right object. Fixes bug 40586;
+ bugfix on 0.4.7.4-alpha.
+
+ o Major bugfixes (relay, DNS):
+ - Lower the DNS timeout from 3 attempts at 5 seconds each to 2
+ attempts at 1 seconds each. Two new consensus parameters were
+ added to control these values. This change should improve observed
+ performance under DNS load; see ticket for more details. Fixes bug
+ 40312; bugfix on 0.3.5.1-alpha.
+
+ o Minor features (control port):
+ - Provide congestion control fields on CIRC_BW and STREAM control
+ port events, for use by sbws. Closes ticket 40568.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories generated on March 25, 2022.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2022/03/25.
+
+ o Minor bugfixes (DNSPort, dormant mode):
+ - A request on the DNSPort now wakes up a dormant tor. Fixes bug
+ 40577; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (metrics port, onion service):
+ - Fix the metrics with a port label to be unique. Before this, all
+ ports of an onion service would be on the same line which violates
+ the Prometheus rules of unique labels. Fixes bug 40581; bugfix
+ on 0.4.5.1-alpha.
+
+ o Minor bugfixes (onion service congestion control):
+ - Avoid a non-fatal assertion failure in the case where we fail to
+ set up congestion control on a rendezvous circuit. This could
+ happen naturally if a cache entry expired at an unexpected time.
+ Fixes bug 40576; bugfix on 0.4.7.4-alpha.
+
+ o Minor bugfixes (onion service, client):
+ - Fix a rare but fatal assertion failure due to a guard subsystem
+ recursion triggered by the onion service client. Fixes bug 40579;
+ bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (relay, overload):
+ - Decide whether to signal overload based on a fraction and
+ assessment period of ntor handshake drops. Previously, a single
+ drop could trigger an overload state, which caused many false
+ positives. Fixes bug 40560; bugfix on 0.4.7.1-alpha.
+
+
+Changes in version 0.4.7.4-alpha - 2022-02-25
+ This version contains the negotiation congestion control work which is the
+ final part needed before going stable. There are also various bugfixes
+ including two major ones detailed below. Last, the Exit notice page layout
+ has been modernized but the text is unchanged. We recommend that all relay
+ operators running any previous alpha upgrade to this one.
+
+ o Major features (relay, client, onion services):
+ - Implement RTT-based congestion control for exits and onion
+ services, from Proposal 324. Disabled by default. Enabled by the
+ 'cc_alg' consensus parameter. Closes ticket 40444.
+
+ o Major bugfixes (client):
+ - Stop caching TCP connect failures to relays/bridges when we
+ initiated the connection as a client. Now we only cache connect
+ failures as a relay or bridge when we initiated them because of an
+ EXTEND request. Declining to re-attempt the client-based
+ connections could cause problems when we lose connectivity and try
+ to reconnect. Fixes bug 40499; bugfix on 0.3.3.4-alpha.
+
+ o Major bugfixes (relay, overload):
+ - Do not trigger a general overload on DNS timeout. Even after
+ fixing 40527, some code remained that triggered the overload.
+ Fixes bug 40564; bugfix on 0.4.7.1-alpha.
+
+ o Minor feature (authority, relay):
+ - Reject End-Of-Life relays running version 0.3.5.x. Closes
+ ticket 40559.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories generated on February 25, 2022.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2022/02/25.
+
+ o Minor bugfix (logging):
+ - Update a log notice dead URL to a working one. Fixes bug 40544;
+ bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfix (relay):
+ - Remove the HSDir and HSIntro onion service v2 protocol versions so
+ relay stop advertising that they support them. Fixes bug 40509;
+ bugfix on 0.3.5.17.
+
+ o Minor bugfixes (cell scheduling):
+ - Avoid writing empty payload with NSS write.
+ - Don't attempt to write 0 bytes after a cell scheduling loop. No
+ empty payload was put on the wire. Fixes bug 40548; bugfix
+ on 0.3.5.1-alpha.
+
+ o Minor bugfixes (compilation):
+ - Resume being able to build on old / esoteric gcc versions. Fixes
+ bug 40550; bugfix on 0.4.7.1-alpha.
+
+ o Minor bugfixes (compiler warnings):
+ - Fix couple compiler warnings on latest Ubuntu Jammy. Fixes bug
+ 40516; bugfix on 0.3.5.1-alpha.
+
+ o Documentation:
+ - Provide an improved version of the tor-exit-notice.html file for
+ exit relays to use as a landing page. The text is unchanged, but
+ the page design and layout are significantly modernized, and
+ several links are fixed. Patch from "n_user"; closes ticket 40529.
+
+
+Changes in version 0.4.6.10 - 2022-02-04
+ This version contains minor bugfixes but one in particular is that relays
+ don't advertise onion service v2 support at the protocol version level.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories generated on February 04, 2022.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2022/02/04.
+
+ o Minor bugfix (logging):
+ - Update a log notice dead URL to a working one. Fixes bug 40544;
+ bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfix (relay):
+ - Remove the HSDir and HSIntro onion service v2 protocol versions so
+ relay stop advertising that they support them. Fixes bug 40509;
+ bugfix on 0.3.5.17.
+
+ o Minor bugfixes (MetricsPort, Prometheus):
+ - Add double quotes to the label values of the onion service
+ metrics. Fixes bug 40552; bugfix on 0.4.5.1-alpha.
+
+
+Changes in version 0.4.5.12 - 2022-02-04
+ This version contains mostly minor bugfixes for which you can find the
+ details below. The previous release (0.4.5.11) was suppose to update the
+ GeoIP and fallbackdir lists but a problem in our release pipeline prevented
+ those files to be updated correctly. Thus, this release regenerates up to
+ date lists. Furthermore, another fix to highlight is that relays don't
+ advertise onion service v2 support at the protocol version level.
+
+ o Minor feature (reproducible build):
+ - The repository can now build reproducible tarballs which adds the
+ build command "make dist-reprod" for that purpose. Closes
+ ticket 26299.
+
+ o Minor features (compilation):
+ - Give an error message if trying to build with a version of
+ LibreSSL known not to work with Tor. (There's an incompatibility
+ with LibreSSL versions 3.2.1 through 3.4.0 inclusive because of
+ their incompatibility with OpenSSL 1.1.1's TLSv1.3 APIs.) Closes
+ ticket 40511.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories generated on February 04, 2022.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2022/02/04.
+
+ o Minor bugfix (logging):
+ - Update a log notice dead URL to a working one. Fixes bug 40544;
+ bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfix (relay):
+ - Remove the HSDir and HSIntro onion service v2 protocol versions so
+ relay stop advertising that they support them. Fixes bug 40509;
+ bugfix on 0.3.5.17.
+
+ o Minor bugfixes (compilation):
+ - Fix a compilation error when trying to build Tor with a compiler
+ that does not support expanding statically initialized const
+ values in macro's. Fixes bug 40410; bugfix on 0.4.5.1-alpha
+ - Fix our configuration logic to detect whether we had OpenSSL 3:
+ previously, our logic was reversed. This has no other effect than
+ to change whether we suppress deprecated API warnings. Fixes bug
+ 40429; bugfix on 0.3.5.13.
+
+ o Minor bugfixes (MetricsPort, Prometheus):
+ - Add double quotes to the label values of the onion service
+ metrics. Fixes bug 40552; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (relay):
+ - Reject IPv6-only DirPorts. Our reachability self-test forces
+ DirPorts to be IPv4, but our configuration parser allowed them to
+ be IPv6-only, which led to an assertion failure. Fixes bug 40494;
+ bugfix on 0.4.5.1-alpha.
+
+
+Changes in version 0.4.7.3-alpha - 2021-12-15
+ This third alpha release of the 0.4.7.x series fixes several bugs including
+ two major ones affecting Bridges and Relays (see below). If you are running
+ an earlier 0.4.7.x version, you should upgrade to this version.
+
+ o Major bugfixes (bridges):
+ - Make Tor work reliably again when you have multiple bridges
+ configured and one or more of them are unreachable. The problem
+ came because we require that we have bridge descriptors for both
+ of our first two bridges (else we refuse to try to connect), but
+ in some cases we would wait three hours before trying to fetch
+ these missing descriptors, and/or never recover when we do try to
+ fetch them. Fixes bugs 40396 and 40495; bugfix on 0.3.0.5-rc
+ and 0.3.2.1-alpha.
+
+ o Major bugfixes (relay, overload):
+ - Change the MetricsPort DNS "timeout" label to be "tor_timeout" in
+ order to indicate that this was a DNS timeout from tor perspective
+ and not the DNS server itself.
+ - Deprecate overload_dns_timeout_period_secs and
+ overload_dns_timeout_scale_percent consensus parameters as well.
+ They were used to assess the overload state which is no more now.
+ - Don't make Tor DNS timeout trigger an overload general state.
+ These timeouts are different from DNS server timeout. They have to
+ be seen as timeout related to UX and not because of a network
+ problem. Fixes bug 40527; bugfix on 0.4.6.1-alpha.
+
+ o Minor feature (reproducible build):
+ - The repository can now build reproducible tarballs which adds the
+ build command "make dist-reprod" for that purpose. Closes
+ ticket 26299.
+
+ o Minor features (compilation):
+ - Give an error message if trying to build with a version of
+ LibreSSL known not to work with Tor. (There's an incompatibility
+ with LibreSSL versions 3.2.1 through 3.4.0 inclusive because of
+ their incompatibility with OpenSSL 1.1.1's TLSv1.3 APIs.) Closes
+ ticket 40511.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories generated on December 15, 2021.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/12/15.
+
+ o Minor features (portability):
+ - Try to prevent a compiler warning about printf arguments that
+ could sometimes occur on MSYS2 depending on the configuration.
+ Closes ticket 40355.
+
+ o Minor bugfix (pluggable transport):
+ - Do not kill a managed proxy if one of its transport configurations
+ emits a method error. Instead log a warning and continue processing
+ method arguments. Fixes bug 7362; bugfix on 0.2.3.6-alpha.
+
+ o Minor bugfixes (bridges):
+ - When we don't yet have a descriptor for one of our bridges,
+ disable the entry guard retry schedule on that bridge. The entry
+ guard retry schedule and the bridge descriptor retry schedule can
+ conflict, e.g. where we mark a bridge as "maybe up" yet we don't
+ try to fetch its descriptor yet, leading Tor to wait (refusing to
+ do anything) until it becomes time to fetch the descriptor. Fixes
+ bug 40497; bugfix on 0.3.0.3-alpha.
+
+ o Minor bugfixes (compilation):
+ - Fix our configuration logic to detect whether we had OpenSSL 3:
+ previously, our logic was reversed. This has no other effect than
+ to change whether we suppress deprecated API warnings. Fixes bug
+ 40429; bugfix on 0.3.5.13.
+
+ o Minor bugfixes (controller, path bias):
+ - When a circuit's path is specified, in full or in part, from the
+ controller API, do not count that circuit towards our path-bias
+ calculations. (Doing so was incorrect, since we cannot tell
+ whether the controller is selecting relays randomly.) Resolves a
+ "Bug" warning. Fixes bug 40515; bugfix on 0.2.4.10-alpha.
+
+ o Minor bugfixes (logging):
+ - When we no longer have enough directory information to use the
+ network, we would log a notice-level message -- but we would not
+ reliably log a message when we recovered and resumed using the
+ network. Now make sure there is always a corresponding message
+ about recovering. Fixes bug 40496; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (performance, DoS):
+ - Fix one case of a not-especially viable denial-of-service attack
+ found by OSS-Fuzz in our consensus-diff parsing code. This attack
+ causes a lot small of memory allocations and then immediately
+ frees them: this is only slow when running with all the sanitizers
+ enabled. Fixes one case of bug 40472; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (relay):
+ - Reject IPv6-only DirPorts. Our reachability self-test forces
+ DirPorts to be IPv4, but our configuration parser allowed them to
+ be IPv6-only, which led to an assertion failure. Fixes bug 40494;
+ bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (sandbox):
+ - Fix the sandbox on i386 by modifying it to allow the
+ "clock_gettime64" and "statx" system calls and to filter the
+ "chown32" and "stat64" system calls in place of "chown" and
+ "stat", respectively. Fixes bug 40505; bugfix on 0.2.5.4-alpha.
+
+ o Documentation (man, relay):
+ - Missing "OverloadStatistics" in tor.1 manpage. Fixes bug 40504;
+ bugfix on 0.4.6.1-alpha.
+
+
+Changes in version 0.4.6.9 - 2021-12-15
+ This version fixes several bugs from earlier versions of Tor. One important
+ piece is the removal of DNS timeout metric from the overload general signal.
+ See below for more details.
+
+ o Major bugfixes (relay, overload):
+ - Don't make Tor DNS timeout trigger an overload general state.
+ These timeouts are different from DNS server timeout. They have to
+ be seen as timeout related to UX and not because of a network
+ problem. Fixes bug 40527; bugfix on 0.4.6.1-alpha.
+
+ o Minor feature (reproducible build):
+ - The repository can now build reproducible tarballs which adds the
+ build command "make dist-reprod" for that purpose. Closes
+ ticket 26299.
+
+ o Minor features (compilation):
+ - Give an error message if trying to build with a version of
+ LibreSSL known not to work with Tor. (There's an incompatibility
+ with LibreSSL versions 3.2.1 through 3.4.0 inclusive because of
+ their incompatibility with OpenSSL 1.1.1's TLSv1.3 APIs.) Closes
+ ticket 40511.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories generated on December 15, 2021.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/12/15.
+
+ o Minor bugfixes (compilation):
+ - Fix our configuration logic to detect whether we had OpenSSL 3:
+ previously, our logic was reversed. This has no other effect than
+ to change whether we suppress deprecated API warnings. Fixes bug
+ 40429; bugfix on 0.3.5.13.
+
+ o Minor bugfixes (relay):
+ - Reject IPv6-only DirPorts. Our reachability self-test forces
+ DirPorts to be IPv4, but our configuration parser allowed them to
+ be IPv6-only, which led to an assertion failure. Fixes bug 40494;
+ bugfix on 0.4.5.1-alpha.
+
+ o Documentation (man, relay):
+ - Missing "OverloadStatistics" in tor.1 manpage. Fixes bug 40504;
+ bugfix on 0.4.6.1-alpha.
+
+
+Changes in version 0.4.7.2-alpha - 2021-10-26
+ This second alpha release of the 0.4.7.x series adds two major
+ features: congestion control (prop324) for network performance, and
+ the MiddleOnly flag (prop335) voted by the authorities to pin relays
+ to the middle position for various network health reasons. This
+ release also fixes numerous bugs.
+
+ The congestion control feature, detailed in proposal 324, still needs
+ more work before we can enable it by default. It is currently in its
+ testing and tuning phase which means that you should expect more
+ 0.4.7.x alphas as congestion control gets stabilized and tuned for
+ optimal performance. And so, at this release, it can not be used
+ without a custom patch.
+
+ o Major features (congestion control):
+ - Implement support for flow control over congestion controlled
+ circuits. This work comes from proposal 324. Closes ticket 40450.
+
+ o Major features (directory authority):
+ - Add a new consensus method to handle MiddleOnly specially. When
+ enough authorities are using this method, then any relay tagged
+ with the MiddleOnly flag will have its Exit, Guard, HSDir, and
+ V2Dir flags automatically cleared, and will have its BadExit flag
+ automatically set. Implements part of proposal 335.
+ - Authorities can now be configured to label relays as "MiddleOnly".
+ When voting for this flag, authorities automatically vote against
+ Exit, Guard, HSDir, and V2Dir; and in favor of BadExit. Implements
+ part of proposal 335. Based on a patch from Neel Chauhan.
+
+ o Major bugfix (relay, metrics):
+ - On the MetricsPort, the DNS error statistics are not reported by
+ record type ("record=...") anymore due to a libevent bug
+ (https://github.com/libevent/libevent/issues/1219). Fixes bug
+ 40490; bugfix on 0.4.7.1-alpha.
+
+ o Major bugfixes (relay, overload state):
+ - Relays report the general overload state for DNS timeout errors
+ only if X% of all DNS queries over Y seconds are errors. Before
+ that, it only took 1 timeout to report the overload state which
+ was just too low of a threshold. The X and Y values are 1% and 10
+ minutes respectively but they are also controlled by consensus
+ parameters. Fixes bug 40491; bugfix on 0.4.6.1-alpha.
+
+ o Minor feature (authority, relay):
+ - Reject End-Of-Life relays running version 0.4.2.x, 0.4.3.x,
+ 0.4.4.x and 0.4.5 alphas/rc. Closes ticket 40480.
+
+ o Minor feature (onion service v2):
+ - Onion service v2 addresses are now not recognized anymore by tor
+ meaning a bad hostname is returned when attempting to pass it on a
+ SOCKS connection. No more deprecation log is emitted client side.
+ Closes ticket 40476.
+ - See https://blog.torproject.org/v2-deprecation-timeline for
+ details on how to transition from v2 to v3.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories for October 2021. Closes
+ ticket 40493.
+
+ o Minor features (logging, heartbeat):
+ - When a relay receives a cell that isn't encrypted properly for it,
+ but the relay is the last hop on the circuit, the relay now counts
+ how many cells of this kind it receives, on how many circuits, and
+ reports this information in the log. Previously, we'd log each
+ cell at PROTOCOL_WARN level, which is far too verbose to be
+ useful. Fixes part of ticket 40400.
+
+ o Minor features (testing):
+ - We now have separate fuzzers for the inner layers of v3 onion
+ service descriptors, to prevent future bugs like 40392. Closes
+ ticket 40488.
+
+ o Minor bugfixes (compilation):
+ - Fix compilation error when __NR_time is not defined. Fixes bug
+ 40465; bugfix on 0.2.5.5-alpha. Patch by Daniel Pinto.
+
+ o Minor bugfixes (dirauth, bandwidth scanner):
+ - Add the AuthDirDontVoteOnDirAuthBandwidth dirauth config parameter
+ to avoid voting on bandwidth scanner weights to v3 directory
+ authorities. Fixes bug 40471; bugfix on 0.2.2.1-alpha. Patch by
+ Neel Chauhan.
+
+ o Minor bugfixes (fragile-hardening, sandbox):
+ - When building with --enable-fragile-hardening, add or relax Linux
+ seccomp rules to allow AddressSanitizer to execute normally if the
+ process terminates with the sandbox active. This has the side
+ effect of disabling the filtering of file- and directory-open
+ requests on most systems and dilutes the effectiveness of the
+ sandbox overall, as a wider range of system calls must be
+ permitted. Fixes bug 11477; bugfix on 0.2.5.4-alpha.
+
+ o Minor bugfixes (logging):
+ - If a channel has never received or transmitted a cell, or seen a
+ client, do not calculate time diffs against 1/1/1970 but log a
+ better prettier message. Fixes bug 40182; bugfix on 0.2.4.4.
+
+ o Minor bugfixes (onion service):
+ - Fix a warning BUG that would occur often on heavily loaded onion
+ service leading to filling the logs with useless warnings. Fixes
+ bug 34083; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfix (CI, onion service):
+ - Exclude onion service version 2 Stem tests in our CI. Fixes bug 40500;
+ bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (onion service, config):
+ - Fix a memory leak for a small config line string that could occur
+ if the onion service failed to be configured from file properly.
+ Fixes bug 40484; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (onion service, TROVE-2021-008):
+ - Only log v2 access attempts once total, in order to not pollute
+ the logs with warnings and to avoid recording the times on disk
+ when v2 access was attempted. Note that the onion address was
+ _never_ logged. This counts as a Low-severity security issue.
+ Fixes bug 40474; bugfix on 0.4.5.8.
+ - Note that due to #40476 which removes v2 support entirely, this
+ log line is not emitted anymore. We still mention this in the
+ changelog because it is a Low-severity TROVE.
+
+ o Minor bugfixes (usability):
+ - Do not log "RENDEZVOUS1 cell with unrecognized rendezvous cookie"
+ at LOG_PROTOCOL_WARN; instead log it at DEBUG. This warning can
+ happen naturally if a client gives up on a rendezvous circuit
+ after sending INTRODUCE1. Fixes part of bug 40400; bugfix
+ on 0.1.1.13-alpha.
+ - Do not log "circuit_receive_relay_cell failed" at
+ LOG_PROTOCOL_WARN; instead log it at DEBUG. In every case where we
+ would want to log this as a protocol warning, we are already
+ logging another warning from inside circuit_receive_relay_cell.
+ Fixes part of bug 40400; bugfix on 0.1.1.9-alpha.
+
+ o Code simplification and refactoring:
+ - Lower the official maximum for "guard-extreme-restriction-percent"
+ to 100. This has no effect on when the guard code will generate a
+ warning, but it makes the intent of the option clearer. Fixes bug
+ 40486; bugfix on 0.3.0.1-alpha.
+
+ o Testing:
+ - Add unit tests for the Linux seccomp sandbox. Resolves
+ issue 16803.
+
+ o Code simplification and refactoring (rust):
+ - Remove Rust support and its associated code. It is unsupported and
+ Rust focus should be shifted to arti. Closes ticket 40469.
+
+ o Testing (CI, chutney):
+ - Bump the data size that chutney transmits to 5MBytes in order to
+ trigger the flow control and congestion window code. Closes
+ ticket 40485.
+
+
+Changes in version 0.4.6.8 - 2021-10-26
+ This version fixes several bugs from earlier versions of Tor. One
+ highlight is a fix on how we track DNS timeouts to report general
+ relay overload.
+
+ o Major bugfixes (relay, overload state):
+ - Relays report the general overload state for DNS timeout errors
+ only if X% of all DNS queries over Y seconds are errors. Before
+ that, it only took 1 timeout to report the overload state which
+ was just too low of a threshold. The X and Y values are 1% and 10
+ minutes respectively but they are also controlled by consensus
+ parameters. Fixes bug 40491; bugfix on 0.4.6.1-alpha.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories for October 2021. Closes
+ ticket 40493.
+
+ o Minor features (testing):
+ - On a testing network, relays can now use the
+ TestingMinTimeToReportBandwidth option to change the smallest
+ amount of time over which they're willing to report their observed
+ maximum bandwidth. Previously, this was fixed at 1 day. For
+ safety, values under 2 hours are only supported on testing
+ networks. Part of a fix for ticket 40337.
+ - Relays on testing networks no longer rate-limit how frequently
+ they are willing to report new bandwidth measurements. Part of a
+ fix for ticket 40337.
+ - Relays on testing networks now report their observed bandwidths
+ immediately from startup. Previously, they waited until they had
+ been running for a full day. Closes ticket 40337.
+
+ o Minor bugfix (onion service):
+ - Do not flag an HSDir as non-running in case the descriptor upload
+ or fetch fails. An onion service closes pending directory
+ connections before uploading a new descriptor which can thus lead
+ to wrongly flagging many relays and thus affecting circuit building
+ path selection. Fixes bug 40434; bugfix on 0.2.0.13-alpha.
+ - Improve logging when a bad HS version is given. Fixes bug 40476;
+ bugfix on 0.4.6.1-alpha.
+
+ o Minor bugfix (CI, onion service):
+ - Exclude onion service version 2 Stem tests in our CI. Fixes bug 40500;
+ bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (compatibility):
+ - Fix compatibility with the most recent Libevent versions, which no
+ longer have an evdns_set_random_bytes() function. Because this
+ function has been a no-op since Libevent 2.0.4-alpha, it is safe
+ for us to just stop calling it. Fixes bug 40371; bugfix
+ on 0.2.1.7-alpha.
+
+ o Minor bugfixes (onion service, TROVE-2021-008):
+ - Only log v2 access attempts once total, in order to not pollute
+ the logs with warnings and to avoid recording the times on disk
+ when v2 access was attempted. Note that the onion address was
+ _never_ logged. This counts as a Low-severity security issue.
+ Fixes bug 40474; bugfix on 0.4.5.8.
+
+
+Changes in version 0.4.5.11 - 2021-10-26
+ The major change in this version is that v2 onion services are now
+ disabled at the client, service, and relay: any Tor nodes running this
+ version and onward will stop supporting v2 onion services. This is the
+ last step in the long deprecation process of v2 onion services.
+ Everyone running an earlier version, whether as a client, a relay, or
+ an onion service, should upgrade to Tor 0.3.5.17, 0.4.5.11,
+ or 0.4.6.8.
+
+ o Major feature (onion service v2):
+ - See https://blog.torproject.org/v2-deprecation-timeline for
+ details on how to transition from v2 to v3.
+ - The control port commands HSFETCH and HSPOST no longer allow
+ version 2, and it is no longer possible to create a v2 service
+ with ADD_ONION.
+ - Tor no longer allows creating v2 services, or connecting as a
+ client to a v2 service. Relays will decline to be a v2 HSDir or
+ introduction point. This effectively disables onion service
+ version 2 Tor-wide. Closes ticket 40476.
+
+ o Minor features (bridge, backport from 0.4.6.8):
+ - We now announce the URL to Tor's new bridge status at
+ https://bridges.torproject.org/ when Tor is configured to run as a
+ bridge relay. Closes ticket 30477.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories for October 2021. Closes
+ ticket 40493.
+
+ o Minor features (logging, diagnostic, backport from 0.4.6.5):
+ - Log decompression failures at a higher severity level, since they
+ can help provide missing context for other warning messages. We
+ rate-limit these messages, to avoid flooding the logs if they
+ begin to occur frequently. Closes ticket 40175.
+
+ o Minor features (testing, backport from 0.4.6.8):
+ - On a testing network, relays can now use the
+ TestingMinTimeToReportBandwidth option to change the smallest
+ amount of time over which they're willing to report their observed
+ maximum bandwidth. Previously, this was fixed at 1 day. For
+ safety, values under 2 hours are only supported on testing
+ networks. Part of a fix for ticket 40337.
+ - Relays on testing networks no longer rate-limit how frequently
+ they are willing to report new bandwidth measurements. Part of a
+ fix for ticket 40337.
+ - Relays on testing networks now report their observed bandwidths
+ immediately from startup. Previously, they waited until they had
+ been running for a full day. Closes ticket 40337.
+
+ o Minor bugfix (CI, onion service):
+ - Exclude onion service version 2 Stem tests in our CI. Fixes bug 40500;
+ bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfix (onion service, backport from 0.4.6.8):
+ - Do not flag an HSDir as non-running in case the descriptor upload
+ or fetch fails. An onion service closes pending directory
+ connections before uploading a new descriptor which can thus lead
+ to wrongly flagging many relays and thus affecting circuit building
+ path selection. Fixes bug 40434; bugfix on 0.2.0.13-alpha.
+
+ o Minor bugfixes (compatibility, backport from 0.4.6.8):
+ - Fix compatibility with the most recent Libevent versions, which no
+ longer have an evdns_set_random_bytes() function. Because this
+ function has been a no-op since Libevent 2.0.4-alpha, it is safe
+ for us to just stop calling it. Fixes bug 40371; bugfix
+ on 0.2.1.7-alpha.
+
+ o Minor bugfixes (consensus handling, backport from 0.4.6.4-rc):
+ - Avoid a set of bugs that could be caused by inconsistently
+ preferring an out-of-date consensus stored in a stale directory
+ cache over a more recent one stored on disk as the latest
+ consensus. Fixes bug 40375; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (onion service, TROVE-2021-008, backport from 0.4.6.8):
+ - Only log v2 access attempts once total, in order to not pollute
+ the logs with warnings and to avoid recording the times on disk
+ when v2 access was attempted. Note that the onion address was
+ _never_ logged. This counts as a Low-severity security issue.
+ Fixes bug 40474; bugfix on 0.4.5.8.
+
+
+Changes in version 0.3.5.17 - 2021-10-26
+ The major change in this version is that v2 onion services are now
+ disabled at the client, service, and relay: any Tor nodes running this
+ version and onward will stop supporting v2 onion services. This is the
+ last step in the long deprecation process of v2 onion services.
+ Everyone running an earlier version, whether as a client, a relay, or
+ an onion service, should upgrade to Tor 0.3.5.17, 0.4.5.11,
+ or 0.4.6.8.
+
+ o Major feature (onion service v2, backport from 0.4.5.11):
+ - See https://blog.torproject.org/v2-deprecation-timeline for
+ details on how to transition from v2 to v3.
+ - The control port commands HSFETCH and HSPOST no longer allow
+ version 2, and it is no longer possible to create a v2 service
+ with ADD_ONION.
+ - Tor no longer allows creating v2 services, or connecting as a
+ client to a v2 service. Relays will decline to be a v2 HSDir or
+ introduction point. This effectively disables onion service
+ version 2 Tor-wide. Closes ticket 40476.
+
+ o Minor features (bridge, backport from 0.4.6.8):
+ - We now announce the URL to Tor's new bridge status at
+ https://bridges.torproject.org/ when Tor is configured to run as a
+ bridge relay. Closes ticket 30477.
+
+ o Minor features (fallbackdir):
+ - Regenerate fallback directories for October 2021. Closes
+ ticket 40493.
+
+ o Minor bugfixes (compatibility, backport from 0.4.6.8):
+ - Fix compatibility with the most recent Libevent versions, which no
+ longer have an evdns_set_random_bytes() function. Because this
+ function has been a no-op since Libevent 2.0.4-alpha, it is safe
+ for us to just stop calling it. Fixes bug 40371; bugfix
+ on 0.2.1.7-alpha.
+
+
+Changes in version 0.4.7.1-alpha - 2021-09-17
+ This version is the first alpha release of the 0.4.7.x series. One
+ major feature is Vanguards Lite, from proposal 333, to help mitigate
+ guard discovery attacks against onion services. It also includes
+ numerous bugfixes.
+
+ o Major features (Proposal 332, onion services, guard selection algorithm):
+ - Clients and onion services now choose four long-lived "layer 2"
+ guard relays for use as the middle hop in all onion circuits.
+ These relays are kept in place for a randomized duration averaging
+ 1 week. This mitigates guard discovery attacks against clients and
+ short-lived onion services such as OnionShare. Long-lived onion
+ services that need high security should still use the Vanguards
+ addon (https://github.com/mikeperry-tor/vanguards). Closes ticket
+ 40363; implements proposal 333.
+
+ o Minor features (bridge testing support):
+ - Let external bridge reachability testing tools discard cached
+ bridge descriptors when setting new bridges, so they can be sure
+ to get a clean reachability test. Implements ticket 40209.
+
+ o Minor features (fuzzing):
+ - When building with --enable-libfuzzer, use a set of compiler flags
+ that works with more recent versions of the library. Previously we
+ were using a set of flags from 2017. Closes ticket 40407.
+
+ o Minor features (testing configuration):
+ - When TestingTorNetwork is enabled, skip the permissions check on
+ hidden service directories. Closes ticket 40338.
+ - On a testing network, relays can now use the
+ TestingMinTimeToReportBandwidth option to change the smallest
+ amount of time over which they're willing to report their observed
+ maximum bandwidth. Previously, this was fixed at 1 day. For
+ safety, values under 2 hours are only supported on testing
+ networks. Part of a fix for ticket 40337.
+ - Relays on testing networks no longer rate-limit how frequently
+ they are willing to report new bandwidth measurements. Part of a
+ fix for ticket 40337.
+ - Relays on testing networks now report their observed bandwidths
+ immediately from startup. Previously, they waited until they had
+ been running for a full day. Closes ticket 40337.
+
+ o Minor bugfixes (circuit padding):
+ - Don't send STOP circuit padding cells when the other side has
+ already shut down the corresponding padding machine. Fixes bug
+ 40435; bugfix on 0.4.0.1-alpha.
+
+ o Minor bugfixes (compatibility):
+ - Fix compatibility with the most recent Libevent versions, which no
+ longer have an evdns_set_random_bytes() function. Because this
+ function has been a no-op since Libevent 2.0.4-alpha, it is safe
+ for us to just stop calling it. Fixes bug 40371; bugfix
+ on 0.2.1.7-alpha.
+
+ o Minor bugfixes (control, sandbox):
+ - Allows the control command SAVECONF to succeed when the seccomp
+ sandbox is enabled. Makes SAVECONF keep only one backup file, to
+ simplify implementation. Fixes bug 40317; bugfix on 0.2.5.4-alpha.
+ Patch by Daniel Pinto.
+
+ o Minor bugfixes (heartbeat):
+ - Adjust the heartbeat log message about distinct clients to
+ consider the HeartbeatPeriod rather than a flat 6-hour delay.
+ Fixes bug 40330; bugfix on 0.2.6.3-alpha.
+
+ o Minor bugfixes (logging, relay):
+ - Add spaces between the "and" when logging the "Your server has not
+ managed to confirm reachability for its" on dual-stack relays.
+ Fixes bug 40453; bugfix on 0.4.5.1-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (onion service):
+ - Do not flag an HSDir as non-running in case the descriptor upload
+ or fetch fails. An onion service closes pending directory
+ connections before uploading a new descriptor which leads to
+ wrongly flagging many relays and thus affecting circuit path
+ selection. Fixes bug 40434; bugfix on 0.2.0.13-alpha.
+
+ o Minor bugfixes (statistics):
+ - Fix a fencepost issue when we check stability_last_downrated where
+ we called rep_hist_downrate_old_runs() twice. Fixes bug 40394;
+ bugfix on 0.2.0.5-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (tests):
+ - Fix a bug that prevented some tests from running with the correct
+ names. Fixes bug 40365; bugfix on 0.4.3.1-alpha.
+
+ o Documentation:
+ - Add links to original tor design paper and anonbib to
+ docs/HACKING/README.1st.md. Closes ticket 33742. Patch from
+ Emily Bones.
+ - Describe the "fingerprint-ed25519" file in the tor.1 man page.
+ Fixes bug 40467; bugfix on 0.4.3.1-alpha. Patch by Neel Chauhan.
+
+
+Changes in version 0.4.6.7 - 2021-08-16
+ This version fixes several bugs from earlier versions of Tor,
+ including one that could lead to a denial-of-service attack. Everyone
+ running an earlier version, whether as a client, a relay, or an onion
+ service, should upgrade to Tor 0.3.5.16, 0.4.5.10, or 0.4.6.7.
+
+ o Major bugfixes (cryptography, security):
+ - Resolve an assertion failure caused by a behavior mismatch between
+ our batch-signature verification code and our single-signature
+ verification code. This assertion failure could be triggered
+ remotely, leading to a denial of service attack. We fix this issue
+ by disabling batch verification. Fixes bug 40078; bugfix on
+ 0.2.6.1-alpha. This issue is also tracked as TROVE-2021-007 and
+ CVE-2021-38385. Found by Henry de Valence.
+
+ o Minor feature (fallbackdir):
+ - Regenerate fallback directories list. Close ticket 40447.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/08/12.
+
+ o Minor bugfix (crypto):
+ - Disable the unused batch verification feature of ed25519-donna.
+ Fixes bug 40078; bugfix on 0.2.6.1-alpha. Found by Henry
+ de Valence.
+
+ o Minor bugfixes (onion service):
+ - Send back the extended SOCKS error 0xF6 (Onion Service Invalid
+ Address) for a v2 onion address. Fixes bug 40421; bugfix
+ on 0.4.6.2-alpha.
+
+ o Minor bugfixes (relay):
+ - Reduce the compression level for data streaming from HIGH to LOW
+ in order to reduce CPU load on the directory relays. Fixes bug
+ 40301; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (timekeeping):
+ - Calculate the time of day correctly on systems where the time_t
+ type includes leap seconds. (This is not the case on most
+ operating systems, but on those where it occurs, our tor_timegm
+ function did not correctly invert the system's gmtime function,
+ which could result in assertion failures when calculating voting
+ schedules.) Fixes bug 40383; bugfix on 0.2.0.3-alpha.
+
+
+Changes in version 0.4.5.10 - 2021-08-16
+ This version fixes several bugs from earlier versions of Tor,
+ including one that could lead to a denial-of-service attack. Everyone
+ running an earlier version, whether as a client, a relay, or an onion
+ service, should upgrade to Tor 0.3.5.16, 0.4.5.10, or 0.4.6.7.
+
+ o Major bugfixes (cryptography, security):
+ - Resolve an assertion failure caused by a behavior mismatch between
+ our batch-signature verification code and our single-signature
+ verification code. This assertion failure could be triggered
+ remotely, leading to a denial of service attack. We fix this issue
+ by disabling batch verification. Fixes bug 40078; bugfix on
+ 0.2.6.1-alpha. This issue is also tracked as TROVE-2021-007 and
+ CVE-2021-38385. Found by Henry de Valence.
+
+ o Minor feature (fallbackdir):
+ - Regenerate fallback directories list. Close ticket 40447.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/08/12.
+
+ o Minor features (testing):
+ - Enable the deterministic RNG for unit tests that covers the
+ address set bloomfilter-based API's. Fixes bug 40419; bugfix
+ on 0.3.3.2-alpha.
+
+ o Minor bugfix (crypto, backport from 0.4.6.7):
+ - Disable the unused batch verification feature of ed25519-donna.
+ Fixes bug 40078; bugfix on 0.2.6.1-alpha. Found by Henry
+ de Valence.
+
+ o Minor bugfixes (relay, backport from 0.4.6.7):
+ - Reduce the compression level for data streaming from HIGH to LOW.
+ Fixes bug 40301; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (timekeeping, backport from 0.4.6.7):
+ - Calculate the time of day correctly on systems where the time_t
+ type includes leap seconds. (This is not the case on most
+ operating systems, but on those where it occurs, our tor_timegm
+ function did not correctly invert the system's gmtime function,
+ which could result in assertion failures when calculating voting
+ schedules.) Fixes bug 40383; bugfix on 0.2.0.3-alpha.
+
+ o Minor bugfixes (warnings, portability, backport from 0.4.6.6):
+ - Suppress a strict-prototype warning when building with some
+ versions of NSS. Fixes bug 40409; bugfix on 0.3.5.1-alpha.
+
+
+Changes in version 0.3.5.16 - 2021-08-16
+ This version fixes several bugs from earlier versions of Tor,
+ including one that could lead to a denial-of-service attack. Everyone
+ running an earlier version, whether as a client, a relay, or an onion
+ service, should upgrade to Tor 0.3.5.16, 0.4.5.10, or 0.4.6.7.
+
+ o Major bugfixes (cryptography, security):
+ - Resolve an assertion failure caused by a behavior mismatch between
+ our batch-signature verification code and our single-signature
+ verification code. This assertion failure could be triggered
+ remotely, leading to a denial of service attack. We fix this issue
+ by disabling batch verification. Fixes bug 40078; bugfix on
+ 0.2.6.1-alpha. This issue is also tracked as TROVE-2021-007 and
+ CVE-2021-38385. Found by Henry de Valence.
+
+ o Minor feature (fallbackdir):
+ - Regenerate fallback directories list. Close ticket 40447.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/08/12.
+
+ o Minor bugfix (crypto, backport from 0.4.6.7):
+ - Disable the unused batch verification feature of ed25519-donna.
+ Fixes bug 40078; bugfix on 0.2.6.1-alpha. Found by Henry
+ de Valence.
+
+ o Minor bugfixes (relay, backport from 0.4.6.7):
+ - Reduce the compression level for data streaming from HIGH to LOW.
+ Fixes bug 40301; bugfix on 0.3.5.1-alpha.
+
+
+Changes in version 0.4.6.6 - 2021-06-30
+ Tor 0.4.6.6 makes several small fixes on 0.4.6.5, including one that
+ allows Tor to build correctly on older versions of GCC. You should
+ upgrade to this version if you were having trouble building Tor
+ 0.4.6.5; otherwise, there is probably no need.
+
+ o Minor bugfixes (compilation):
+ - Fix a compilation error when trying to build Tor with a compiler
+ that does not support const variables in static initializers.
+ Fixes bug 40410; bugfix on 0.4.6.5.
+ - Suppress a strict-prototype warning when building with some
+ versions of NSS. Fixes bug 40409; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (testing):
+ - Enable the deterministic RNG for unit tests that covers the
+ address set bloomfilter-based API's. Fixes bug 40419; bugfix
+ on 0.3.3.2-alpha.
+
+
+Changes in version 0.4.5.9 - 2021-06-14
+ Tor 0.4.5.9 fixes several security issues, including a
+ denial-of-service attack against onion service clients, and another
+ denial-of-service attack against relays. Everybody should upgrade to
+ one of 0.3.5.15, 0.4.4.9, 0.4.5.9, or 0.4.6.5.
+
+ o Major bugfixes (security, backport from 0.4.6.5):
+ - Don't allow relays to spoof RELAY_END or RELAY_RESOLVED cell on
+ half-closed streams. Previously, clients failed to validate which
+ hop sent these cells: this would allow a relay on a circuit to end
+ a stream that wasn't actually built with it. Fixes bug 40389;
+ bugfix on 0.3.5.1-alpha. This issue is also tracked as TROVE-2021-
+ 003 and CVE-2021-34548.
+
+ o Major bugfixes (security, defense-in-depth, backport from 0.4.6.5):
+ - Detect more failure conditions from the OpenSSL RNG code.
+ Previously, we would detect errors from a missing RNG
+ implementation, but not failures from the RNG code itself.
+ Fortunately, it appears those failures do not happen in practice
+ when Tor is using OpenSSL's default RNG implementation. Fixes bug
+ 40390; bugfix on 0.2.8.1-alpha. This issue is also tracked as
+ TROVE-2021-004. Reported by Jann Horn at Google's Project Zero.
+
+ o Major bugfixes (security, denial of service, backport from 0.4.6.5):
+ - Resist a hashtable-based CPU denial-of-service attack against
+ relays. Previously we used a naive unkeyed hash function to look
+ up circuits in a circuitmux object. An attacker could exploit this
+ to construct circuits with chosen circuit IDs, to create
+ collisions and make the hash table inefficient. Now we use a
+ SipHash construction here instead. Fixes bug 40391; bugfix on
+ 0.2.4.4-alpha. This issue is also tracked as TROVE-2021-005 and
+ CVE-2021-34549. Reported by Jann Horn from Google's Project Zero.
+ - Fix an out-of-bounds memory access in v3 onion service descriptor
+ parsing. An attacker could exploit this bug by crafting an onion
+ service descriptor that would crash any client that tried to visit
+ it. Fixes bug 40392; bugfix on 0.3.0.1-alpha. This issue is also
+ tracked as TROVE-2021-006 and CVE-2021-34550. Reported by Sergei
+ Glazunov from Google's Project Zero.
+
+ o Minor features (compatibility, backport from 0.4.6.4-rc):
+ - Remove an assertion function related to TLS renegotiation. It was
+ used nowhere outside the unit tests, and it was breaking
+ compilation with recent alpha releases of OpenSSL 3.0.0. Closes
+ ticket 40399.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/06/10.
+
+ o Minor bugfixes (control, sandbox, backport from 0.4.6.4-rc):
+ - Allow the control command SAVECONF to succeed when the seccomp
+ sandbox is enabled, and make SAVECONF keep only one backup file to
+ simplify implementation. Previously SAVECONF allowed a large
+ number of backup files, which made it incompatible with the
+ sandbox. Fixes bug 40317; bugfix on 0.2.5.4-alpha. Patch by
+ Daniel Pinto.
+
+ o Minor bugfixes (metrics port, backport from 0.4.6.4-rc):
+ - Fix a bug that made tor try to re-bind() on an already open
+ MetricsPort every 60 seconds. Fixes bug 40370; bugfix
+ on 0.4.5.1-alpha.
+
+
+Changes in version 0.4.4.9 - 2021-06-14
+ Tor 0.4.4.9 fixes several security issues, including a
+ denial-of-service attack against onion service clients, and another
+ denial-of-service attack against relays. Everybody should upgrade to
+ one of 0.3.5.15, 0.4.4.9, 0.4.5.9, or 0.4.6.5.
+
+ Note that the scheduled end-of-life date for the Tor 0.4.4.x series is
+ June 15. This is therefore the last release in its series. Everybody
+ still running 0.4.4.x should plan to upgrade to 0.4.5.x or later.
+
+ o Major bugfixes (security, backport from 0.4.6.5):
+ - Don't allow relays to spoof RELAY_END or RELAY_RESOLVED cell on
+ half-closed streams. Previously, clients failed to validate which
+ hop sent these cells: this would allow a relay on a circuit to end
+ a stream that wasn't actually built with it. Fixes bug 40389;
+ bugfix on 0.3.5.1-alpha. This issue is also tracked as TROVE-2021-
+ 003 and CVE-2021-34548.
+
+ o Major bugfixes (security, defense-in-depth, backport from 0.4.6.5):
+ - Detect more failure conditions from the OpenSSL RNG code.
+ Previously, we would detect errors from a missing RNG
+ implementation, but not failures from the RNG code itself.
+ Fortunately, it appears those failures do not happen in practice
+ when Tor is using OpenSSL's default RNG implementation. Fixes bug
+ 40390; bugfix on 0.2.8.1-alpha. This issue is also tracked as
+ TROVE-2021-004. Reported by Jann Horn at Google's Project Zero.
+
+ o Major bugfixes (security, denial of service, backport from 0.4.6.5):
+ - Resist a hashtable-based CPU denial-of-service attack against
+ relays. Previously we used a naive unkeyed hash function to look
+ up circuits in a circuitmux object. An attacker could exploit this
+ to construct circuits with chosen circuit IDs, to create
+ collisions and make the hash table inefficient. Now we use a
+ SipHash construction here instead. Fixes bug 40391; bugfix on
+ 0.2.4.4-alpha. This issue is also tracked as TROVE-2021-005 and
+ CVE-2021-34549. Reported by Jann Horn from Google's Project Zero.
+ - Fix an out-of-bounds memory access in v3 onion service descriptor
+ parsing. An attacker could exploit this bug by crafting an onion
+ service descriptor that would crash any client that tried to visit
+ it. Fixes bug 40392; bugfix on 0.3.0.1-alpha. This issue is also
+ tracked as TROVE-2021-006 and CVE-2021-34550. Reported by Sergei
+ Glazunov from Google's Project Zero.
+
+ o Minor features (compatibility, backport from 0.4.6.4-rc):
+ - Remove an assertion function related to TLS renegotiation. It was
+ used nowhere outside the unit tests, and it was breaking
+ compilation with recent alpha releases of OpenSSL 3.0.0. Closes
+ ticket 40399.
+
+ o Minor features (fallback directory list, backport from 0.4.6.2-alpha):
+ - Regenerate the list of fallback directories to contain a new set
+ of 200 relays. Closes ticket 40265.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/06/10.
+
+ o Minor bugfixes (channel, DoS, backport from 0.4.6.2-alpha):
+ - Fix a non-fatal BUG() message due to a too-early free of a string,
+ when listing a client connection from the DoS defenses subsystem.
+ Fixes bug 40345; bugfix on 0.4.3.4-rc.
+
+ o Minor bugfixes (compiler warnings, backport from 0.4.6.3-rc):
+ - Fix an indentation problem that led to a warning from GCC 11.1.1.
+ Fixes bug 40380; bugfix on 0.3.0.1-alpha.
+
+
+Changes in version 0.3.5.15 - 2021-06-14
+ Tor 0.3.5.15 fixes several security issues, including a
+ denial-of-service attack against onion service clients, and another
+ denial-of-service attack against relays. Everybody should upgrade to
+ one of 0.3.5.15, 0.4.4.9, 0.4.5.9, or 0.4.6.5.
+
+ o Major bugfixes (security, backport from 0.4.6.5):
+ - Don't allow relays to spoof RELAY_END or RELAY_RESOLVED cell on
+ half-closed streams. Previously, clients failed to validate which
+ hop sent these cells: this would allow a relay on a circuit to end
+ a stream that wasn't actually built with it. Fixes bug 40389;
+ bugfix on 0.3.5.1-alpha. This issue is also tracked as TROVE-2021-
+ 003 and CVE-2021-34548.
+
+ o Major bugfixes (security, defense-in-depth, backport from 0.4.6.5):
+ - Detect more failure conditions from the OpenSSL RNG code.
+ Previously, we would detect errors from a missing RNG
+ implementation, but not failures from the RNG code itself.
+ Fortunately, it appears those failures do not happen in practice
+ when Tor is using OpenSSL's default RNG implementation. Fixes bug
+ 40390; bugfix on 0.2.8.1-alpha. This issue is also tracked as
+ TROVE-2021-004. Reported by Jann Horn at Google's Project Zero.
+
+ o Major bugfixes (security, denial of service, backport from 0.4.6.5):
+ - Resist a hashtable-based CPU denial-of-service attack against
+ relays. Previously we used a naive unkeyed hash function to look
+ up circuits in a circuitmux object. An attacker could exploit this
+ to construct circuits with chosen circuit IDs, to create
+ collisions and make the hash table inefficient. Now we use a
+ SipHash construction here instead. Fixes bug 40391; bugfix on
+ 0.2.4.4-alpha. This issue is also tracked as TROVE-2021-005 and
+ CVE-2021-34549. Reported by Jann Horn from Google's Project Zero.
+ - Fix an out-of-bounds memory access in v3 onion service descriptor
+ parsing. An attacker could exploit this bug by crafting an onion
+ service descriptor that would crash any client that tried to visit
+ it. Fixes bug 40392; bugfix on 0.3.0.1-alpha. This issue is also
+ tracked as TROVE-2021-006 and CVE-2021-34550. Reported by Sergei
+ Glazunov from Google's Project Zero.
+
+ o Minor bugfixes (compiler warnings, backport from 0.4.6.3-rc):
+ - Fix an indentation problem that led to a warning from GCC 11.1.1.
+ Fixes bug 40380; bugfix on 0.3.0.1-alpha.
+
+ o Minor features (compatibility, backport from 0.4.6.4-rc):
+ - Remove an assertion function related to TLS renegotiation. It was
+ used nowhere outside the unit tests, and it was breaking
+ compilation with recent alpha releases of OpenSSL 3.0.0. Closes
+ ticket 40399.
+
+ o Minor features (fallback directory list, backport from 0.4.6.2-alpha):
+ - Regenerate the list of fallback directories to contain a new set
+ of 200 relays. Closes ticket 40265.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/06/10.
+
+
+Changes in version 0.4.6.5 - 2021-06-14
+ Tor 0.4.6.5 is the first stable release in its series. The 0.4.6.x
+ series includes numerous features and bugfixes, including a significant
+ improvement to our circuit timeout algorithm that should improve
+ observed client performance, and a way for relays to report when they are
+ overloaded.
+
+ This release also includes security fixes for several security issues,
+ including a denial-of-service attack against onion service clients,
+ and another denial-of-service attack against relays. Everybody should
+ upgrade to one of 0.3.5.15, 0.4.4.9, 0.4.5.9, or 0.4.6.5.
+
+ Below are the changes since 0.4.6.4-rc. For a complete list of changes
+ since 0.4.5.8, see the ReleaseNotes file.
+
+ o Major bugfixes (security):
+ - Don't allow relays to spoof RELAY_END or RELAY_RESOLVED cell on
+ half-closed streams. Previously, clients failed to validate which
+ hop sent these cells: this would allow a relay on a circuit to end
+ a stream that wasn't actually built with it. Fixes bug 40389;
+ bugfix on 0.3.5.1-alpha. This issue is also tracked as TROVE-2021-
+ 003 and CVE-2021-34548.
+
+ o Major bugfixes (security, defense-in-depth):
+ - Detect more failure conditions from the OpenSSL RNG code.
+ Previously, we would detect errors from a missing RNG
+ implementation, but not failures from the RNG code itself.
+ Fortunately, it appears those failures do not happen in practice
+ when Tor is using OpenSSL's default RNG implementation. Fixes bug
+ 40390; bugfix on 0.2.8.1-alpha. This issue is also tracked as
+ TROVE-2021-004. Reported by Jann Horn at Google's Project Zero.
+
+ o Major bugfixes (security, denial of service):
+ - Resist a hashtable-based CPU denial-of-service attack against
+ relays. Previously we used a naive unkeyed hash function to look
+ up circuits in a circuitmux object. An attacker could exploit this
+ to construct circuits with chosen circuit IDs, to create
+ collisions and make the hash table inefficient. Now we use a
+ SipHash construction here instead. Fixes bug 40391; bugfix on
+ 0.2.4.4-alpha. This issue is also tracked as TROVE-2021-005 and
+ CVE-2021-34549. Reported by Jann Horn from Google's Project Zero.
+ - Fix an out-of-bounds memory access in v3 onion service descriptor
+ parsing. An attacker could exploit this bug by crafting an onion
+ service descriptor that would crash any client that tried to visit
+ it. Fixes bug 40392; bugfix on 0.3.0.1-alpha. This issue is also
+ tracked as TROVE-2021-006 and CVE-2021-34550. Reported by Sergei
+ Glazunov from Google's Project Zero.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/06/10.
+
+ o Minor features (logging, diagnostic):
+ - Log decompression failures at a higher severity level, since they
+ can help provide missing context for other warning messages. We
+ rate-limit these messages, to avoid flooding the logs if they
+ begin to occur frequently. Closes ticket 40175.
+
+
+Changes in version 0.4.6.4-rc - 2021-05-28
+ Tor 0.4.6.4-rc fixes a few bugs from previous releases. This, we hope,
+ the final release candidate in its series: unless major new issues are
+ found, the next release will be stable.
+
+ o Minor features (compatibility):
+ - Remove an assertion function related to TLS renegotiation. It was
+ used nowhere outside the unit tests, and it was breaking
+ compilation with recent alpha releases of OpenSSL 3.0.0. Closes
+ ticket 40399.
+
+ o Minor bugfixes (consensus handling):
+ - Avoid a set of bugs that could be caused by inconsistently
+ preferring an out-of-date consensus stored in a stale directory
+ cache over a more recent one stored on disk as the latest
+ consensus. Fixes bug 40375; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (control, sandbox):
+ - Allow the control command SAVECONF to succeed when the seccomp
+ sandbox is enabled, and make SAVECONF keep only one backup file to
+ simplify implementation. Previously SAVECONF allowed a large
+ number of backup files, which made it incompatible with the
+ sandbox. Fixes bug 40317; bugfix on 0.2.5.4-alpha. Patch by
+ Daniel Pinto.
+
+ o Minor bugfixes (metrics port):
+ - Fix a bug that made tor try to re-bind() on an already open
+ MetricsPort every 60 seconds. Fixes bug 40370; bugfix
+ on 0.4.5.1-alpha.
+
+ o Removed features:
+ - Remove unneeded code for parsing private keys in directory
+ documents. This code was only used for client authentication in v2
+ onion services, which are now unsupported. Closes ticket 40374.
+
+
+Changes in version 0.4.5.8 - 2021-05-10
+ Tor 0.4.5.8 fixes several bugs in earlier version, backporting fixes
+ from the 0.4.6.x series.
+
+ o Minor features (compatibility, Linux seccomp sandbox, backport from 0.4.6.3-rc):
+ - Add a workaround to enable the Linux sandbox to work correctly
+ with Glibc 2.33. This version of Glibc has started using the
+ fstatat() system call, which previously our sandbox did not allow.
+ Closes ticket 40382; see the ticket for a discussion of trade-offs.
+
+ o Minor features (compilation, backport from 0.4.6.3-rc):
+ - Make the autoconf script build correctly with autoconf versions
+ 2.70 and later. Closes part of ticket 40335.
+
+ o Minor features (fallback directory list, backport from 0.4.6.2-alpha):
+ - Regenerate the list of fallback directories to contain a new set
+ of 200 relays. Closes ticket 40265.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/05/07.
+
+ o Minor features (onion services):
+ - Add warning message when connecting to now deprecated v2 onion
+ services. As announced, Tor 0.4.5.x is the last series that will
+ support v2 onions. Closes ticket 40373.
+
+ o Minor bugfixes (bridge, pluggable transport, backport from 0.4.6.2-alpha):
+ - Fix a regression that made it impossible start Tor using a bridge
+ line with a transport name and no fingerprint. Fixes bug 40360;
+ bugfix on 0.4.5.4-rc.
+
+ o Minor bugfixes (build, cross-compilation, backport from 0.4.6.3-rc):
+ - Allow a custom "ar" for cross-compilation. Our previous build
+ script had used the $AR environment variable in most places, but
+ it missed one. Fixes bug 40369; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (channel, DoS, backport from 0.4.6.2-alpha):
+ - Fix a non-fatal BUG() message due to a too-early free of a string,
+ when listing a client connection from the DoS defenses subsystem.
+ Fixes bug 40345; bugfix on 0.4.3.4-rc.
+
+ o Minor bugfixes (compiler warnings, backport from 0.4.6.3-rc):
+ - Fix an indentation problem that led to a warning from GCC 11.1.1.
+ Fixes bug 40380; bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (controller, backport from 0.4.6.1-alpha):
+ - Fix a "BUG" warning that would appear when a controller chooses
+ the first hop for a circuit, and that circuit completes. Fixes bug
+ 40285; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (onion service, client, memory leak, backport from 0.4.6.3-rc):
+ - Fix a bug where an expired cached descriptor could get overwritten
+ with a new one without freeing it, leading to a memory leak. Fixes
+ bug 40356; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (testing, BSD, backport from 0.4.6.2-alpha):
+ - Fix pattern-matching errors when patterns expand to invalid paths
+ on BSD systems. Fixes bug 40318; bugfix on 0.4.5.1-alpha. Patch by
+ Daniel Pinto.
+
+
+Changes in version 0.4.6.3-rc - 2021-05-10
+ Tor 0.4.6.3-rc is the first release candidate in its series. It fixes
+ a few small bugs from previous versions, and adds a better error
+ message when trying to use (no longer supported) v2 onion services.
+
+ Though we anticipate that we'll be doing a bit more clean-up between
+ now and the stable release, we expect that our remaining changes will
+ be fairly simple. There will likely be at least one more release
+ candidate before 0.4.6.x is stable.
+
+ o Major bugfixes (onion service, control port):
+ - Make the ADD_ONION command properly configure client authorization.
+ Before this fix, the created onion failed to add the client(s).
+ Fixes bug 40378; bugfix on 0.4.6.1-alpha.
+
+ o Minor features (compatibility, Linux seccomp sandbox):
+ - Add a workaround to enable the Linux sandbox to work correctly
+ with Glibc 2.33. This version of Glibc has started using the
+ fstatat() system call, which previously our sandbox did not allow.
+ Closes ticket 40382; see the ticket for a discussion of trade-offs.
+
+ o Minor features (compilation):
+ - Make the autoconf script build correctly with autoconf versions
+ 2.70 and later. Closes part of ticket 40335.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/05/07.
+
+ o Minor features (onion services):
+ - Add a warning message when trying to connect to (no longer
+ supported) v2 onion services. Closes ticket 40373.
+
+ o Minor bugfixes (build, cross-compilation):
+ - Allow a custom "ar" for cross-compilation. Our previous build
+ script had used the $AR environment variable in most places, but
+ it missed one. Fixes bug 40369; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (compiler warnings):
+ - Fix an indentation problem that led to a warning from GCC 11.1.1.
+ Fixes bug 40380; bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (logging, relay):
+ - Emit a warning if an Address is found to be internal and tor can't
+ use it. Fixes bug 40290; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (onion service, client, memory leak):
+ - Fix a bug where an expired cached descriptor could get overwritten
+ with a new one without freeing it, leading to a memory leak. Fixes
+ bug 40356; bugfix on 0.3.5.1-alpha.
+
+
+Changes in version 0.4.6.2-alpha - 2021-04-15
+ Tor 0.4.6.2-alpha is the second alpha in its series. It fixes several
+ small bugs in previous releases, and solves other issues that had
+ enabled denial-of-service attacks and affected integration with
+ other tools.
+
+ o Minor features (client):
+ - Clients now check whether their streams are attempting to re-enter
+ the Tor network (i.e. to send Tor traffic over Tor), and close
+ them preemptively if they think exit relays will refuse them for
+ this reason. See ticket 2667 for details. Closes ticket 40271.
+
+ o Minor features (command line):
+ - Add long format name "--torrc-file" equivalent to the existing
+ command-line option "-f". Closes ticket 40324. Patch by
+ Daniel Pinto.
+
+ o Minor features (dormant mode):
+ - Add a new 'DormantTimeoutEnabled' option to allow coarse-grained
+ control over whether the client ever becomes dormant from
+ inactivity. Most people won't need this. Closes ticket 40228.
+
+ o Minor features (fallback directory list):
+ - Regenerate the list of fallback directories to contain a new set
+ of 200 relays. Closes ticket 40265.
+
+ o Minor features (geoip data):
+ - Update the geoip files to match the IPFire Location Database, as
+ retrieved on 2021/04/13.
+
+ o Minor features (logging):
+ - Edit heartbeat log messages so that more of them begin with the
+ string "Heartbeat: ". Closes ticket 40322; patch
+ from 'cypherpunks'.
+
+ o Minor bugfixes (bridge, pluggable transport):
+ - Fix a regression that made it impossible start Tor using a bridge
+ line with a transport name and no fingerprint. Fixes bug 40360;
+ bugfix on 0.4.5.4-rc.
+
+ o Minor bugfixes (channel, DoS):
+ - Fix a non-fatal BUG() message due to a too-early free of a string,
+ when listing a client connection from the DoS defenses subsystem.
+ Fixes bug 40345; bugfix on 0.4.3.4-rc.
+
+ o Minor bugfixes (compilation):
+ - Fix a compilation warning about unused functions when building
+ with a libc that lacks the GLOB_ALTDIRFUNC constant. Fixes bug
+ 40354; bugfix on 0.4.5.1-alpha. Patch by Daniel Pinto.
+
+ o Minor bugfixes (configuration):
+ - Fix pattern-matching for directories on all platforms when using
+ %include options in configuration files. This patch also fixes
+ compilation on musl libc based systems. Fixes bug 40141; bugfix
+ on 0.4.5.1-alpha.
+
+ o Minor bugfixes (relay):
+ - Move the "overload-general" line from extrainfo to the server
+ descriptor. Fixes bug 40364; bugfix on 0.4.6.1-alpha.
+
+ o Minor bugfixes (testing, BSD):
+ - Fix pattern-matching errors when patterns expand to invalid paths
+ on BSD systems. Fixes bug 40318; bugfix on 0.4.5.1-alpha. Patch by
+ Daniel Pinto.
+
+ o Documentation (manual):
+ - Move the ServerTransport* options to the "SERVER OPTIONS" section.
+ Closes issue 40331.
+ - Indicate that the HiddenServiceStatistics option also applies to
+ bridges. Closes ticket 40346.
+ - Move the description of BridgeRecordUsageByCountry to the section
+ "STATISTICS OPTIONS". Closes ticket 40323.
+
+
+Changes in version 0.4.6.1-alpha - 2021-03-18
+ Tor 0.4.6.1-alpha is the first alpha release in the 0.4.6.x series. It
+ improves client circuit performance, adds missing features, and
+ improves some of our DoS handling and statistics reporting. It also
+ includes numerous smaller bugfixes.
+
+ Below are the changes since 0.4.5.7. (Note that this release DOES
+ include the fixes for the security bugs already fixed in 0.4.5.7.)
+
+ o Major features (control port, onion services):
+ - Add controller support for creating version 3 onion services with
+ client authorization. Previously, only v2 onion services could be
+ created with client authorization. Closes ticket 40084. Patch by
+ Neel Chauhan.
+
+ o Major features (directory authority):
+ - When voting on a relay with a Sybil-like appearance, add the Sybil
+ flag when clearing out the other flags. This lets a relay operator
+ know why their relay hasn't been included in the consensus. Closes
+ ticket 40255. Patch by Neel Chauhan.
+
+ o Major features (metrics):
+ - Relays now report how overloaded they are in their extrainfo
+ documents. This information is controlled with the
+ OverloadStatistics torrc option, and it will be used to improve
+ decisions about the network's load balancing. Implements proposal
+ 328; closes ticket 40222.
+
+ o Major features (relay, denial of service):
+ - Add a new DoS subsystem feature to control the rate of client
+ connections for relays. Closes ticket 40253.
+
+ o Major features (statistics):
+ - Relays now publish statistics about the number of v3 onion
+ services and volume of v3 onion service traffic, in the same
+ manner they already do for v2 onions. Closes ticket 23126.
+
+ o Major bugfixes (circuit build timeout):
+ - Improve the accuracy of our circuit build timeout calculation for
+ 60%, 70%, and 80% build rates for various guard choices. We now
+ use a maximum likelihood estimator for Pareto parameters of the
+ circuit build time distribution, instead of a "right-censored
+ estimator". This causes clients to ignore circuits that never
+ finish building in their timeout calculations. Previously, clients
+ were counting such unfinished circuits as having the highest
+ possible build time value, when in reality these circuits most
+ likely just contain relays that are offline. We also now wait a
+ bit longer to let circuits complete for measurement purposes,
+ lower the minimum possible effective timeout from 1.5 seconds to
+ 10ms, and increase the resolution of the circuit build time
+ histogram from 50ms bin widths to 10ms bin widths. Additionally,
+ we alter our estimate Xm by taking the maximum of the top 10 most
+ common build time values of the 10ms histogram, and compute Xm as
+ the average of these. Fixes bug 40168; bugfix on 0.2.2.14-alpha.
+ - Remove max_time calculation and associated warning from circuit
+ build timeout 'alpha' parameter estimation, as this is no longer
+ needed by our new estimator from 40168. Fixes bug 34088; bugfix
+ on 0.2.2.9-alpha.
+
+ o Major bugfixes (signing key):
+ - In the tor-gencert utility, give an informative error message if
+ the passphrase given in `--create-identity-key` is too short.
+ Fixes bug 40189; bugfix on 0.2.0.1-alpha. Patch by Neel Chauhan.
+
+ o Minor features (bridge):
+ - We now announce the URL to Tor's new bridge status at
+ https://bridges.torproject.org/ when Tor is configured to run as a
+ bridge relay. Closes ticket 30477.
+
+ o Minor features (build system):
+ - New "make lsp" command to auto generate the compile_commands.json
+ file used by the ccls server. The "bear" program is needed for
+ this. Closes ticket 40227.
+
+ o Minor features (command-line interface):
+ - Add build informations to `tor --version` in order to ease
+ reproducible builds. Closes ticket 32102.
+ - When parsing command-line flags that take an optional argument,
+ treat the argument as absent if it would start with a '-'
+ character. Arguments in that form are not intelligible for any of
+ our optional-argument flags. Closes ticket 40223.
+ - Allow a relay operator to list the ed25519 keys on the command
+ line by adding the `rsa` and `ed25519` arguments to the
+ --list-fingerprint flag to show the respective RSA and ed25519
+ relay fingerprint. Closes ticket 33632. Patch by Neel Chauhan.
+
+ o Minor features (control port, stream handling):
+ - Add the stream ID to the event line in the ADDRMAP control event.
+ Closes ticket 40249. Patch by Neel Chauhan.
+
+ o Minor features (dormant mode):
+ - Add a new 'DormantTimeoutEnabled' option for coarse-grained
+ control over whether the client can become dormant from
+ inactivity. Most people won't need this. Closes ticket 40228.
+
+ o Minor features (logging):
+ - Change the DoS subsystem heartbeat line format to be more clear on
+ what has been detected/rejected, and which option is disabled (if
+ any). Closes ticket 40308.
+ - In src/core/mainloop/mainloop.c and src/core/mainloop/connection.c,
+ put brackets around IPv6 addresses in log messages. Closes ticket
+ 40232. Patch by Neel Chauhan.
+
+ o Minor features (performance, windows):
+ - Use SRWLocks to implement locking on Windows. Replaces the
+ "critical section" locking implementation with the faster
+ SRWLocks, available since Windows Vista. Closes ticket 17927.
+ Patch by Daniel Pinto.
+
+ o Minor features (protocol, proxy support, defense in depth):
+ - Close HAProxy connections if they somehow manage to send us data
+ before we start reading. Closes another case of ticket 40017.
+
+ o Minor features (tests, portability):
+ - Port the hs_build_address.py test script to work with recent
+ versions of python. Closes ticket 40213. Patch from
+ Samanta Navarro.
+
+ o Minor features (vote document):
+ - Add a "stats" line to directory authority votes, to report various
+ statistics that authorities compute about the relays. This will
+ help us diagnose the network better. Closes ticket 40314.
+
+ o Minor bugfixes (build):
+ - The configure script now shows whether or not lzma and zstd have
+ been used, not just if the enable flag was passed in. Fixes bug
+ 40236; bugfix on 0.4.3.1-alpha.
+
+ o Minor bugfixes (compatibility):
+ - Fix a failure in the test cases when running on the "hppa"
+ architecture, along with a related test that might fail on other
+ architectures in the future. Fixes bug 40274; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (controller):
+ - Fix a "BUG" warning that would appear when a controller chooses
+ the first hop for a circuit, and that circuit completes. Fixes bug
+ 40285; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (directory authorities, voting):
+ - Add a new consensus method (31) to support any future changes that
+ authorities decide to make to the value of bwweightscale or
+ maxunmeasuredbw. Previously, there was a bug that prevented the
+ authorities from parsing these consensus parameters correctly under
+ most circumstances. Fixes bug 19011; bugfix on 0.2.2.10-alpha.
+
+ o Minor bugfixes (ipv6):
+ - Allow non-SOCKSPorts to disable IPv4, IPv6, and PreferIPv4. Some
+ rare configurations might break, but in this case you can disable
+ NoIPv4Traffic and NoIPv6Traffic as needed. Fixes bug 33607; bugfix
+ on 0.4.1.1-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (key generation):
+ - Do not require a valid torrc when using the `--keygen` argument to
+ generate a signing key. This allows us to generate keys on systems
+ or users which may not run Tor. Fixes bug 40235; bugfix on
+ 0.2.7.2-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (onion services, logging):
+ - Downgrade the severity of a few rendezvous circuit-related
+ warnings from warning to info. Fixes bug 40207; bugfix on
+ 0.3.2.1-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (relay):
+ - Reduce the compression level for data streaming from HIGH to LOW.
+ This should reduce the CPU and memory burden for directory caches.
+ Fixes bug 40301; bugfix on 0.3.5.1-alpha.
+
+ o Code simplification and refactoring:
+ - Remove the orconn_ext_or_id_map structure and related functions.
+ (Nothing outside of unit tests used them.) Closes ticket 33383.
+ Patch by Neel Chauhan.
+
+ o Removed features:
+ - As of this release, Tor no longer supports the old v2 onion
+ services. They were deprecated last July for security, and support
+ will be removed entirely later this year. We strongly encourage
+ everybody to migrate to v3 onion services. For more information,
+ see https://blog.torproject.org/v2-deprecation-timeline . Closes
+ ticket 40266. (NOTE: We accidentally released an earlier version
+ of the 0.4.6.1-alpha changelog without this entry. Sorry for
+ the confusion!)
+
+ o Code simplification and refactoring (metrics, DoS):
+ - Move the DoS subsystem into the subsys manager, including its
+ configuration options. Closes ticket 40261.
+
+ o Removed features (relay):
+ - Because DirPorts are only used on authorities, relays no longer
+ advertise them. Similarly, self-testing for DirPorts has been
+ disabled, since an unreachable DirPort is no reason for a relay
+ not to advertise itself. (Configuring a DirPort will still work,
+ for now.) Closes ticket 40282.
+
+
+Changes in version 0.3.5.14 - 2021-03-16
+ Tor 0.3.5.14 backports fixes for two important denial-of-service bugs
+ in earlier versions of Tor.
+
+ One of these vulnerabilities (TROVE-2021-001) would allow an attacker
+ who can send directory data to a Tor instance to force that Tor
+ instance to consume huge amounts of CPU. This is easiest to exploit
+ against authorities, since anybody can upload to them, but directory
+ caches could also exploit this vulnerability against relays or clients
+ when they download. The other vulnerability (TROVE-2021-002) only
+ affects directory authorities, and would allow an attacker to remotely
+ crash the authority with an assertion failure. Patches have already
+ been provided to the authority operators, to help ensure
+ network stability.
+
+ We recommend that everybody upgrade to one of the releases that fixes
+ these issues (0.3.5.14, 0.4.4.8, or 0.4.5.7) as they become available
+ to you.
+
+ This release also updates our GeoIP data source, and fixes a
+ compatibility issue.
+
+ o Major bugfixes (security, denial of service, backport from 0.4.5.7):
+ - Disable the dump_desc() function that we used to dump unparseable
+ information to disk. It was called incorrectly in several places,
+ in a way that could lead to excessive CPU usage. Fixes bug 40286;
+ bugfix on 0.2.2.1-alpha. This bug is also tracked as TROVE-2021-
+ 001 and CVE-2021-28089.
+ - Fix a bug in appending detached signatures to a pending consensus
+ document that could be used to crash a directory authority. Fixes
+ bug 40316; bugfix on 0.2.2.6-alpha. Tracked as TROVE-2021-002
+ and CVE-2021-28090.
+
+ o Minor features (geoip data, backport from 0.4.5.7):
+ - We have switched geoip data sources. Previously we shipped IP-to-
+ country mappings from Maxmind's GeoLite2, but in 2019 they changed
+ their licensing terms, so we were unable to update them after that
+ point. We now ship geoip files based on the IPFire Location
+ Database instead. (See https://location.ipfire.org/ for more
+ information). This release updates our geoip files to match the
+ IPFire Location Database as retrieved on 2021/03/12. Closes
+ ticket 40224.
+
+ o Removed features (mallinfo deprecated, backport from 0.4.5.7):
+ - Remove mallinfo() usage entirely. Libc 2.33+ now deprecates it.
+ Closes ticket 40309.
+
+
+Changes in version 0.4.4.8 - 2021-03-16
+ Tor 0.4.4.8 backports fixes for two important denial-of-service bugs
+ in earlier versions of Tor.
+
+ One of these vulnerabilities (TROVE-2021-001) would allow an attacker
+ who can send directory data to a Tor instance to force that Tor
+ instance to consume huge amounts of CPU. This is easiest to exploit
+ against authorities, since anybody can upload to them, but directory
+ caches could also exploit this vulnerability against relays or clients
+ when they download. The other vulnerability (TROVE-2021-002) only
+ affects directory authorities, and would allow an attacker to remotely
+ crash the authority with an assertion failure. Patches have already
+ been provided to the authority operators, to help ensure
+ network stability.
+
+ We recommend that everybody upgrade to one of the releases that fixes
+ these issues (0.3.5.14, 0.4.4.8, or 0.4.5.7) as they become available
+ to you.
+
+ This release also updates our GeoIP data source, and fixes a
+ compatibility issue.
+
+ o Major bugfixes (security, denial of service, backport from 0.4.5.7):
+ - Disable the dump_desc() function that we used to dump unparseable
+ information to disk. It was called incorrectly in several places,
+ in a way that could lead to excessive CPU usage. Fixes bug 40286;
+ bugfix on 0.2.2.1-alpha. This bug is also tracked as TROVE-2021-
+ 001 and CVE-2021-28089.
+ - Fix a bug in appending detached signatures to a pending consensus
+ document that could be used to crash a directory authority. Fixes
+ bug 40316; bugfix on 0.2.2.6-alpha. Tracked as TROVE-2021-002
+ and CVE-2021-28090.
+
+ o Minor features (geoip data, backport from 0.4.5.7):
+ - We have switched geoip data sources. Previously we shipped IP-to-
+ country mappings from Maxmind's GeoLite2, but in 2019 they changed
+ their licensing terms, so we were unable to update them after that
+ point. We now ship geoip files based on the IPFire Location
+ Database instead. (See https://location.ipfire.org/ for more
+ information). This release updates our geoip files to match the
+ IPFire Location Database as retrieved on 2021/03/12. Closes
+ ticket 40224.
+
+ o Removed features (mallinfo deprecated, backport from 0.4.5.7):
+ - Remove mallinfo() usage entirely. Libc 2.33+ now deprecates it.
+ Closes ticket 40309.
+
+
+Changes in version 0.4.5.7 - 2021-03-16
+ Tor 0.4.5.7 fixes two important denial-of-service bugs in earlier
+ versions of Tor.
+
+ One of these vulnerabilities (TROVE-2021-001) would allow an attacker
+ who can send directory data to a Tor instance to force that Tor
+ instance to consume huge amounts of CPU. This is easiest to exploit
+ against authorities, since anybody can upload to them, but directory
+ caches could also exploit this vulnerability against relays or clients
+ when they download. The other vulnerability (TROVE-2021-002) only
+ affects directory authorities, and would allow an attacker to remotely
+ crash the authority with an assertion failure. Patches have already
+ been provided to the authority operators, to help ensure
+ network stability.
+
+ We recommend that everybody upgrade to one of the releases that fixes
+ these issues (0.3.5.14, 0.4.4.8, or 0.4.5.7) as they become available
+ to you.
+
+ This release also updates our GeoIP data source, and fixes a few
+ smaller bugs in earlier releases.
+
+ o Major bugfixes (security, denial of service):
+ - Disable the dump_desc() function that we used to dump unparseable
+ information to disk. It was called incorrectly in several places,
+ in a way that could lead to excessive CPU usage. Fixes bug 40286;
+ bugfix on 0.2.2.1-alpha. This bug is also tracked as TROVE-2021-
+ 001 and CVE-2021-28089.
+ - Fix a bug in appending detached signatures to a pending consensus
+ document that could be used to crash a directory authority. Fixes
+ bug 40316; bugfix on 0.2.2.6-alpha. Tracked as TROVE-2021-002
+ and CVE-2021-28090.
+
+ o Minor features (geoip data):
+ - We have switched geoip data sources. Previously we shipped IP-to-
+ country mappings from Maxmind's GeoLite2, but in 2019 they changed
+ their licensing terms, so we were unable to update them after that
+ point. We now ship geoip files based on the IPFire Location
+ Database instead. (See https://location.ipfire.org/ for more
+ information). This release updates our geoip files to match the
+ IPFire Location Database as retrieved on 2021/03/12. Closes
+ ticket 40224.
+
+ o Minor bugfixes (directory authority):
+ - Now that exit relays don't allow exit connections to directory
+ authority DirPorts (to prevent network reentry), disable
+ authorities' reachability self test on the DirPort. Fixes bug
+ 40287; bugfix on 0.4.5.5-rc.
+
+ o Minor bugfixes (documentation):
+ - Fix a formatting error in the documentation for
+ VirtualAddrNetworkIPv6. Fixes bug 40256; bugfix on 0.2.9.4-alpha.
+
+ o Minor bugfixes (Linux, relay):
+ - Fix a bug in determining total available system memory that would
+ have been triggered if the format of Linux's /proc/meminfo file
+ had ever changed to include "MemTotal:" in the middle of a line.
+ Fixes bug 40315; bugfix on 0.2.5.4-alpha.
+
+ o Minor bugfixes (metrics port):
+ - Fix a BUG() warning on the MetricsPort for an internal missing
+ handler. Fixes bug 40295; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (onion service):
+ - Remove a harmless BUG() warning when reloading tor configured with
+ onion services. Fixes bug 40334; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (portability):
+ - Fix a non-portable usage of "==" with "test" in the configure
+ script. Fixes bug 40298; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (relay):
+ - Remove a spammy log notice falsely claiming that the IPv4/v6
+ address was missing. Fixes bug 40300; bugfix on 0.4.5.1-alpha.
+ - Do not query the address cache early in the boot process when
+ deciding if a relay needs to fetch early directory information
+ from an authority. This bug resulted in a relay falsely believing
+ it didn't have an address and thus triggering an authority fetch
+ at each boot. Related to our fix for 40300.
+
+ o Removed features (mallinfo deprecated):
+ - Remove mallinfo() usage entirely. Libc 2.33+ now deprecates it.
+ Closes ticket 40309.
+
+
+Changes in version 0.4.5.6 - 2021-02-15
+ The Tor 0.4.5.x release series is dedicated to the memory of Karsten
+ Loesing (1979-2020), Tor developer, cypherpunk, husband, and father.
+ Karsten is best known for creating the Tor metrics portal and leading
+ the metrics team, but he was involved in Tor from the early days. For
+ example, while he was still a student he invented and implemented the
+ v2 onion service directory design, and he also served as an ambassador
+ to the many German researchers working in the anonymity field. We
+ loved him and respected him for his patience, his consistency, and his
+ welcoming approach to growing our community.
+
+ This release series introduces significant improvements in relay IPv6
+ address discovery, a new "MetricsPort" mechanism for relay operators
+ to measure performance, LTTng support, build system improvements to
+ help when using Tor as a static library, and significant bugfixes
+ related to Windows relay performance. It also includes numerous
+ smaller features and bugfixes.
+
+ Below are the changes since 0.4.4.4-rc. For a complete list of changes
+ since 0.4.4.7, see the ReleaseNotes file.
+
+ o Major bugfixes (IPv6, relay):
+ - Fix a bug that prevented a relay from publishing its descriptor if
+ an auto-discovered IPv6 that was found unreachable. Fixes bug
+ 40279; bugfix on 0.4.5.1-alpha.
+
+ o Minor features (protocol versions):
+ - Stop claiming to support the "DirCache=1" subprotocol version.
+ Technically, we stopped supporting this subprotocol back in
+ 0.4.5.1-alpha, but we needed to wait for the authorities to stop
+ listing it as "required" before we could drop it from the list.
+ Closes ticket 40221.
+
+ o Minor bugfixes (logging):
+ - Avoid a spurious log message about missing subprotocol versions,
+ when the consensus that we're reading from is older than the
+ current release. Previously we had made this message nonfatal, but
+ in practice, it is never relevant when the consensus is older than
+ the current release. Fixes bug 40281; bugfix on 0.4.0.1-alpha.
+
+ o Minor bugfixes (metrics port):
+ - Fix a bug warning when a metrics port socket was unexpectedly
+ closed. Fixes bug 40257; bugfix on 0.4.5.1-alpha
+
+ o Minor bugfixes (relay):
+ - Allow relays to have a RFC1918 address if PublishServerDescriptor
+ is set to 0 and AssumeReachable is set to 1. This is to support
+ the use case of a bridge on a local network, exposed via a
+ pluggable transport. Fixes bug 40208; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (relay, config):
+ - Fix a problem in the removal of duplicate ORPorts from the
+ internal port list when loading the config file. We were removing
+ the wrong ports, breaking valid torrc uses cases for multiple
+ ORPorts of the same address family. Fixes bug 40289; bugfix
+ on 0.4.5.1-alpha.
+
+
+Changes in version 0.4.4.7 - 2021-02-03
+ Tor 0.4.4.7 backports numerous bugfixes from later releases,
+ including one that made v3 onion services more susceptible to
+ denial-of-service attacks, and a feature that makes some kinds of
+ DoS attacks harder to perform.
+
+ o Major bugfixes (onion service v3, backport from 0.4.5.3-rc):
+ - Stop requiring a live consensus for v3 clients and services, and
+ allow a "reasonably live" consensus instead. This allows v3 onion
+ services to work even if the authorities fail to generate a
+ consensus for more than 2 hours in a row. Fixes bug 40237; bugfix
+ on 0.3.5.1-alpha.
+
+ o Major feature (exit, backport from 0.4.5.5-rc):
+ - Re-entry into the network is now denied at the Exit level to all
+ relays' ORPorts and authorities' ORPorts and DirPorts. This change
+ should help mitgate a set of denial-of-service attacks. Closes
+ ticket 2667.
+
+ o Minor feature (build system, backport from 0.4.5.4-rc):
+ - New "make lsp" command to generate the compile_commands.json file
+ used by the ccls language server. The "bear" program is needed for
+ this. Closes ticket 40227.
+
+ o Minor features (compilation, backport from 0.4.5.2-rc):
+ - Disable deprecation warnings when building with OpenSSL 3.0.0 or
+ later. There are a number of APIs newly deprecated in OpenSSL
+ 3.0.0 that Tor still requires. (A later version of Tor will try to
+ stop depending on these APIs.) Closes ticket 40165.
+
+ o Minor features (crypto, backport from 0.4.5.3-rc):
+ - Fix undefined behavior on our Keccak library. The bug only
+ appeared on platforms with 32-byte CPU cache lines (e.g. armv5tel)
+ and would result in wrong digests. Fixes bug 40210; bugfix on
+ 0.2.8.1-alpha. Thanks to Bernhard Übelacker, Arnd Bergmann and
+ weasel for diagnosing this.
+
+ o Minor bugfixes (compatibility, backport from 0.4.5.1-rc):
+ - Strip '\r' characters when reading text files on Unix platforms.
+ This should resolve an issue where a relay operator migrates a
+ relay from Windows to Unix, but does not change the line ending of
+ Tor's various state files to match the platform, and the CRLF line
+ endings from Windows end up leaking into other files such as the
+ extra-info document. Fixes bug 33781; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (compilation, backport from 0.4.5.3-rc):
+ - Fix a compilation warning about unreachable fallthrough
+ annotations when building with "--enable-all-bugs-are-fatal" on
+ some compilers. Fixes bug 40241; bugfix on 0.3.5.4-alpha.
+
+ o Minor bugfixes (SOCKS5, backport from 0.4.5.3-rc):
+ - Handle partial SOCKS5 messages correctly. Previously, our code
+ would send an incorrect error message if it got a SOCKS5 request
+ that wasn't complete. Fixes bug 40190; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (testing, backport from 0.4.5.2-alpha):
+ - Fix the `config/parse_tcp_proxy_line` test so that it works
+ correctly on systems where the DNS provider hijacks invalid
+ queries. Fixes part of bug 40179; bugfix on 0.4.3.1-alpha.
+ - Fix our Python reference-implementation for the v3 onion service
+ handshake so that it works correctly with the version of hashlib
+ provided by Python 3.9. Fixes part of bug 40179; bugfix
+ on 0.3.1.6-rc.
+ - Fix the `tortls/openssl/log_one_error` test to work with OpenSSL
+ 3.0.0. Fixes bug 40170; bugfix on 0.2.8.1-alpha.
+
+
+Changes in version 0.4.3.8 - 2021-02-03
+ Tor 0.4.3.8 backports numerous bugfixes from later releases,
+ including one that made v3 onion services more susceptible to
+ denial-of-service attacks, and a feature that makes some kinds of
+ DoS attacks harder to perform.
+
+ Note that this is, in all likelihood, the last release of Tor 0.4.3.x,
+ which will reach end-of-life on 15 Feb 2021.
+
+ o Major bugfixes (onion service v3, backport from 0.4.5.3-rc):
+ - Stop requiring a live consensus for v3 clients and services, and
+ allow a "reasonably live" consensus instead. This allows v3 onion
+ services to work even if the authorities fail to generate a
+ consensus for more than 2 hours in a row. Fixes bug 40237; bugfix
+ on 0.3.5.1-alpha.
+
+ o Major bugfixes (stats, onion services, backport from 0.4.4.5):
+ - Fix a bug where we were undercounting the Tor network's total
+ onion service traffic, by ignoring any traffic originating from
+ clients. Now we count traffic from both clients and services.
+ Fixes bug 40117; bugfix on 0.2.6.2-alpha.
+
+ o Major feature (exit, backport from 0.4.5.5-rc):
+ - Re-entry into the network is now denied at the Exit level to all
+ relays' ORPorts and authorities' ORPorts and DirPorts. This change
+ should help mitgate a set of denial-of-service attacks. Closes
+ ticket 2667.
+
+ o Minor feature (build system, backport from 0.4.5.4-rc):
+ - New "make lsp" command to generate the compile_commands.json file
+ used by the ccls language server. The "bear" program is needed for
+ this. Closes ticket 40227.
+
+ o Minor features (compilation, backport from 0.4.5.2-rc):
+ - Disable deprecation warnings when building with OpenSSL 3.0.0 or
+ later. There are a number of APIs newly deprecated in OpenSSL
+ 3.0.0 that Tor still requires. (A later version of Tor will try to
+ stop depending on these APIs.) Closes ticket 40165.
+
+ o Minor features (crypto, backport from 0.4.5.3-rc):
+ - Fix undefined behavior on our Keccak library. The bug only
+ appeared on platforms with 32-byte CPU cache lines (e.g. armv5tel)
+ and would result in wrong digests. Fixes bug 40210; bugfix on
+ 0.2.8.1-alpha. Thanks to Bernhard Übelacker, Arnd Bergmann and
+ weasel for diagnosing this.
+
+ o Minor bugfixes (compatibility, backport from 0.4.5.1-rc):
+ - Strip '\r' characters when reading text files on Unix platforms.
+ This should resolve an issue where a relay operator migrates a
+ relay from Windows to Unix, but does not change the line ending of
+ Tor's various state files to match the platform, and the CRLF line
+ endings from Windows end up leaking into other files such as the
+ extra-info document. Fixes bug 33781; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (compilation, backport from 0.4.5.1-rc):
+ - Resolve a compilation warning that could occur in
+ test_connection.c. Fixes bug 40113; bugfix on 0.2.9.3-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.4.5.3-rc):
+ - Fix a compilation warning about unreachable fallthrough
+ annotations when building with "--enable-all-bugs-are-fatal" on
+ some compilers. Fixes bug 40241; bugfix on 0.3.5.4-alpha.
+
+ o Minor bugfixes (SOCKS5, backport from 0.4.5.3-rc):
+ - Handle partial SOCKS5 messages correctly. Previously, our code
+ would send an incorrect error message if it got a SOCKS5 request
+ that wasn't complete. Fixes bug 40190; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (testing, backport from 0.4.5.2-alpha):
+ - Fix the `config/parse_tcp_proxy_line` test so that it works
+ correctly on systems where the DNS provider hijacks invalid
+ queries. Fixes part of bug 40179; bugfix on 0.4.3.1-alpha.
+ - Fix our Python reference-implementation for the v3 onion service
+ handshake so that it works correctly with the version of hashlib
+ provided by Python 3.9. Fixes part of bug 40179; bugfix
+ on 0.3.1.6-rc.
+ - Fix the `tortls/openssl/log_one_error` test to work with OpenSSL
+ 3.0.0. Fixes bug 40170; bugfix on 0.2.8.1-alpha.
+
+
+Changes in version 0.3.5.13 - 2020-02-03
+ Tor 0.3.5.13 backports numerous bugfixes from later releases,
+ including one that made v3 onion services more susceptible to
+ denial-of-service attacks, and a feature that makes some kinds of
+ DoS attacks harder to perform.
+
+ o Major bugfixes (onion service v3, backport from 0.4.5.3-rc):
+ - Stop requiring a live consensus for v3 clients and services, and
+ allow a "reasonably live" consensus instead. This allows v3 onion
+ services to work even if the authorities fail to generate a
+ consensus for more than 2 hours in a row. Fixes bug 40237; bugfix
+ on 0.3.5.1-alpha.
+
+ o Major bugfixes (stats, onion services, backport from 0.4.4.5):
+ - Fix a bug where we were undercounting the Tor network's total
+ onion service traffic, by ignoring any traffic originating from
+ clients. Now we count traffic from both clients and services.
+ Fixes bug 40117; bugfix on 0.2.6.2-alpha.
+
+ o Major feature (exit, backport from 0.4.5.5-rc):
+ - Re-entry into the network is now denied at the Exit level to all
+ relays' ORPorts and authorities' ORPorts and DirPorts. This change
+ should help mitigate a set of denial-of-service attacks. Closes
+ ticket 2667.
+
+ o Minor feature (build system, backport from 0.4.5.4-rc):
+ - New "make lsp" command to generate the compile_commands.json file
+ used by the ccls language server. The "bear" program is needed for
+ this. Closes ticket 40227.
+
+ o Minor features (compilation, backport from 0.4.5.2-rc):
+ - Disable deprecation warnings when building with OpenSSL 3.0.0 or
+ later. There are a number of APIs newly deprecated in OpenSSL
+ 3.0.0 that Tor still requires. (A later version of Tor will try to
+ stop depending on these APIs.) Closes ticket 40165.
+
+ o Minor features (crypto, backport from 0.4.5.3-rc):
+ - Fix undefined behavior on our Keccak library. The bug only
+ appeared on platforms with 32-byte CPU cache lines (e.g. armv5tel)
+ and would result in wrong digests. Fixes bug 40210; bugfix on
+ 0.2.8.1-alpha. Thanks to Bernhard Übelacker, Arnd Bergmann and
+ weasel for diagnosing this.
+
+ o Minor bugfixes (compatibility, backport from 0.4.5.1-rc):
+ - Strip '\r' characters when reading text files on Unix platforms.
+ This should resolve an issue where a relay operator migrates a
+ relay from Windows to Unix, but does not change the line ending of
+ Tor's various state files to match the platform, and the CRLF line
+ endings from Windows end up leaking into other files such as the
+ extra-info document. Fixes bug 33781; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (compilation, backport from 0.4.5.1-rc):
+ - Resolve a compilation warning that could occur in
+ test_connection.c. Fixes bug 40113; bugfix on 0.2.9.3-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.4.5.3-rc):
+ - Fix a compilation warning about unreachable fallthrough
+ annotations when building with "--enable-all-bugs-are-fatal" on
+ some compilers. Fixes bug 40241; bugfix on 0.3.5.4-alpha.
+
+ o Minor bugfixes (SOCKS5, backport from 0.4.5.3-rc):
+ - Handle partial SOCKS5 messages correctly. Previously, our code
+ would send an incorrect error message if it got a SOCKS5 request
+ that wasn't complete. Fixes bug 40190; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (testing, backport from 0.4.5.2-alpha):
+ - Fix our Python reference-implementation for the v3 onion service
+ handshake so that it works correctly with the version of hashlib
+ provided by Python 3.9. Fixes part of bug 40179; bugfix
+ on 0.3.1.6-rc.
+ - Fix the `tortls/openssl/log_one_error` test to work with OpenSSL
+ 3.0.0. Fixes bug 40170; bugfix on 0.2.8.1-alpha.
+
+
+Changes in version 0.4.5.5-rc - 2021-02-01
+ Tor 0.4.5.5-rc is the third release candidate in its series. We're
+ coming closer and closer to a stable release series. This release
+ fixes an annoyance with address detection code, and somewhat mitigates
+ an ongoing denial-of-service attack.
+
+ We anticipate no more code changes between this and the stable
+ release, though of course that could change.
+
+ o Major feature (exit):
+ - Re-entry into the network is now denied at the Exit level to all
+ relays' ORPorts and authorities' ORPorts and DirPorts. This change
+ should help mitgate a set of denial-of-service attacks. Closes
+ ticket 2667.
+
+ o Minor bugfixes (relay, configuration):
+ - Don't attempt to discover our address (IPv4 or IPv6) if no ORPort
+ for it can be found in the configuration. Fixes bug 40254; bugfix
+ on 0.4.5.1-alpha.
+
+
+Changes in version 0.4.5.4-rc - 2021-01-22
+ Tor 0.4.5.4-rc is the second release candidate in its series. It fixes
+ several bugs present in previous releases.
+
+ We expect that the stable release will be the same, or almost the
+ same, as this release candidate, unless serious bugs are found.
+
+ o Major bugfixes (authority, IPv6):
+ - Do not consider multiple relays in the same IPv6 /64 network to be
+ sybils. Fixes bug 40243; bugfix on 0.4.5.1-alpha.
+
+ o Major bugfixes (directory cache, performance, windows):
+ - Limit the number of items in the consensus diff cache to 64 on
+ Windows. We hope this will mitigate an issue where Windows relay
+ operators reported Tor using 100% CPU, while we investigate better
+ solutions. Fixes bug 24857; bugfix on 0.3.1.1-alpha.
+
+ o Minor feature (build system):
+ - New "make lsp" command to generate the compile_commands.json file
+ used by the ccls language server. The "bear" program is needed for
+ this. Closes ticket 40227.
+
+ o Minor features (authority, logging):
+ - Log more information for directory authority operators during the
+ consensus voting process, and while processing relay descriptors.
+ Closes ticket 40245.
+ - Reject obsolete router/extrainfo descriptors earlier and more
+ quietly, to avoid spamming the logs. Fixes bug 40238; bugfix
+ on 0.4.5.1-alpha.
+
+ o Minor bugfixes (compilation):
+ - Fix another warning about unreachable fallthrough annotations when
+ building with "--enable-all-bugs-are-fatal" on some compilers.
+ Fixes bug 40241; bugfix on 0.4.5.3-rc.
+ - Change the linker flag ordering in our library search code so that
+ it works for compilers that need the libraries to be listed in the
+ right order. Fixes bug 33624; bugfix on 0.1.1.0-alpha.
+
+ o Minor bugfixes (config, bridge):
+ - Don't initiate a connection to a bridge configured to use a
+ missing transport. This change reverts an earlier fix that would
+ try to avoid such situations during configuration chcecking, but
+ which doesn't work with DisableNetwork. Fixes bug 40106; bugfix
+ on 0.4.5.1-alpha.
+
+ o Minor bugfixes (onion services):
+ - Avoid a non-fatal assertion in certain edge-cases when
+ establishing a circuit to an onion service. Fixes bug 32666;
+ bugfix on 0.3.0.3-alpha.
+
+ o Minor bugfixes (relay):
+ - If we were unable to build our descriptor, don't mark it as having
+ been advertised. Also remove an harmless BUG(). Fixes bug 40231;
+ bugfix on 0.4.5.1-alpha.
+
+
+Changes in version 0.4.5.3-rc - 2021-01-12
+ Tor 0.4.5.3-rc is the first release candidate in its series. It fixes
+ several bugs, including one that broke onion services on certain older
+ ARM CPUs, and another that made v3 onion services less reliable.
+
+ Though we anticipate that we'll be doing a bit more clean-up between
+ now and the stable release, we expect that our remaining changes will
+ be fairly simple. There will be at least one more release candidate
+ before 0.4.5.x is stable.
+
+ o Major bugfixes (onion service v3):
+ - Stop requiring a live consensus for v3 clients and services, and
+ allow a "reasonably live" consensus instead. This allows v3 onion
+ services to work even if the authorities fail to generate a
+ consensus for more than 2 hours in a row. Fixes bug 40237; bugfix
+ on 0.3.5.1-alpha.
+
+ o Minor features (crypto):
+ - Fix undefined behavior on our Keccak library. The bug only
+ appeared on platforms with 32-byte CPU cache lines (e.g. armv5tel)
+ and would result in wrong digests. Fixes bug 40210; bugfix on
+ 0.2.8.1-alpha. Thanks to Bernhard Übelacker, Arnd Bergmann and
+ weasel for diagnosing this.
+
+ o Minor features (documentation):
+ - Mention the "!badexit" directive that can appear in an authority's
+ approved-routers file, and update the description of the
+ "!invalid" directive. Closes ticket 40188.
+
+ o Minor bugfixes (compilation):
+ - Fix a compilation warning about unreachable fallthrough
+ annotations when building with "--enable-all-bugs-are-fatal" on
+ some compilers. Fixes bug 40241; bugfix on 0.3.5.4-alpha.
+ - Fix the "--enable-static-tor" switch to properly set the "-static"
+ compile option onto the tor binary only. Fixes bug 40111; bugfix
+ on 0.2.3.1-alpha.
+
+ o Minor bugfixes (config, bridge):
+ - Really fix the case where torrc has a missing ClientTransportPlugin
+ but is configured with a Bridge line and UseBridges. Previously,
+ we didn't look at the managed proxy list and thus would fail for
+ the "exec" case. Fixes bug 40106; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (logging, relay):
+ - Log our address as reported by the directory authorities, if none
+ was configured or detected before. Fixes bug 40201; bugfix
+ on 0.4.5.1-alpha.
+ - When a launching bandwidth testing circuit, don't incorrectly call
+ it a reachability test, or trigger a "CHECKING_REACHABILITY"
+ control event. Fixes bug 40205; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (relay, statistics):
+ - Report the correct connection statistics in our extrainfo
+ documents. Previously there was a problem in the file loading
+ function which would wrongly truncate a state file, causing the
+ wrong information to be reported. Fixes bug 40226; bugfix
+ on 0.4.5.1-alpha.
+
+ o Minor bugfixes (SOCKS5):
+ - Handle partial SOCKS5 messages correctly. Previously, our code
+ would send an incorrect error message if it got a SOCKS5 request
+ that wasn't complete. Fixes bug 40190; bugfix on 0.3.5.1-alpha.
+
+
+Changes in version 0.4.5.2-alpha - 2020-11-23
+ Tor 0.4.5.2-alpha is the second alpha release in the 0.4.5.x series.
+ It fixes several bugs present in earlier releases, including one that
+ made it impractical to run relays on Windows. It also adds a few small
+ safety features to improve Tor's behavior in the presence of strange
+ compile-time options, misbehaving proxies, and future versions
+ of OpenSSL.
+
+ o Major bugfixes (relay, windows):
+ - Fix a bug in our implementation of condition variables on Windows.
+ Previously, a relay on Windows would use 100% CPU after running
+ for some time. Because of this change, Tor now require Windows
+ Vista or later to build and run. Fixes bug 30187; bugfix on
+ 0.2.6.3-alpha. (This bug became more serious in 0.3.1.1-alpha with
+ the introduction of consensus diffs.) Patch by Daniel Pinto.
+
+ o Minor features (compilation):
+ - Disable deprecation warnings when building with OpenSSL 3.0.0 or
+ later. There are a number of APIs newly deprecated in OpenSSL
+ 3.0.0 that Tor still requires. (A later version of Tor will try to
+ stop depending on these APIs.) Closes ticket 40165.
+
+ o Minor features (protocol, proxy support, defense in depth):
+ - Respond more deliberately to misbehaving proxies that leave
+ leftover data on their connections, so as to make Tor even less
+ likely to allow the proxies to pass their data off as having come
+ from a relay. Closes ticket 40017.
+
+ o Minor features (safety):
+ - Log a warning at startup if Tor is built with compile-time options
+ that are likely to make it less stable or reliable. Closes
+ ticket 18888.
+
+ o Minor bugfixes (circuit, handshake):
+ - In the v3 handshaking code, use connection_or_change_state() to
+ change the state. Previously, we changed the state directly, but
+ this did not pass the state change to the pubsub or channel
+ objects, potentially leading to bugs. Fixes bug 32880; bugfix on
+ 0.2.3.6-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (compilation):
+ - Use the correct 'ranlib' program when building libtor.a.
+ Previously we used the default ranlib, which broke some kinds of
+ cross-compilation. Fixes bug 40172; bugfix on 0.4.5.1-alpha.
+ - Remove a duplicate typedef in metrics_store.c. Fixes bug 40177;
+ bugfix on 0.4.5.1-alpha.
+ - When USDT tracing is enabled, and STAP_PROBEV() is missing, don't
+ attempt to build. Linux supports that macro but not the BSDs.
+ Fixes bug 40174; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (configuration):
+ - Exit Tor on a misconfiguration when the Bridge line is configured
+ to use a transport but no corresponding ClientTransportPlugin can
+ be found. Prior to this fix, Tor would attempt to connect to the
+ bridge directly without using the transport, making it easier for
+ adversaries to notice the bridge. Fixes bug 25528; bugfix
+ on 0.2.6.1-alpha.
+ - Fix an issue where an ORPort was compared with other kinds of
+ ports, when it should have been only checked against other
+ ORPorts. This bug would lead to "DirPort auto" getting ignored.
+ Fixes bug 40195; bugfix on 0.4.5.1-alpha.
+ - Fix a bug where a second non-ORPort with a variant family (ex:
+ SocksPort [::1]:9050) would be ignored due to a configuration
+ parsing error. Fixes bug 40183; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (crash, relay, signing key):
+ - Avoid assertion failures when we run Tor from the command line
+ with `--key-expiration sign`, but an ORPort is not set. Fixes bug
+ 40015; bugfix on 0.3.2.1-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (logging):
+ - Remove trailing whitespace from control event log messages. Fixes
+ bug 32178; bugfix on 0.1.1.1-alpha. Based on a patch by
+ Amadeusz Pawlik.
+ - Turn warning-level log message about SENDME failure into a debug-
+ level message. (This event can happen naturally, and is no reason
+ for concern). Fixes bug 40142; bugfix on 0.4.1.1-alpha.
+
+ o Minor bugfixes (relay, address discovery):
+ - Don't trigger an IP change when no new valid IP can be found.
+ Fixes bug 40071; bugfix on 0.4.5.1-alpha.
+ - When attempting to discover our IP, use a simple test circuit,
+ rather than a descriptor fetch: the same address information is
+ present in NETINFO cells, and is better authenticated there. Fixes
+ bug 40071; bugfix on 0.4.5.1-alpha.
+
+ o Minor bugfixes (testing):
+ - Fix the `config/parse_tcp_proxy_line` test so that it works
+ correctly on systems where the DNS provider hijacks invalid
+ queries. Fixes part of bug 40179; bugfix on 0.4.3.1-alpha.
+ - Fix unit tests that used newly generated list of routers so that
+ they check them with respect to the date when they were generated,
+ not with respect to the current time. Fixes bug 40187; bugfix
+ on 0.4.5.1-alpha.
+ - Fix our Python reference-implementation for the v3 onion service
+ handshake so that it works correctly with the version of hashlib
+ provided by Python 3.9. Fixes part of bug 40179; bugfix
+ on 0.3.1.6-rc.
+ - Fix the `tortls/openssl/log_one_error` test to work with OpenSSL
+ 3.0.0. Fixes bug 40170; bugfix on 0.2.8.1-alpha.
+
+ o Removed features (controller):
+ - Remove the "GETINFO network-status" controller command. It has
+ been deprecated since 0.3.1.1-alpha. Closes ticket 22473.
+
+
Changes in version 0.4.4.6 - 2020-11-12
Tor 0.4.4.6 is the second stable release in the 0.4.4.x series. It
backports fixes from later releases, including a fix for TROVE-2020-
@@ -2764,7 +5149,7 @@ Changes in version 0.4.1.7 - 2019-12-09
uses mutexes. Fixes bug 31614; bugfix on 0.2.5.2-alpha.
- Disable backtrace signal handlers when shutting down tor. Fixes
bug 31614; bugfix on 0.2.5.2-alpha.
- - Rate-limit our the logging message about the obsolete .exit
+ - Rate-limit the logging message about the obsolete .exit
notation. Previously, there was no limit on this warning, which
could potentially be triggered many times by a hostile website.
Fixes bug 31466; bugfix on 0.2.2.1-alpha.
@@ -3067,7 +5452,7 @@ Changes in version 0.4.0.6 - 2019-12-09
on 0.1.1.10-alpha.
o Minor bugfixes (logging, backport from 0.4.2.2-alpha):
- - Rate-limit our the logging message about the obsolete .exit
+ - Rate-limit the logging message about the obsolete .exit
notation. Previously, there was no limit on this warning, which
could potentially be triggered many times by a hostile website.
Fixes bug 31466; bugfix on 0.2.2.1-alpha.
@@ -3101,7 +5486,7 @@ Changes in version 0.4.0.6 - 2019-12-09
o Minor bugfixes (onion services, backport from 0.4.1.1-alpha):
- Avoid a GCC 9.1.1 warning (and possible crash depending on libc
- implemenation) when failing to load an onion service client
+ implementation) when failing to load an onion service client
authorization file. Fixes bug 30475; bugfix on 0.3.5.1-alpha.
o Minor bugfixes (out-of-memory handler, backport from 0.4.1.2-alpha):
@@ -3493,7 +5878,7 @@ Changes in version 0.3.5.9 - 2019-12-09
on 0.1.1.10-alpha.
o Minor bugfixes (logging, backport from 0.4.2.2-alpha):
- - Rate-limit our the logging message about the obsolete .exit
+ - Rate-limit the logging message about the obsolete .exit
notation. Previously, there was no limit on this warning, which
could potentially be triggered many times by a hostile website.
Fixes bug 31466; bugfix on 0.2.2.1-alpha.
@@ -3531,7 +5916,7 @@ Changes in version 0.3.5.9 - 2019-12-09
o Minor bugfixes (onion services, backport from 0.4.1.1-alpha):
- Avoid a GCC 9.1.1 warning (and possible crash depending on libc
- implemenation) when failing to load an onion service client
+ implementation) when failing to load an onion service client
authorization file. Fixes bug 30475; bugfix on 0.3.5.1-alpha.
o Minor bugfixes (out-of-memory handler, backport from 0.4.1.2-alpha):
@@ -3911,7 +6296,7 @@ Changes in version 0.4.2.2-alpha - 2019-10-07
uses mutexes. Fixes bug 31614; bugfix on 0.2.5.2-alpha.
- Disable backtrace signal handlers when shutting down tor. Fixes
bug 31614; bugfix on 0.2.5.2-alpha.
- - Rate-limit our the logging message about the obsolete .exit
+ - Rate-limit the logging message about the obsolete .exit
notation. Previously, there was no limit on this warning, which
could potentially be triggered many times by a hostile website.
Fixes bug 31466; bugfix on 0.2.2.1-alpha.
@@ -4985,7 +7370,7 @@ Changes in version 0.4.1.1-alpha - 2019-05-22
o Minor bugfixes (onion services):
- Avoid a GCC 9.1.1 warning (and possible crash depending on libc
- implemenation) when failing to load an onion service client
+ implementation) when failing to load an onion service client
authorization file. Fixes bug 30475; bugfix on 0.3.5.1-alpha.
- When refusing to launch a controller's HSFETCH request because of
rate-limiting, respond to the controller with a new response,