aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog535
-rw-r--r--ReleaseNotes911
-rw-r--r--changes/bug123993
-rw-r--r--changes/bug226193
-rw-r--r--changes/bug235075
-rw-r--r--changes/bug23818_v26
-rw-r--r--changes/bug23818_v36
-rw-r--r--changes/bug290345
-rw-r--r--changes/bug298198
-rw-r--r--changes/bug303444
-rw-r--r--changes/bug306494
-rw-r--r--changes/bug307135
-rw-r--r--changes/bug307443
-rw-r--r--changes/bug307814
-rw-r--r--changes/bug308944
-rw-r--r--changes/bug309164
-rw-r--r--changes/bug309424
-rw-r--r--changes/bug309564
-rw-r--r--changes/bug310034
-rw-r--r--changes/bug310244
-rw-r--r--changes/bug310273
-rw-r--r--changes/bug31080_0414
-rw-r--r--changes/bug311074
-rw-r--r--changes/bug313439
-rw-r--r--changes/bug31356_and_logs11
-rw-r--r--changes/bug314085
-rw-r--r--changes/bug314633
-rw-r--r--changes/bug315525
-rw-r--r--changes/bug315705
-rw-r--r--changes/bug315717
-rw-r--r--changes/bug315945
-rw-r--r--changes/bug316149
-rw-r--r--changes/bug316575
-rw-r--r--changes/bug316965
-rw-r--r--changes/bug317363
-rw-r--r--changes/bug318104
-rw-r--r--changes/bug318375
-rw-r--r--changes/bug318843
-rw-r--r--changes/bug318973
-rw-r--r--changes/bug318984
-rw-r--r--changes/bug319393
-rw-r--r--changes/bug321088
-rw-r--r--changes/bug324495
-rw-r--r--changes/bug327533
-rw-r--r--changes/bug327783
-rw-r--r--changes/bug328414
-rw-r--r--changes/bug33093_logging5
-rw-r--r--changes/chutney_ci3
-rw-r--r--changes/doc306303
-rw-r--r--changes/doc310894
-rw-r--r--changes/geoip-2019-06-104
-rw-r--r--changes/geoip-2019-10-014
-rw-r--r--changes/geoip-2019-11-064
-rw-r--r--changes/geoip-2019-12-034
-rw-r--r--changes/ticket287955
-rw-r--r--changes/ticket289706
-rw-r--r--changes/ticket305913
-rw-r--r--changes/ticket306865
-rw-r--r--changes/ticket306943
-rw-r--r--changes/ticket308603
-rw-r--r--changes/ticket308716
-rw-r--r--changes/ticket310016
-rw-r--r--changes/ticket310913
-rw-r--r--changes/ticket313113
-rw-r--r--changes/ticket31372_appveyor4
-rw-r--r--changes/ticket31372_travis4
-rw-r--r--changes/ticket313744
-rw-r--r--changes/ticket314063
-rw-r--r--changes/ticket314665
-rw-r--r--changes/ticket315487
-rw-r--r--changes/ticket315494
-rw-r--r--changes/ticket315544
-rw-r--r--changes/ticket316733
-rw-r--r--changes/ticket31687_14
-rw-r--r--changes/ticket31687_25
-rw-r--r--changes/ticket317724
-rw-r--r--changes/ticket318593
-rw-r--r--changes/ticket31919_bionic5
-rw-r--r--changes/ticket320585
-rw-r--r--changes/ticket320863
-rw-r--r--changes/ticket322404
-rw-r--r--changes/ticket322412
-rw-r--r--changes/ticket322422
-rw-r--r--changes/ticket324074
-rw-r--r--changes/ticket325005
-rw-r--r--changes/ticket326294
-rw-r--r--changes/ticket327923
-rw-r--r--changes/ticket330754
-rw-r--r--changes/ticket331944
-rw-r--r--changes/ticket331954
-rw-r--r--changes/ticket332124
-rw-r--r--changes/ticket336195
-rw-r--r--changes/trove_2020_0034
93 files changed, 1441 insertions, 403 deletions
diff --git a/ChangeLog b/ChangeLog
index d44ce316c7..ddfdd75dcb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,530 @@
+Changes in version 0.4.1.9 - 2020-03-18
+ Tor 0.4.1.9 backports important fixes from later Tor releases,
+ including a fix for TROVE-2020-002, a major denial-of-service
+ vulnerability that affected all released Tor instances since
+ 0.2.1.5-alpha. Using this vulnerability, an attacker could cause Tor
+ instances to consume a huge amount of CPU, disrupting their operations
+ for several seconds or minutes. This attack could be launched by
+ anybody against a relay, or by a directory cache against any client
+ that had connected to it. The attacker could launch this attack as
+ much as they wanted, thereby disrupting service or creating patterns
+ that could aid in traffic analysis. This issue was found by OSS-Fuzz,
+ and is also tracked as CVE-2020-10592.
+
+ We do not have reason to believe that this attack is currently being
+ exploited in the wild, but nonetheless we advise everyone to upgrade
+ as soon as packages are available.
+
+ o Major bugfixes (security, denial-of-service, backport from 0.4.3.3-alpha):
+ - Fix a denial-of-service bug that could be used by anyone to
+ consume a bunch of CPU on any Tor relay or authority, or by
+ directories to consume a bunch of CPU on clients or hidden
+ services. Because of the potential for CPU consumption to
+ introduce observable timing patterns, we are treating this as a
+ high-severity security issue. Fixes bug 33119; bugfix on
+ 0.2.1.5-alpha. Found by OSS-Fuzz. We are also tracking this issue
+ as TROVE-2020-002 and CVE-2020-10592.
+
+ o Major bugfixes (circuit padding, memory leak, backport from 0.4.3.3-alpha):
+ - Avoid a remotely triggered memory leak in the case that a circuit
+ padding machine is somehow negotiated twice on the same circuit.
+ Fixes bug 33619; bugfix on 0.4.0.1-alpha. Found by Tobias Pulls.
+ This is also tracked as TROVE-2020-004 and CVE-2020-10593.
+
+ o Minor bugfixes (bridges, backport from 0.4.3.1-alpha):
+ - Lowercase the configured value of BridgeDistribution before adding
+ it to the descriptor. Fixes bug 32753; bugfix on 0.3.2.3-alpha.
+
+ o Minor bugfixes (logging, backport from 0.4.3.2-alpha):
+ - If we encounter a bug when flushing a buffer to a TLS connection,
+ only log the bug once per invocation of the Tor process.
+ Previously we would log with every occurrence, which could cause
+ us to run out of disk space. Fixes bug 33093; bugfix
+ on 0.3.2.2-alpha.
+
+ o Minor bugfixes (onion services v3, backport from 0.4.3.3-alpha):
+ - Fix an assertion failure that could result from a corrupted
+ ADD_ONION control port command. Found by Saibato. Fixes bug 33137;
+ bugfix on 0.3.3.1-alpha. This issue is also tracked
+ as TROVE-2020-003.
+
+ o Minor bugfixes (rust, build, backport from 0.4.3.2-alpha):
+ - Fix a syntax warning given by newer versions of Rust that was
+ creating problems for our continuous integration. Fixes bug 33212;
+ bugfix on 0.3.5.1-alpha.
+
+ o Testing (Travis CI, backport from 0.4.3.3-alpha):
+ - Remove a redundant distcheck job. Closes ticket 33194.
+ - Sort the Travis jobs in order of speed: putting the slowest jobs
+ first takes full advantage of Travis job concurrency. Closes
+ ticket 33194.
+ - Stop allowing the Chutney IPv6 Travis job to fail. This job was
+ previously configured to fast_finish (which requires
+ allow_failure), to speed up the build. Closes ticket 33195.
+ - When a Travis chutney job fails, use chutney's new "diagnostics.sh"
+ tool to produce detailed diagnostic output. Closes ticket 32792.
+
+
+Changes in version 0.4.1.8 - 2020-01-30
+ This release backports several bugfixes from later release series,
+ including some that had affected the Linux seccomp2 sandbox or Windows
+ services. If you're running with one of those configurations, you'll
+ probably want to upgrade; otherwise, you should be fine with your
+ current version of 0.4.1.x.
+
+ o Major bugfixes (linux seccomp sandbox, backport from 0.4.3.1-alpha):
+ - Correct how we use libseccomp. Particularly, stop assuming that
+ rules are applied in a particular order or that more rules are
+ processed after the first match. Neither is the case! In
+ libseccomp <2.4.0 this lead to some rules having no effect.
+ libseccomp 2.4.0 changed how rules are generated, leading to a
+ different ordering, which in turn led to a fatal crash during
+ startup. Fixes bug 29819; bugfix on 0.2.5.1-alpha. Patch by
+ Peter Gerber.
+ - Fix crash when reloading logging configuration while the
+ experimental sandbox is enabled. Fixes bug 32841; bugfix on
+ 0.4.1.7. Patch by Peter Gerber.
+
+ o Minor bugfixes (crash, backport form 0.4.2.4-rc):
+ - When running Tor with an option like --verify-config or
+ --dump-config that does not start the event loop, avoid crashing
+ if we try to exit early because of an error. Fixes bug 32407;
+ bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (windows service, backport from 0.4.3.1-alpha):
+ - Initialize the publish/subscribe system when running as a windows
+ service. Fixes bug 32778; bugfix on 0.4.1.1-alpha.
+
+ o Testing (backport from 0.4.3.1-alpha):
+ - Turn off Tor's Sandbox in Chutney jobs, and run those jobs on
+ Ubuntu Bionic. Turning off the Sandbox is a work-around, until we
+ fix the sandbox errors in 32722. Closes ticket 32240.
+ - Re-enable the Travis CI macOS Chutney build, but don't let it
+ prevent the Travis job from finishing. (The Travis macOS jobs are
+ slow, so we don't want to have it delay the whole CI process.)
+ Closes ticket 32629.
+
+ o Testing (continuous integration, backport from 0.4.3.1-alpha):
+ - Use zstd in our Travis Linux builds. Closes ticket 32242.
+
+
+Changes in version 0.4.1.7 - 2019-12-09
+ This release backports several bugfixes to improve stability and
+ correctness. Anyone experiencing build problems or crashes with 0.4.1.6,
+ including all relays relying on AccountingMax, should upgrade.
+
+ o Major features (directory authorities, backport from 0.4.2.2-alpha):
+ - Directory authorities now reject relays running all currently
+ deprecated release series. The currently supported release series
+ are: 0.2.9, 0.3.5, 0.4.0, 0.4.1, and 0.4.2. Closes ticket 31549.
+
+ o Major bugfixes (embedded Tor, backport from 0.4.2.2-alpha):
+ - Avoid a possible crash when restarting Tor in embedded mode and
+ enabling a different set of publish/subscribe messages. Fixes bug
+ 31898; bugfix on 0.4.1.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.4.2.3-alpha):
+ - Relays now respect their AccountingMax bandwidth again. When
+ relays entered "soft" hibernation (which typically starts when
+ we've hit 90% of our AccountingMax), we had stopped checking
+ whether we should enter hard hibernation. Soft hibernation refuses
+ new connections and new circuits, but the existing circuits can
+ continue, meaning that relays could have exceeded their configured
+ AccountingMax. Fixes bug 32108; bugfix on 0.4.0.1-alpha.
+
+ o Major bugfixes (torrc parsing, backport from 0.4.2.2-alpha):
+ - Stop ignoring torrc options after an %include directive, when the
+ included directory ends with a file that does not contain any
+ config options (but does contain comments or whitespace). Fixes
+ bug 31408; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (v3 onion services, backport from 0.4.2.3-alpha):
+ - Onion services now always use the exact number of intro points
+ configured with the HiddenServiceNumIntroductionPoints option (or
+ fewer if nodes are excluded). Before, a service could sometimes
+ pick more intro points than configured. Fixes bug 31548; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor features (continuous integration, backport from 0.4.2.2-alpha):
+ - When building on Appveyor and Travis, pass the "-k" flag to make,
+ so that we are informed of all compilation failures, not just the
+ first one or two. Closes ticket 31372.
+
+ o Minor features (geoip, backport from 0.4.2.5):
+ - Update geoip and geoip6 to the December 3 2019 Maxmind GeoLite2
+ Country database. Closes ticket 32685.
+
+ o Minor bugfixes (Appveyor CI, backport from 0.4.2.2-alpha):
+ - Avoid spurious errors when Appveyor CI fails before the install step.
+ Fixes bug 31884; bugfix on 0.3.4.2-alpha.
+
+ o Minor bugfixes (client, onion service v3, backport from 0.4.2.4-rc):
+ - Fix a BUG() assertion that occurs within a very small race window
+ between when a client intro circuit opens and when its descriptor
+ gets cleaned up from the cache. The circuit is now closed early,
+ which will trigger a re-fetch of the descriptor and continue the
+ connection. Fixes bug 28970; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (connections, backport from 0.4.2.3-rc):
+ - Avoid trying to read data from closed connections, which can cause
+ needless loops in Libevent and infinite loops in Shadow. Fixes bug
+ 30344; bugfix on 0.1.1.1-alpha.
+
+ o Minor bugfixes (error handling, backport from 0.4.2.1-alpha):
+ - On abort, try harder to flush the output buffers of log messages.
+ On some platforms (macOS), log messages could be discarded when
+ the process terminates. Fixes bug 31571; bugfix on 0.3.5.1-alpha.
+ - Report the tor version whenever an assertion fails. Previously, we
+ only reported the Tor version on some crashes, and some non-fatal
+ assertions. Fixes bug 31571; bugfix on 0.3.5.1-alpha.
+ - When tor aborts due to an error, close log file descriptors before
+ aborting. Closing the logs makes some OSes flush log file buffers,
+ rather than deleting buffered log lines. Fixes bug 31594; bugfix
+ on 0.2.5.2-alpha.
+
+ o Minor bugfixes (logging, backport from 0.4.2.2-alpha):
+ - Add a missing check for HAVE_PTHREAD_H, because the backtrace code
+ 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
+ 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.
+
+ o Minor bugfixes (logging, protocol violations, backport from 0.4.2.2-alpha):
+ - Do not log a nonfatal assertion failure when receiving a VERSIONS
+ cell on a connection using the obsolete v1 link protocol. Log a
+ protocol_warn instead. Fixes bug 31107; bugfix on 0.2.4.4-alpha.
+
+ o Minor bugfixes (mainloop, periodic events, in-process API, backport from 0.4.2.3-alpha):
+ - Reset the periodic events' "enabled" flag when Tor is shut down
+ cleanly. Previously, this flag was left on, which caused periodic
+ events not to be re-enabled when Tor was relaunched in-process
+ with tor_api.h after a shutdown. Fixes bug 32058; bugfix
+ on 0.3.3.1-alpha.
+
+ o Minor bugfixes (multithreading, backport from 0.4.2.2-alpha):
+ - Avoid some undefined behaviour when freeing mutexes. Fixes bug
+ 31736; bugfix on 0.0.7.
+
+ o Minor bugfixes (process management, backport from 0.4.2.3-alpha):
+ - Remove overly strict assertions that triggered when a pluggable
+ transport failed to launch. Fixes bug 31091; bugfix
+ on 0.4.0.1-alpha.
+ - Remove an assertion in the Unix process backend. This assertion
+ would trigger when we failed to find the executable for a child
+ process. Fixes bug 31810; bugfix on 0.4.0.1-alpha.
+
+ o Minor bugfixes (relay, backport from 0.4.2.2-alpha):
+ - Avoid crashing when starting with a corrupt keys directory where
+ the old ntor key and the new ntor key are identical. Fixes bug
+ 30916; bugfix on 0.2.4.8-alpha.
+
+ o Minor bugfixes (testing, backport from 0.4.2.3-alpha):
+ - When testing port rebinding, don't busy-wait for tor to log.
+ Instead, actually sleep for a short time before polling again.
+ Also improve the formatting of control commands and log messages.
+ Fixes bug 31837; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (tests, SunOS, backport from 0.4.2.2-alpha):
+ - Avoid a map_anon_nofork test failure due to a signed/unsigned
+ integer comparison. Fixes bug 31897; bugfix on 0.4.1.1-alpha.
+
+ o Minor bugfixes (tls, logging, backport from 0.4.2.3-alpha):
+ - Log bugs about the TLS read buffer's length only once, rather than
+ filling the logs with similar warnings. Fixes bug 31939; bugfix
+ on 0.3.0.4-rc.
+
+ o Documentation (backport from 0.4.2.2-alpha):
+ - Explain why we can't destroy the backtrace buffer mutex. Explain
+ why we don't need to destroy the log mutex. Closes ticket 31736.
+
+ o Testing (continuous integration, backport from 0.4.2.3-alpha):
+ - Disable all but one Travis CI macOS build, to mitigate slow
+ scheduling of Travis macOS jobs. Closes ticket 32177.
+ - Run the chutney IPv6 networks as part of Travis CI. Closes
+ ticket 30860.
+ - Simplify the Travis CI build matrix, and optimise for build time.
+ Closes ticket 31859.
+ - Use Windows Server 2019 instead of Windows Server 2016 in our
+ Appveyor builds. Closes ticket 32086.
+
+ o Testing (continuous integration, backport from 0.4.2.4-rc):
+ - In Travis, use Xcode 11.2 on macOS 10.14. Closes ticket 32241.
+ - Use Ubuntu Bionic images for our Travis CI builds, so we can get a
+ recent version of coccinelle. But leave chutney on Ubuntu Trusty,
+ until we can fix some Bionic permissions issues (see ticket
+ 32240). Related to ticket 31919.
+ - Install the mingw OpenSSL package in Appveyor. This makes sure
+ that the OpenSSL headers and libraries match in Tor's Appveyor
+ builds. (This bug was triggered by an Appveyor image update.)
+ Fixes bug 32449; bugfix on 0.3.5.6-rc.
+
+ o Testing (continuous integration, backport from 0.4.2.5):
+ - Require C99 standards-conforming code in Travis CI, but allow GNU gcc
+ extensions. Also activates clang's -Wtypedef-redefinition warnings.
+ Build some jobs with -std=gnu99, and some jobs without.
+ Closes ticket 32500.
+
+
+Changes in version 0.4.1.6 - 2019-09-19
+ This release backports several bugfixes to improve stability and
+ correctness. Anyone experiencing build problems or crashes with 0.4.1.5,
+ or experiencing reliability issues with single onion services, should
+ upgrade.
+
+ o Major bugfixes (crash, Linux, Android, backport from 0.4.2.1-alpha):
+ - Tolerate systems (including some Android installations) where
+ madvise and MADV_DONTDUMP are available at build-time, but not at
+ run time. Previously, these systems would notice a failed syscall
+ and abort. Fixes bug 31570; bugfix on 0.4.1.1-alpha.
+ - Tolerate systems (including some Linux installations) where
+ madvise and/or MADV_DONTFORK are available at build-time, but not
+ at run time. Previously, these systems would notice a failed
+ syscall and abort. Fixes bug 31696; bugfix on 0.4.1.1-alpha.
+
+ o Minor features (stem tests, backport from 0.4.2.1-alpha):
+ - Change "make test-stem" so it only runs the stem tests that use
+ tor. This change makes test-stem faster and more reliable. Closes
+ ticket 31554.
+
+ o Minor bugfixes (build system, backport form 0.4.2.1-alpha):
+ - Do not include the deprecated <sys/sysctl.h> on Linux or Windows
+ systems. Fixes bug 31673; bugfix on 0.2.5.4-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.4.2.1-alpha):
+ - Add more stub functions to fix compilation on Android with link-
+ time optimization when --disable-module-dirauth is used.
+ Previously, these compilation settings would make the compiler
+ look for functions that didn't exist. Fixes bug 31552; bugfix
+ on 0.4.1.1-alpha.
+ - Suppress spurious float-conversion warnings from GCC when calling
+ floating-point classifier functions on FreeBSD. Fixes part of bug
+ 31687; bugfix on 0.3.1.5-alpha.
+
+ o Minor bugfixes (controller protocol):
+ - Fix the MAPADDRESS controller command to accept one or more
+ arguments. Previously, it required two or more arguments, and ignored
+ the first. Fixes bug 31772; bugfix on 0.4.1.1-alpha.
+
+ o Minor bugfixes (FreeBSD, PF-based proxy, IPv6, backport from 0.4.2.1-alpha):
+ - When extracting an IPv6 address from a PF-based proxy, verify that
+ we are actually configured to receive an IPv6 address, and log an
+ internal error if not. Fixes part of bug 31687; bugfix
+ on 0.2.3.4-alpha.
+
+ o Minor bugfixes (guards, backport from 0.4.2.1-alpha):
+ - When tor is missing descriptors for some primary entry guards,
+ make the log message less alarming. It's normal for descriptors to
+ expire, as long as tor fetches new ones soon after. Fixes bug
+ 31657; bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (logging, backport from 0.4.2.1-alpha):
+ - Change log level of message "Hash of session info was not as
+ expected" to LOG_PROTOCOL_WARN. Fixes bug 12399; bugfix
+ on 0.1.1.10-alpha.
+
+ o Minor bugfixes (rust, backport from 0.4.2.1-alpha):
+ - Correctly exclude a redundant rust build job in Travis. Fixes bug
+ 31463; bugfix on 0.3.5.4-alpha.
+
+ o Minor bugfixes (v2 single onion services, backport from 0.4.2.1-alpha):
+ - Always retry v2 single onion service intro and rend circuits with
+ a 3-hop path. Previously, v2 single onion services used a 3-hop
+ path when rendezvous circuits were retried after a remote or
+ delayed failure, but a 1-hop path for immediate retries. Fixes bug
+ 23818; bugfix on 0.2.9.3-alpha.
+
+ o Minor bugfixes (v3 single onion services, backport from 0.4.2.1-alpha):
+ - Always retry v3 single onion service intro and rend circuits with
+ a 3-hop path. Previously, v3 single onion services used a 3-hop
+ path when rend circuits were retried after a remote or delayed
+ failure, but a 1-hop path for immediate retries. Fixes bug 23818;
+ bugfix on 0.3.2.1-alpha.
+ - Make v3 single onion services fall back to a 3-hop intro, when all
+ intro points are unreachable via a 1-hop path. Previously, v3
+ single onion services failed when all intro nodes were unreachable
+ via a 1-hop path. Fixes bug 23507; bugfix on 0.3.2.1-alpha.
+
+ o Documentation (backport from 0.4.2.1-alpha):
+ - Use RFC 2397 data URL scheme to embed an image into tor-exit-
+ notice.html so that operators no longer have to host it
+ themselves. Closes ticket 31089.
+
+
+Changes in version 0.4.1.5 - 2019-08-20
+ This is the first stable release in the 0.4.1.x series. This series
+ adds experimental circuit-level padding, authenticated SENDME cells to
+ defend against certain attacks, and several performance improvements
+ to save on CPU consumption. It fixes bugs in bootstrapping and v3
+ onion services. It also includes numerous smaller features and
+ bugfixes on earlier versions.
+
+ Per our support policy, we will support the 0.4.1.x series for nine
+ months, or until three months after the release of a stable 0.4.2.x:
+ whichever is longer. If you need longer-term support, please stick
+ with 0.3.5.x, which will we plan to support until Feb 2022.
+
+ Below are the changes since 0.4.1.4-rc. For a complete list of changes
+ since 0.4.0.5, see the ReleaseNotes file.
+
+ o Directory authority changes:
+ - The directory authority "dizum" has a new IP address. Closes
+ ticket 31406.
+
+ o Minor features (circuit padding logging):
+ - Demote noisy client-side warn logs about circuit padding to
+ protocol warnings. Add additional log messages and circuit ID
+ fields to help with bug 30992 and any other future issues.
+
+ o Minor bugfixes (circuit padding negotiation):
+ - Bump the circuit padding protocol version to explicitly signify
+ that the HS setup machine support is finalized in 0.4.1.x-stable.
+ This also means that 0.4.1.x-alpha clients will not negotiate
+ padding with 0.4.1.x-stable relays, and 0.4.1.x-stable clients
+ will not negotiate padding with 0.4.1.x-alpha relays (or 0.4.0.x
+ relays). Fixes bug 31356; bugfix on 0.4.1.1-alpha.
+
+ o Minor bugfixes (circuit padding):
+ - Ignore non-padding cells on padding circuits. This addresses
+ various warning messages from subsystems that were not expecting
+ padding circuits. Fixes bug 30942; bugfix on 0.4.1.1-alpha.
+
+ o Minor bugfixes (clock skew detection):
+ - Don't believe clock skew results from NETINFO cells that appear to
+ arrive before we sent the VERSIONS cells they are responding to.
+ Previously, we would accept them up to 3 minutes "in the past".
+ Fixes bug 31343; bugfix on 0.2.4.4-alpha.
+
+ o Minor bugfixes (compatibility, standards compliance):
+ - Fix a bug that would invoke undefined behavior on certain
+ operating systems when trying to asprintf() a string exactly
+ INT_MAX bytes long. We don't believe this is exploitable, but it's
+ better to fix it anyway. Fixes bug 31001; bugfix on 0.2.2.11-alpha.
+ Found and fixed by Tobias Stoeckmann.
+
+ o Minor bugfixes (compilation warning):
+ - Fix a compilation warning on Windows about casting a function
+ pointer for GetTickCount64(). Fixes bug 31374; bugfix
+ on 0.2.9.1-alpha.
+
+ o Minor bugfixes (compilation):
+ - Avoid using labs() on time_t, which can cause compilation warnings
+ on 64-bit Windows builds. Fixes bug 31343; bugfix on 0.2.4.4-alpha.
+
+ o Minor bugfixes (distribution):
+ - Do not ship any temporary files found in the
+ scripts/maint/practracker directory. Fixes bug 31311; bugfix
+ on 0.4.1.1-alpha.
+
+ o Testing (continuous integration):
+ - In Travis, make stem log a controller trace to the console, and
+ tail stem's tor log after failure. Closes ticket 30591.
+ - In Travis, only run the stem tests that use a tor binary. Closes
+ ticket 30694.
+
+
+Changes in version 0.4.1.4-rc - 2019-07-25
+ Tor 0.4.1.4-rc fixes a few bugs from previous versions of Tor, and
+ updates to a new list of fallback directories. If no new bugs are
+ found, the next release in the 0.4.1.x serious should be stable.
+
+ o Major bugfixes (circuit build, guard):
+ - When considering upgrading circuits from "waiting for guard" to
+ "open", always ignore circuits that are marked for close. Otherwise,
+ we can end up in the situation where a subsystem is notified that
+ a closing circuit has just opened, leading to undesirable
+ behavior. Fixes bug 30871; bugfix on 0.3.0.1-alpha.
+
+ o Minor features (continuous integration):
+ - Our Travis configuration now uses Chutney to run some network
+ integration tests automatically. Closes ticket 29280.
+
+ o Minor features (fallback directory list):
+ - Replace the 157 fallbacks originally introduced in Tor 0.3.5.6-rc
+ in December 2018 (of which ~122 were still functional), with a
+ list of 148 fallbacks (70 new, 78 existing, 79 removed) generated
+ in June 2019. Closes ticket 28795.
+
+ o Minor bugfixes (circuit padding):
+ - On relays, properly check that a padding machine is absent before
+ logging a warning about it being absent. Fixes bug 30649; bugfix
+ on 0.4.0.1-alpha.
+ - Add two NULL checks in unreachable places to silence Coverity (CID
+ 144729 and 1447291) and better future-proof ourselves. Fixes bug
+ 31024; bugfix on 0.4.1.1-alpha.
+
+ o Minor bugfixes (crash on exit):
+ - Avoid a set of possible code paths that could try to use freed
+ memory in routerlist_free() while Tor was exiting. Fixes bug
+ 31003; bugfix on 0.1.2.2-alpha.
+
+ o Minor bugfixes (logging):
+ - Fix a conflict between the flag used for messaging-domain log
+ messages, and the LD_NO_MOCK testing flag. Fixes bug 31080; bugfix
+ on 0.4.1.1-alpha.
+
+ o Minor bugfixes (memory leaks):
+ - Fix a trivial memory leak when parsing an invalid value from a
+ download schedule in the configuration. Fixes bug 30894; bugfix
+ on 0.3.4.1-alpha.
+
+ o Code simplification and refactoring:
+ - Remove some dead code from circpad_machine_remove_token() to fix
+ some Coverity warnings (CID 1447298). Fixes bug 31027; bugfix
+ on 0.4.1.1-alpha.
+
+
+Changes in version 0.4.1.3-alpha - 2019-06-25
+ Tor 0.4.1.3-alpha resolves numerous bugs left over from the previous
+ alpha, most of them from earlier release series.
+
+ o Major bugfixes (Onion service reachability):
+ - Properly clean up the introduction point map when circuits change
+ purpose from onion service circuits to pathbias, measurement, or
+ other circuit types. This should fix some service-side instances
+ of introduction point failure. Fixes bug 29034; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the June 10 2019 Maxmind GeoLite2
+ Country database. Closes ticket 30852.
+
+ o Minor features (logging):
+ - Give a more useful assertion failure message if we think we have
+ minherit() but we fail to make a region non-inheritable. Give a
+ compile-time warning if our support for minherit() is incomplete.
+ Closes ticket 30686.
+
+ o Minor bugfixes (circuit isolation):
+ - Fix a logic error that prevented the SessionGroup sub-option from
+ being accepted. Fixes bug 22619; bugfix on 0.2.7.2-alpha.
+
+ o Minor bugfixes (continuous integration):
+ - Allow the test-stem job to fail in Travis, because it sometimes
+ hangs. Fixes bug 30744; bugfix on 0.3.5.4-alpha.
+ - Skip test_rebind on macOS in Travis, because it is unreliable on
+ macOS on Travis. Fixes bug 30713; bugfix on 0.3.5.1-alpha.
+ - Skip test_rebind when the TOR_SKIP_TEST_REBIND environment
+ variable is set. Fixes bug 30713; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (directory authorities):
+ - Stop crashing after parsing an unknown descriptor purpose
+ annotation. We think this bug can only be triggered by modifying a
+ local file. Fixes bug 30781; bugfix on 0.2.0.8-alpha.
+
+ o Minor bugfixes (pluggable transports):
+ - When running as a bridge with pluggable transports, always publish
+ pluggable transport information in our extrainfo descriptor, even
+ if ExtraInfoStatistics is 0. This information is needed by
+ BridgeDB. Fixes bug 30956; bugfix on 0.4.1.1-alpha.
+
+ o Documentation:
+ - Mention URLs for Travis/Appveyor/Jenkins in ReleasingTor.md.
+ Closes ticket 30630.
+
+
Changes in version 0.4.1.2-alpha - 2019-06-06
Tor 0.4.1.2-alpha resolves numerous bugs--some of them from the
previous alpha, and some much older. It also contains minor testing
@@ -134,7 +661,7 @@ Changes in version 0.4.1.1-alpha - 2019-05-22
circuits. This feature is only enabled when also supported by the
circuit's middle node. (Clients may specify fixed middle nodes
with the MiddleNodes option, and may force-disable this feature
- with the CircuitPadding torrc.) Closes ticket 28634.
+ with the CircuitPadding option.) Closes ticket 28634.
o Major features (code organization):
- Tor now includes a generic publish-subscribe message-passing
@@ -318,7 +845,7 @@ Changes in version 0.4.1.1-alpha - 2019-05-22
o Minor bugfixes (directory authority, ipv6):
- Directory authorities with IPv6 support now always mark themselves
- as reachable via IPv6. Fixes bug 24338; bugfix on 0.4.0.2-alpha.
+ as reachable via IPv6. Fixes bug 24338; bugfix on 0.2.4.1-alpha.
Patch by Neel Chauhan.
o Minor bugfixes (documentation):
@@ -356,7 +883,7 @@ Changes in version 0.4.1.1-alpha - 2019-05-22
Neel Chauhan.
- When relaunching a circuit to a rendezvous service, mark the
circuit as needing high-uptime routers as appropriate. Fixes bug
- 17357; bugfix on 0.4.0.2-alpha. Patch by Neel Chauhan.
+ 17357; bugfix on 0.1.0.1-rc. Patch by Neel Chauhan.
- Stop ignoring IPv6 link specifiers sent to v3 onion services.
(IPv6 support for v3 onion services is still incomplete: see
ticket 23493 for details.) Fixes bug 23588; bugfix on
@@ -1290,7 +1817,7 @@ Changes in version 0.4.0.1-alpha - 2019-01-18
we had added up the sum of all nodes with a descriptor, but that
could cause us to build failing circuits when we had either too
many bridges or not enough guard nodes. Fixes bug 25885; bugfix on
- 0.3.6.1-alpha. Patch by Neel Chauhan.
+ 0.2.3.1-alpha. Patch by Neel Chauhan.
o Minor bugfixes (IPv6):
- Fix tor_ersatz_socketpair on IPv6-only systems. Previously, the
diff --git a/ReleaseNotes b/ReleaseNotes
index 788804236b..6b100323d0 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -2,6 +2,915 @@ This document summarizes new features and bugfixes in each stable
release of Tor. If you want to see more detailed descriptions of the
changes in each development snapshot, see the ChangeLog file.
+Changes in version 0.4.1.9 - 2020-03-18
+ Tor 0.4.1.9 backports important fixes from later Tor releases,
+ including a fix for TROVE-2020-002, a major denial-of-service
+ vulnerability that affected all released Tor instances since
+ 0.2.1.5-alpha. Using this vulnerability, an attacker could cause Tor
+ instances to consume a huge amount of CPU, disrupting their operations
+ for several seconds or minutes. This attack could be launched by
+ anybody against a relay, or by a directory cache against any client
+ that had connected to it. The attacker could launch this attack as
+ much as they wanted, thereby disrupting service or creating patterns
+ that could aid in traffic analysis. This issue was found by OSS-Fuzz,
+ and is also tracked as CVE-2020-10592.
+
+ We do not have reason to believe that this attack is currently being
+ exploited in the wild, but nonetheless we advise everyone to upgrade
+ as soon as packages are available.
+
+ o Major bugfixes (security, denial-of-service, backport from 0.4.3.3-alpha):
+ - Fix a denial-of-service bug that could be used by anyone to
+ consume a bunch of CPU on any Tor relay or authority, or by
+ directories to consume a bunch of CPU on clients or hidden
+ services. Because of the potential for CPU consumption to
+ introduce observable timing patterns, we are treating this as a
+ high-severity security issue. Fixes bug 33119; bugfix on
+ 0.2.1.5-alpha. Found by OSS-Fuzz. We are also tracking this issue
+ as TROVE-2020-002 and CVE-2020-10592.
+
+ o Major bugfixes (circuit padding, memory leak, backport from 0.4.3.3-alpha):
+ - Avoid a remotely triggered memory leak in the case that a circuit
+ padding machine is somehow negotiated twice on the same circuit.
+ Fixes bug 33619; bugfix on 0.4.0.1-alpha. Found by Tobias Pulls.
+ This is also tracked as TROVE-2020-004 and CVE-2020-10593.
+
+ o Minor bugfixes (bridges, backport from 0.4.3.1-alpha):
+ - Lowercase the configured value of BridgeDistribution before adding
+ it to the descriptor. Fixes bug 32753; bugfix on 0.3.2.3-alpha.
+
+ o Minor bugfixes (logging, backport from 0.4.3.2-alpha):
+ - If we encounter a bug when flushing a buffer to a TLS connection,
+ only log the bug once per invocation of the Tor process.
+ Previously we would log with every occurrence, which could cause
+ us to run out of disk space. Fixes bug 33093; bugfix
+ on 0.3.2.2-alpha.
+
+ o Minor bugfixes (onion services v3, backport from 0.4.3.3-alpha):
+ - Fix an assertion failure that could result from a corrupted
+ ADD_ONION control port command. Found by Saibato. Fixes bug 33137;
+ bugfix on 0.3.3.1-alpha. This issue is also tracked
+ as TROVE-2020-003.
+
+ o Minor bugfixes (rust, build, backport from 0.4.3.2-alpha):
+ - Fix a syntax warning given by newer versions of Rust that was
+ creating problems for our continuous integration. Fixes bug 33212;
+ bugfix on 0.3.5.1-alpha.
+
+ o Testing (Travis CI, backport from 0.4.3.3-alpha):
+ - Remove a redundant distcheck job. Closes ticket 33194.
+ - Sort the Travis jobs in order of speed: putting the slowest jobs
+ first takes full advantage of Travis job concurrency. Closes
+ ticket 33194.
+ - Stop allowing the Chutney IPv6 Travis job to fail. This job was
+ previously configured to fast_finish (which requires
+ allow_failure), to speed up the build. Closes ticket 33195.
+ - When a Travis chutney job fails, use chutney's new "diagnostics.sh"
+ tool to produce detailed diagnostic output. Closes ticket 32792.
+
+
+Changes in version 0.4.1.8 - 2020-01-30
+ This release backports several bugfixes from later release series,
+ including some that had affected the Linux seccomp2 sandbox or Windows
+ services. If you're running with one of those configurations, you'll
+ probably want to upgrade; otherwise, you should be fine with your
+ current version of 0.4.1.x.
+
+ o Major bugfixes (linux seccomp sandbox, backport from 0.4.3.1-alpha):
+ - Correct how we use libseccomp. Particularly, stop assuming that
+ rules are applied in a particular order or that more rules are
+ processed after the first match. Neither is the case! In
+ libseccomp <2.4.0 this lead to some rules having no effect.
+ libseccomp 2.4.0 changed how rules are generated, leading to a
+ different ordering, which in turn led to a fatal crash during
+ startup. Fixes bug 29819; bugfix on 0.2.5.1-alpha. Patch by
+ Peter Gerber.
+ - Fix crash when reloading logging configuration while the
+ experimental sandbox is enabled. Fixes bug 32841; bugfix on
+ 0.4.1.7. Patch by Peter Gerber.
+
+ o Minor bugfixes (crash, backport form 0.4.2.4-rc):
+ - When running Tor with an option like --verify-config or
+ --dump-config that does not start the event loop, avoid crashing
+ if we try to exit early because of an error. Fixes bug 32407;
+ bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (windows service, backport from 0.4.3.1-alpha):
+ - Initialize the publish/subscribe system when running as a windows
+ service. Fixes bug 32778; bugfix on 0.4.1.1-alpha.
+
+ o Testing (backport from 0.4.3.1-alpha):
+ - Turn off Tor's Sandbox in Chutney jobs, and run those jobs on
+ Ubuntu Bionic. Turning off the Sandbox is a work-around, until we
+ fix the sandbox errors in 32722. Closes ticket 32240.
+ - Re-enable the Travis CI macOS Chutney build, but don't let it
+ prevent the Travis job from finishing. (The Travis macOS jobs are
+ slow, so we don't want to have it delay the whole CI process.)
+ Closes ticket 32629.
+
+ o Testing (continuous integration, backport from 0.4.3.1-alpha):
+ - Use zstd in our Travis Linux builds. Closes ticket 32242.
+
+
+Changes in version 0.4.1.7 - 2019-12-09
+ This release backports several bugfixes to improve stability and
+ correctness. Anyone experiencing build problems or crashes with 0.4.1.6,
+ including all relays relying on AccountingMax, should upgrade.
+
+ o Major features (directory authorities, backport from 0.4.2.2-alpha):
+ - Directory authorities now reject relays running all currently
+ deprecated release series. The currently supported release series
+ are: 0.2.9, 0.3.5, 0.4.0, 0.4.1, and 0.4.2. Closes ticket 31549.
+
+ o Major bugfixes (embedded Tor, backport from 0.4.2.2-alpha):
+ - Avoid a possible crash when restarting Tor in embedded mode and
+ enabling a different set of publish/subscribe messages. Fixes bug
+ 31898; bugfix on 0.4.1.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.4.2.3-alpha):
+ - Relays now respect their AccountingMax bandwidth again. When
+ relays entered "soft" hibernation (which typically starts when
+ we've hit 90% of our AccountingMax), we had stopped checking
+ whether we should enter hard hibernation. Soft hibernation refuses
+ new connections and new circuits, but the existing circuits can
+ continue, meaning that relays could have exceeded their configured
+ AccountingMax. Fixes bug 32108; bugfix on 0.4.0.1-alpha.
+
+ o Major bugfixes (torrc parsing, backport from 0.4.2.2-alpha):
+ - Stop ignoring torrc options after an %include directive, when the
+ included directory ends with a file that does not contain any
+ config options (but does contain comments or whitespace). Fixes
+ bug 31408; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (v3 onion services, backport from 0.4.2.3-alpha):
+ - Onion services now always use the exact number of intro points
+ configured with the HiddenServiceNumIntroductionPoints option (or
+ fewer if nodes are excluded). Before, a service could sometimes
+ pick more intro points than configured. Fixes bug 31548; bugfix
+ on 0.3.2.1-alpha.
+
+ o Minor features (continuous integration, backport from 0.4.2.2-alpha):
+ - When building on Appveyor and Travis, pass the "-k" flag to make,
+ so that we are informed of all compilation failures, not just the
+ first one or two. Closes ticket 31372.
+
+ o Minor features (geoip, backport from 0.4.2.5):
+ - Update geoip and geoip6 to the December 3 2019 Maxmind GeoLite2
+ Country database. Closes ticket 32685.
+
+ o Minor bugfixes (Appveyor CI, backport from 0.4.2.2-alpha):
+ - Avoid spurious errors when Appveyor CI fails before the install step.
+ Fixes bug 31884; bugfix on 0.3.4.2-alpha.
+
+ o Minor bugfixes (client, onion service v3, backport from 0.4.2.4-rc):
+ - Fix a BUG() assertion that occurs within a very small race window
+ between when a client intro circuit opens and when its descriptor
+ gets cleaned up from the cache. The circuit is now closed early,
+ which will trigger a re-fetch of the descriptor and continue the
+ connection. Fixes bug 28970; bugfix on 0.3.2.1-alpha.
+
+ o Minor bugfixes (connections, backport from 0.4.2.3-rc):
+ - Avoid trying to read data from closed connections, which can cause
+ needless loops in Libevent and infinite loops in Shadow. Fixes bug
+ 30344; bugfix on 0.1.1.1-alpha.
+
+ o Minor bugfixes (error handling, backport from 0.4.2.1-alpha):
+ - On abort, try harder to flush the output buffers of log messages.
+ On some platforms (macOS), log messages could be discarded when
+ the process terminates. Fixes bug 31571; bugfix on 0.3.5.1-alpha.
+ - Report the tor version whenever an assertion fails. Previously, we
+ only reported the Tor version on some crashes, and some non-fatal
+ assertions. Fixes bug 31571; bugfix on 0.3.5.1-alpha.
+ - When tor aborts due to an error, close log file descriptors before
+ aborting. Closing the logs makes some OSes flush log file buffers,
+ rather than deleting buffered log lines. Fixes bug 31594; bugfix
+ on 0.2.5.2-alpha.
+
+ o Minor bugfixes (logging, backport from 0.4.2.2-alpha):
+ - Add a missing check for HAVE_PTHREAD_H, because the backtrace code
+ 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
+ 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.
+
+ o Minor bugfixes (logging, protocol violations, backport from 0.4.2.2-alpha):
+ - Do not log a nonfatal assertion failure when receiving a VERSIONS
+ cell on a connection using the obsolete v1 link protocol. Log a
+ protocol_warn instead. Fixes bug 31107; bugfix on 0.2.4.4-alpha.
+
+ o Minor bugfixes (mainloop, periodic events, in-process API, backport from 0.4.2.3-alpha):
+ - Reset the periodic events' "enabled" flag when Tor is shut down
+ cleanly. Previously, this flag was left on, which caused periodic
+ events not to be re-enabled when Tor was relaunched in-process
+ with tor_api.h after a shutdown. Fixes bug 32058; bugfix
+ on 0.3.3.1-alpha.
+
+ o Minor bugfixes (multithreading, backport from 0.4.2.2-alpha):
+ - Avoid some undefined behaviour when freeing mutexes. Fixes bug
+ 31736; bugfix on 0.0.7.
+
+ o Minor bugfixes (process management, backport from 0.4.2.3-alpha):
+ - Remove overly strict assertions that triggered when a pluggable
+ transport failed to launch. Fixes bug 31091; bugfix
+ on 0.4.0.1-alpha.
+ - Remove an assertion in the Unix process backend. This assertion
+ would trigger when we failed to find the executable for a child
+ process. Fixes bug 31810; bugfix on 0.4.0.1-alpha.
+
+ o Minor bugfixes (relay, backport from 0.4.2.2-alpha):
+ - Avoid crashing when starting with a corrupt keys directory where
+ the old ntor key and the new ntor key are identical. Fixes bug
+ 30916; bugfix on 0.2.4.8-alpha.
+
+ o Minor bugfixes (testing, backport from 0.4.2.3-alpha):
+ - When testing port rebinding, don't busy-wait for tor to log.
+ Instead, actually sleep for a short time before polling again.
+ Also improve the formatting of control commands and log messages.
+ Fixes bug 31837; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (tests, SunOS, backport from 0.4.2.2-alpha):
+ - Avoid a map_anon_nofork test failure due to a signed/unsigned
+ integer comparison. Fixes bug 31897; bugfix on 0.4.1.1-alpha.
+
+ o Minor bugfixes (tls, logging, backport from 0.4.2.3-alpha):
+ - Log bugs about the TLS read buffer's length only once, rather than
+ filling the logs with similar warnings. Fixes bug 31939; bugfix
+ on 0.3.0.4-rc.
+
+ o Documentation (backport from 0.4.2.2-alpha):
+ - Explain why we can't destroy the backtrace buffer mutex. Explain
+ why we don't need to destroy the log mutex. Closes ticket 31736.
+
+ o Testing (continuous integration, backport from 0.4.2.3-alpha):
+ - Disable all but one Travis CI macOS build, to mitigate slow
+ scheduling of Travis macOS jobs. Closes ticket 32177.
+ - Run the chutney IPv6 networks as part of Travis CI. Closes
+ ticket 30860.
+ - Simplify the Travis CI build matrix, and optimise for build time.
+ Closes ticket 31859.
+ - Use Windows Server 2019 instead of Windows Server 2016 in our
+ Appveyor builds. Closes ticket 32086.
+
+ o Testing (continuous integration, backport from 0.4.2.4-rc):
+ - In Travis, use Xcode 11.2 on macOS 10.14. Closes ticket 32241.
+ - Use Ubuntu Bionic images for our Travis CI builds, so we can get a
+ recent version of coccinelle. But leave chutney on Ubuntu Trusty,
+ until we can fix some Bionic permissions issues (see ticket
+ 32240). Related to ticket 31919.
+ - Install the mingw OpenSSL package in Appveyor. This makes sure
+ that the OpenSSL headers and libraries match in Tor's Appveyor
+ builds. (This bug was triggered by an Appveyor image update.)
+ Fixes bug 32449; bugfix on 0.3.5.6-rc.
+
+ o Testing (continuous integration, backport from 0.4.2.5):
+ - Require C99 standards-conforming code in Travis CI, but allow GNU gcc
+ extensions. Also activates clang's -Wtypedef-redefinition warnings.
+ Build some jobs with -std=gnu99, and some jobs without.
+ Closes ticket 32500.
+
+
+Changes in version 0.4.1.6 - 2019-09-19
+ This release backports several bugfixes to improve stability and
+ correctness. Anyone experiencing build problems or crashes with 0.4.1.5,
+ or experiencing reliability issues with single onion services, should
+ upgrade.
+
+ o Major bugfixes (crash, Linux, Android, backport from 0.4.2.1-alpha):
+ - Tolerate systems (including some Android installations) where
+ madvise and MADV_DONTDUMP are available at build-time, but not at
+ run time. Previously, these systems would notice a failed syscall
+ and abort. Fixes bug 31570; bugfix on 0.4.1.1-alpha.
+ - Tolerate systems (including some Linux installations) where
+ madvise and/or MADV_DONTFORK are available at build-time, but not
+ at run time. Previously, these systems would notice a failed
+ syscall and abort. Fixes bug 31696; bugfix on 0.4.1.1-alpha.
+
+ o Minor features (stem tests, backport from 0.4.2.1-alpha):
+ - Change "make test-stem" so it only runs the stem tests that use
+ tor. This change makes test-stem faster and more reliable. Closes
+ ticket 31554.
+
+ o Minor bugfixes (build system, backport form 0.4.2.1-alpha):
+ - Do not include the deprecated <sys/sysctl.h> on Linux or Windows
+ systems. Fixes bug 31673; bugfix on 0.2.5.4-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.4.2.1-alpha):
+ - Add more stub functions to fix compilation on Android with link-
+ time optimization when --disable-module-dirauth is used.
+ Previously, these compilation settings would make the compiler
+ look for functions that didn't exist. Fixes bug 31552; bugfix
+ on 0.4.1.1-alpha.
+ - Suppress spurious float-conversion warnings from GCC when calling
+ floating-point classifier functions on FreeBSD. Fixes part of bug
+ 31687; bugfix on 0.3.1.5-alpha.
+
+ o Minor bugfixes (controller protocol):
+ - Fix the MAPADDRESS controller command to accept one or more
+ arguments. Previously, it required two or more arguments, and ignored
+ the first. Fixes bug 31772; bugfix on 0.4.1.1-alpha.
+
+ o Minor bugfixes (FreeBSD, PF-based proxy, IPv6, backport from 0.4.2.1-alpha):
+ - When extracting an IPv6 address from a PF-based proxy, verify that
+ we are actually configured to receive an IPv6 address, and log an
+ internal error if not. Fixes part of bug 31687; bugfix
+ on 0.2.3.4-alpha.
+
+ o Minor bugfixes (guards, backport from 0.4.2.1-alpha):
+ - When tor is missing descriptors for some primary entry guards,
+ make the log message less alarming. It's normal for descriptors to
+ expire, as long as tor fetches new ones soon after. Fixes bug
+ 31657; bugfix on 0.3.3.1-alpha.
+
+ o Minor bugfixes (logging, backport from 0.4.2.1-alpha):
+ - Change log level of message "Hash of session info was not as
+ expected" to LOG_PROTOCOL_WARN. Fixes bug 12399; bugfix
+ on 0.1.1.10-alpha.
+
+ o Minor bugfixes (rust, backport from 0.4.2.1-alpha):
+ - Correctly exclude a redundant rust build job in Travis. Fixes bug
+ 31463; bugfix on 0.3.5.4-alpha.
+
+ o Minor bugfixes (v2 single onion services, backport from 0.4.2.1-alpha):
+ - Always retry v2 single onion service intro and rend circuits with
+ a 3-hop path. Previously, v2 single onion services used a 3-hop
+ path when rendezvous circuits were retried after a remote or
+ delayed failure, but a 1-hop path for immediate retries. Fixes bug
+ 23818; bugfix on 0.2.9.3-alpha.
+
+ o Minor bugfixes (v3 single onion services, backport from 0.4.2.1-alpha):
+ - Always retry v3 single onion service intro and rend circuits with
+ a 3-hop path. Previously, v3 single onion services used a 3-hop
+ path when rend circuits were retried after a remote or delayed
+ failure, but a 1-hop path for immediate retries. Fixes bug 23818;
+ bugfix on 0.3.2.1-alpha.
+ - Make v3 single onion services fall back to a 3-hop intro, when all
+ intro points are unreachable via a 1-hop path. Previously, v3
+ single onion services failed when all intro nodes were unreachable
+ via a 1-hop path. Fixes bug 23507; bugfix on 0.3.2.1-alpha.
+
+ o Documentation (backport from 0.4.2.1-alpha):
+ - Use RFC 2397 data URL scheme to embed an image into tor-exit-
+ notice.html so that operators no longer have to host it
+ themselves. Closes ticket 31089.
+
+
+Changes in version 0.4.1.5 - 2019-08-20
+ This is the first stable release in the 0.4.1.x series. This series
+ adds experimental circuit-level padding, authenticated SENDME cells to
+ defend against certain attacks, and several performance improvements
+ to save on CPU consumption. It fixes bugs in bootstrapping and v3
+ onion services. It also includes numerous smaller features and
+ bugfixes on earlier versions.
+
+ Per our support policy, we will support the 0.4.1.x series for nine
+ months, or until three months after the release of a stable 0.4.2.x:
+ whichever is longer. If you need longer-term support, please stick
+ with 0.3.5.x, which will we plan to support until Feb 2022.
+
+ Below are the changes since 0.4.0.5. For a list of only the changes
+ since 0.4.1.4-rc, see the ChangeLog file.
+
+ o Directory authority changes:
+ - The directory authority "dizum" has a new IP address. Closes
+ ticket 31406.
+
+ o Major features (circuit padding):
+ - Onion service clients now add padding cells at the start of their
+ INTRODUCE and RENDEZVOUS circuits, to make those circuits' traffic
+ look more like general purpose Exit traffic. The overhead for this
+ is 2 extra cells in each direction for RENDEZVOUS circuits, and 1
+ extra upstream cell and 10 downstream cells for INTRODUCE
+ circuits. This feature is only enabled when also supported by the
+ circuit's middle node. (Clients may specify fixed middle nodes
+ with the MiddleNodes option, and may force-disable this feature
+ with the CircuitPadding option.) Closes ticket 28634.
+
+ o Major features (code organization):
+ - Tor now includes a generic publish-subscribe message-passing
+ subsystem that we can use to organize intermodule dependencies. We
+ hope to use this to reduce dependencies between modules that don't
+ need to be related, and to generally simplify our codebase. Closes
+ ticket 28226.
+
+ o Major features (controller protocol):
+ - Controller commands are now parsed using a generalized parsing
+ subsystem. Previously, each controller command was responsible for
+ parsing its own input, which led to strange inconsistencies.
+ Closes ticket 30091.
+
+ o Major features (flow control):
+ - Implement authenticated SENDMEs as detailed in proposal 289. A
+ SENDME cell now includes the digest of the traffic that it
+ acknowledges, so that once an end point receives the SENDME, it
+ can confirm the other side's knowledge of the previous cells that
+ were sent, and prevent certain types of denial-of-service attacks.
+ This behavior is controlled by two new consensus parameters: see
+ the proposal for more details. Fixes ticket 26288.
+
+ o Major features (performance):
+ - Our node selection algorithm now excludes nodes in linear time.
+ Previously, the algorithm was quadratic, which could slow down
+ heavily used onion services. Closes ticket 30307.
+
+ o Major features (performance, RNG):
+ - Tor now constructs a fast secure pseudorandom number generator for
+ each thread, to use when performance is critical. This PRNG is
+ based on AES-CTR, using a buffering construction similar to
+ libottery and the (newer) OpenBSD arc4random() code. It
+ outperforms OpenSSL 1.1.1a's CSPRNG by roughly a factor of 100 for
+ small outputs. Although we believe it to be cryptographically
+ strong, we are only using it when necessary for performance.
+ Implements tickets 29023 and 29536.
+
+ o Major bugfixes (bridges):
+ - Consider our directory information to have changed when our list
+ of bridges changes. Previously, Tor would not re-compute the
+ status of its directory information when bridges changed, and
+ therefore would not realize that it was no longer able to build
+ circuits. Fixes part of bug 29875.
+ - Do not count previously configured working bridges towards our
+ total of working bridges. Previously, when Tor's list of bridges
+ changed, it would think that the old bridges were still usable,
+ and delay fetching router descriptors for the new ones. Fixes part
+ of bug 29875; bugfix on 0.3.0.1-alpha.
+
+ o Major bugfixes (circuit build, guard):
+ - On relays, properly check that a padding machine is absent before
+ logging a warning about it being absent. Fixes bug 30649; bugfix
+ on 0.4.0.1-alpha.
+ - When considering upgrading circuits from "waiting for guard" to
+ "open", always ignore circuits that are marked for close. Otherwise,
+ we can end up in the situation where a subsystem is notified that
+ a closing circuit has just opened, leading to undesirable
+ behavior. Fixes bug 30871; bugfix on 0.3.0.1-alpha.
+
+ o Major bugfixes (onion service reachability):
+ - Properly clean up the introduction point map when circuits change
+ purpose from onion service circuits to pathbias, measurement, or
+ other circuit types. This should fix some service-side instances
+ of introduction point failure. Fixes bug 29034; bugfix
+ on 0.3.2.1-alpha.
+
+ o Major bugfixes (onion service v3):
+ - Fix an unreachable bug in which an introduction point could try to
+ send an INTRODUCE_ACK with a status code that Trunnel would refuse
+ to encode, leading the relay to assert(). We've consolidated the
+ ABI values into Trunnel now. Fixes bug 30454; bugfix
+ on 0.3.0.1-alpha.
+ - Clients can now handle unknown status codes from INTRODUCE_ACK
+ cells. (The NACK behavior will stay the same.) This will allow us
+ to extend status codes in the future without breaking the normal
+ client behavior. Fixes another part of bug 30454; bugfix
+ on 0.3.0.1-alpha.
+
+ o Minor features (authenticated SENDME):
+ - Ensure that there is enough randomness on every circuit to prevent
+ an attacker from successfully predicting the hashes they will need
+ to include in authenticated SENDME cells. At a random interval, if
+ we have not sent randomness already, we now leave some extra space
+ at the end of a cell that we can fill with random bytes. Closes
+ ticket 26846.
+
+ o Minor features (circuit padding logging):
+ - Demote noisy client-side warn logs about circuit padding to protocol
+ warnings. Add additional log messages and circuit ID fields to help
+ with bug 30992 and any other future issues.
+
+ o Minor features (circuit padding):
+ - We now use a fast PRNG when scheduling circuit padding. Part of
+ ticket 28636.
+ - Allow the padding machine designer to pick the edges of their
+ histogram instead of trying to compute them automatically using an
+ exponential formula. Resolves some undefined behavior in the case
+ of small histograms and allows greater flexibility on machine
+ design. Closes ticket 29298; bugfix on 0.4.0.1-alpha.
+ - Allow circuit padding machines to hold a circuit open until they
+ are done padding it. Closes ticket 28780.
+
+ o Minor features (compile-time modules):
+ - Add a "--list-modules" command to print a list of which compile-
+ time modules are enabled. Closes ticket 30452.
+
+ o Minor features (continuous integration):
+ - Our Travis configuration now uses Chutney to run some network
+ integration tests automatically. Closes ticket 29280.
+ - When running coverage builds on Travis, we now set
+ TOR_TEST_RNG_SEED, to avoid RNG-based coverage differences. Part
+ of ticket 28878.
+ - Remove sudo configuration lines from .travis.yml as they are no
+ longer needed with current Travis build environment. Resolves
+ issue 30213.
+ - In Travis, show stem's tor log after failure. Closes ticket 30234.
+
+ o Minor features (controller):
+ - Add onion service version 3 support to the HSFETCH command.
+ Previously, only version 2 onion services were supported. Closes
+ ticket 25417. Patch by Neel Chauhan.
+
+ o Minor features (debugging):
+ - Introduce tor_assertf() and tor_assertf_nonfatal() to enable
+ logging of additional information during assert failure. Now we
+ can use format strings to include information for trouble
+ shooting. Resolves ticket 29662.
+
+ o Minor features (defense in depth):
+ - In smartlist_remove_keeporder(), set unused pointers to NULL, in
+ case a bug causes them to be used later. Closes ticket 30176.
+ Patch from Tobias Stoeckmann.
+ - Tor now uses a cryptographically strong PRNG even for decisions
+ that we do not believe are security-sensitive. Previously, for
+ performance reasons, we had used a trivially predictable linear
+ congruential generator algorithm for certain load-balancing and
+ statistical sampling decisions. Now we use our fast RNG in those
+ cases. Closes ticket 29542.
+
+ o Minor features (developer tools):
+ - Tor's "practracker" test script now checks for files and functions
+ that seem too long and complicated. Existing overlong functions
+ and files are accepted for now, but should eventually be
+ refactored. Closes ticket 29221.
+ - Add some scripts used for git maintenance to scripts/git. Closes
+ ticket 29391.
+ - Call practracker from pre-push and pre-commit git hooks to let
+ developers know if they made any code style violations. Closes
+ ticket 30051.
+ - Add a script to check that each header has a well-formed and
+ unique guard macro. Closes ticket 29756.
+
+ o Minor features (fallback directory list):
+ - Replace the 157 fallbacks originally introduced in Tor 0.3.5.6-rc
+ in December 2018 (of which ~122 were still functional), with a
+ list of 148 fallbacks (70 new, 78 existing, 79 removed) generated
+ in June 2019. Closes ticket 28795.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the June 10 2019 Maxmind GeoLite2
+ Country database. Closes ticket 30852.
+ - Update geoip and geoip6 to the May 13 2019 Maxmind GeoLite2
+ Country database. Closes ticket 30522.
+
+ o Minor features (HTTP tunnel):
+ - Return an informative web page when the HTTPTunnelPort is used as
+ an HTTP proxy. Closes ticket 27821, patch by "eighthave".
+
+ o Minor features (IPv6, v3 onion services):
+ - Make v3 onion services put IPv6 addresses in service descriptors.
+ Before this change, service descriptors only contained IPv4
+ addresses. Implements 26992.
+
+ o Minor features (logging):
+ - Give a more useful assertion failure message if we think we have
+ minherit() but we fail to make a region non-inheritable. Give a
+ compile-time warning if our support for minherit() is incomplete.
+ Closes ticket 30686.
+
+ o Minor features (maintenance):
+ - Add a new "make autostyle" target that developers can use to apply
+ all automatic Tor style and consistency conversions to the
+ codebase. Closes ticket 30539.
+
+ o Minor features (modularity):
+ - The "--disable-module-dirauth" compile-time option now disables
+ even more dirauth-only code. Closes ticket 30345.
+
+ o Minor features (performance):
+ - Use OpenSSL's implementations of SHA3 when available (in OpenSSL
+ 1.1.1 and later), since they tend to be faster than tiny-keccak.
+ Closes ticket 28837.
+
+ o Minor features (testing):
+ - The circuitpadding tests now use a reproducible RNG implementation,
+ so that if a test fails, we can learn why. Part of ticket 28878.
+ - Tor's tests now support an environment variable, TOR_TEST_RNG_SEED,
+ to set the RNG seed for tests that use a reproducible RNG. Part of
+ ticket 28878.
+ - When running tests in coverage mode, take additional care to make
+ our coverage deterministic, so that we can accurately track
+ changes in code coverage. Closes ticket 30519.
+ - Tor's unit test code now contains helper functions to replace the
+ PRNG with a deterministic or reproducible version for testing.
+ Previously, various tests implemented this in various ways.
+ Implements ticket 29732.
+ - We now have a script, cov-test-determinism.sh, to identify places
+ where our unit test coverage has become nondeterministic. Closes
+ ticket 29436.
+ - Check that representative subsets of values of `int` and `unsigned
+ int` can be represented by `void *`. Resolves issue 29537.
+
+ o Minor bugfixes (bridge authority):
+ - Bridge authorities now set bridges as running or non-running when
+ about to dump their status to a file. Previously, they set bridges
+ as running in response to a GETINFO command, but those shouldn't
+ modify data structures. Fixes bug 24490; bugfix on 0.2.0.13-alpha.
+ Patch by Neel Chauhan.
+
+ o Minor bugfixes (channel padding statistics):
+ - Channel padding write totals and padding-enabled totals are now
+ counted properly in relay extrainfo descriptors. Fixes bug 29231;
+ bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (circuit isolation):
+ - Fix a logic error that prevented the SessionGroup sub-option from
+ being accepted. Fixes bug 22619; bugfix on 0.2.7.2-alpha.
+
+ o Minor bugfixes (circuit padding):
+ - Add a "CircuitPadding" torrc option to disable circuit padding.
+ Fixes bug 28693; bugfix on 0.4.0.1-alpha.
+ - Allow circuit padding machines to specify that they do not
+ contribute much overhead, and provide consensus flags and torrc
+ options to force clients to only use these low overhead machines.
+ Fixes bug 29203; bugfix on 0.4.0.1-alpha.
+ - Provide a consensus parameter to fully disable circuit padding, to
+ be used in emergency network overload situations. Fixes bug 30173;
+ bugfix on 0.4.0.1-alpha.
+ - The circuit padding subsystem will no longer schedule padding if
+ dormant mode is enabled. Fixes bug 28636; bugfix on 0.4.0.1-alpha.
+ - Inspect a circuit-level cell queue before sending padding, to
+ avoid sending padding while too much data is already queued. Fixes
+ bug 29204; bugfix on 0.4.0.1-alpha.
+ - Avoid calling monotime_absolute_usec() in circuit padding machines
+ that do not use token removal or circuit RTT estimation. Fixes bug
+ 29085; bugfix on 0.4.0.1-alpha.
+
+ o Minor bugfixes (clock skew detection):
+ - Don't believe clock skew results from NETINFO cells that appear to
+ arrive before we sent the VERSIONS cells they are responding to.
+ Previously, we would accept them up to 3 minutes "in the past".
+ Fixes bug 31343; bugfix on 0.2.4.4-alpha.
+
+ o Minor bugfixes (compatibility, standards compliance):
+ - Fix a bug that would invoke undefined behavior on certain
+ operating systems when trying to asprintf() a string exactly
+ INT_MAX bytes long. We don't believe this is exploitable, but it's
+ better to fix it anyway. Fixes bug 31001; bugfix on 0.2.2.11-alpha.
+ Found and fixed by Tobias Stoeckmann.
+
+ o Minor bugfixes (compilation warning):
+ - Fix a compilation warning on Windows about casting a function
+ pointer for GetTickCount64(). Fixes bug 31374; bugfix on
+ 0.2.9.1-alpha.
+
+ o Minor bugfixes (compilation):
+ - Avoid using labs() on time_t, which can cause compilation warnings
+ on 64-bit Windows builds. Fixes bug 31343; bugfix on 0.2.4.4-alpha.
+
+ o Minor bugfixes (compilation, unusual configurations):
+ - Avoid failures when building with the ALL_BUGS_ARE_FATAL option
+ due to missing declarations of abort(), and prevent other such
+ failures in the future. Fixes bug 30189; bugfix on 0.3.4.1-alpha.
+
+ o Minor bugfixes (configuration, proxies):
+ - Fix a bug that prevented us from supporting SOCKS5 proxies that
+ want authentication along with configured (but unused!)
+ ClientTransportPlugins. Fixes bug 29670; bugfix on 0.2.6.1-alpha.
+
+ o Minor bugfixes (continuous integration):
+ - Allow the test-stem job to fail in Travis, because it sometimes
+ hangs. Fixes bug 30744; bugfix on 0.3.5.4-alpha.
+ - Skip test_rebind on macOS in Travis, because it is unreliable on
+ macOS on Travis. Fixes bug 30713; bugfix on 0.3.5.1-alpha.
+ - Skip test_rebind when the TOR_SKIP_TEST_REBIND environment
+ variable is set. Fixes bug 30713; bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (controller protocol):
+ - Teach the controller parser to distinguish an object preceded by
+ an argument list from one without. Previously, it couldn't
+ distinguish an argument list from the first line of a multiline
+ object. Fixes bug 29984; bugfix on 0.2.3.8-alpha.
+
+ o Minor bugfixes (crash on exit):
+ - Avoid a set of possible code paths that could try to use freed
+ memory in routerlist_free() while Tor was exiting. Fixes bug
+ 31003; bugfix on 0.1.2.2-alpha.
+
+ o Minor bugfixes (developer tooling):
+ - Fix pre-push hook to allow fixup and squash commits when pushing
+ to non-upstream git remote. Fixes bug 30286; bugfix
+ on 0.4.0.1-alpha.
+
+ o Minor bugfixes (directory authorities):
+ - Stop crashing after parsing an unknown descriptor purpose
+ annotation. We think this bug can only be triggered by modifying a
+ local file. Fixes bug 30781; bugfix on 0.2.0.8-alpha.
+ - Move the "bandwidth-file-headers" line in directory authority
+ votes so that it conforms to dir-spec.txt. Fixes bug 30316; bugfix
+ on 0.3.5.1-alpha.
+ - Directory authorities with IPv6 support now always mark themselves
+ as reachable via IPv6. Fixes bug 24338; bugfix on 0.2.4.1-alpha.
+ Patch by Neel Chauhan.
+
+ o Minor bugfixes (documentation):
+ - Improve the documentation for using MapAddress with ".exit". Fixes
+ bug 30109; bugfix on 0.1.0.1-rc.
+ - Improve the monotonic time module and function documentation to
+ explain what "monotonic" actually means, and document some results
+ that have surprised people. Fixes bug 29640; bugfix
+ on 0.2.9.1-alpha.
+ - Use proper formatting when providing an example on quoting options
+ that contain whitespace. Fixes bug 29635; bugfix on 0.2.3.18-rc.
+
+ o Minor bugfixes (logging):
+ - Do not log a warning when running with an OpenSSL version other
+ than the one Tor was compiled with, if the two versions should be
+ compatible. Previously, we would warn whenever the version was
+ different. Fixes bug 30190; bugfix on 0.2.4.2-alpha.
+ - Warn operators when the MyFamily option is set but ContactInfo is
+ missing, as the latter should be set too. Fixes bug 25110; bugfix
+ on 0.3.3.1-alpha.
+
+ o Minor bugfixes (memory leaks):
+ - Avoid a minor memory leak that could occur on relays when failing
+ to create a "keys" directory. Fixes bug 30148; bugfix
+ on 0.3.3.1-alpha.
+ - Fix a trivial memory leak when parsing an invalid value from a
+ download schedule in the configuration. Fixes bug 30894; bugfix
+ on 0.3.4.1-alpha.
+
+ o Minor bugfixes (NetBSD):
+ - Fix usage of minherit() on NetBSD and other platforms that define
+ MAP_INHERIT_{ZERO,NONE} instead of INHERIT_{ZERO,NONE}. Fixes bug
+ 30614; bugfix on 0.4.0.2-alpha. Patch from Taylor Campbell.
+
+ 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
+ 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,
+ "QUERY_RATE_LIMITED". Previously, we would log QUERY_NO_HSDIR for
+ this case. Fixes bug 28269; bugfix on 0.3.1.1-alpha. Patch by
+ Neel Chauhan.
+ - When relaunching a circuit to a rendezvous service, mark the
+ circuit as needing high-uptime routers as appropriate. Fixes bug
+ 17357; bugfix on 0.1.0.1-rc. Patch by Neel Chauhan.
+ - Stop ignoring IPv6 link specifiers sent to v3 onion services.
+ (IPv6 support for v3 onion services is still incomplete: see
+ ticket 23493 for details.) Fixes bug 23588; bugfix on
+ 0.3.2.1-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (onion services, performance):
+ - When building circuits to onion services, call tor_addr_parse()
+ less often. Previously, we called tor_addr_parse() in
+ circuit_is_acceptable() even if its output wasn't used. This
+ change should improve performance when building circuits. Fixes
+ bug 22210; bugfix on 0.2.8.12. Patch by Neel Chauhan.
+
+ o Minor bugfixes (out-of-memory handler):
+ - When purging the DNS cache because of an out-of-memory condition,
+ try purging just the older entries at first. Previously, we would
+ always purge the whole thing. Fixes bug 29617; bugfix
+ on 0.3.5.1-alpha.
+
+ o Minor bugfixes (performance):
+ - When checking whether a node is a bridge, use a fast check to make
+ sure that its identity is set. Previously, we used a constant-time
+ check, which is not necessary in this case. Fixes bug 30308;
+ bugfix on 0.3.5.1-alpha.
+
+ o Minor bugfixes (pluggable transports):
+ - Tor now sets TOR_PT_EXIT_ON_STDIN_CLOSE=1 for client transports as
+ well as servers. Fixes bug 25614; bugfix on 0.2.7.1-alpha.
+
+ o Minor bugfixes (portability):
+ - Avoid crashing in our tor_vasprintf() implementation on systems
+ that define neither vasprintf() nor _vscprintf(). (This bug has
+ been here long enough that we question whether people are running
+ Tor on such systems, but we're applying the fix out of caution.)
+ Fixes bug 30561; bugfix on 0.2.8.2-alpha. Found and fixed by
+ Tobias Stoeckmann.
+
+ o Minor bugfixes (probability distributions):
+ - Refactor and improve parts of the probability distribution code
+ that made Coverity complain. Fixes bug 29805; bugfix
+ on 0.4.0.1-alpha.
+
+ o Minor bugfixes (python):
+ - Stop assuming that /usr/bin/python3 exists. For scripts that work
+ with python2, use /usr/bin/python. Otherwise, use /usr/bin/env
+ python3. Fixes bug 29913; bugfix on 0.2.5.3-alpha.
+
+ o Minor bugfixes (relay):
+ - When running as a relay, if IPv6Exit is set to 1 while ExitRelay
+ is auto, act as if ExitRelay is 1. Previously, we would ignore
+ IPv6Exit if ExitRelay was 0 or auto. Fixes bug 29613; bugfix on
+ 0.3.5.1-alpha. Patch by Neel Chauhan.
+
+ o Minor bugfixes (static analysis):
+ - Fix several spurious Coverity warnings about the unit tests, to
+ lower our chances of missing real warnings in the future. Fixes
+ bug 30150; bugfix on 0.3.5.1-alpha and various other Tor versions.
+
+ o Minor bugfixes (stats):
+ - When ExtraInfoStatistics is 0, stop including bandwidth usage
+ statistics, GeoIPFile hashes, ServerTransportPlugin lines, and
+ bridge statistics by country in extra-info documents. Fixes bug
+ 29018; bugfix on 0.2.4.1-alpha.
+
+ o Minor bugfixes (testing):
+ - Call setrlimit() to disable core dumps in test_bt_cl.c. Previously
+ we used `ulimit -c` in test_bt.sh, which violates POSIX shell
+ compatibility. Fixes bug 29061; bugfix on 0.3.5.1-alpha.
+ - Fix some incorrect code in the v3 onion service unit tests. Fixes
+ bug 29243; bugfix on 0.3.2.1-alpha.
+ - In the "routerkeys/*" tests, check the return values of mkdir()
+ for possible failures. Fixes bug 29939; bugfix on 0.2.7.2-alpha.
+ Found by Coverity as CID 1444254.
+ - Split test_utils_general() into several smaller test functions.
+ This makes it easier to perform resource deallocation on assert
+ failure, and fixes Coverity warnings CID 1444117 and CID 1444118.
+ Fixes bug 29823; bugfix on 0.2.9.1-alpha.
+
+ o Minor bugfixes (tor-resolve):
+ - Fix a memory leak in tor-resolve that could happen if Tor gave it
+ a malformed SOCKS response. (Memory leaks in tor-resolve don't
+ actually matter, but it's good to fix them anyway.) Fixes bug
+ 30151; bugfix on 0.4.0.1-alpha.
+
+ o Code simplification and refactoring:
+ - Abstract out the low-level formatting of replies on the control
+ port. Implements ticket 30007.
+ - Add several assertions in an attempt to fix some Coverity
+ warnings. Closes ticket 30149.
+ - Introduce a connection_dir_buf_add() helper function that checks
+ for compress_state of dir_connection_t and automatically writes a
+ string to directory connection with or without compression.
+ Resolves issue 28816.
+ - Make the base32_decode() API return the number of bytes written,
+ for consistency with base64_decode(). Closes ticket 28913.
+ - Move most relay-only periodic events out of mainloop.c into the
+ relay subsystem. Closes ticket 30414.
+ - Refactor and encapsulate parts of the codebase that manipulate
+ crypt_path_t objects. Resolves issue 30236.
+ - Refactor several places in our code that Coverity incorrectly
+ believed might have memory leaks. Closes ticket 30147.
+ - Remove redundant return values in crypto_format, and the
+ associated return value checks elsewhere in the code. Make the
+ implementations in crypto_format consistent, and remove redundant
+ code. Resolves ticket 29660.
+ - Rename tor_mem_is_zero() to fast_mem_is_zero(), to emphasize that
+ it is not a constant-time function. Closes ticket 30309.
+ - Replace hs_desc_link_specifier_t with link_specifier_t, and remove
+ all hs_desc_link_specifier_t-specific code. Fixes bug 22781;
+ bugfix on 0.3.2.1-alpha.
+ - Simplify v3 onion service link specifier handling code. Fixes bug
+ 23576; bugfix on 0.3.2.1-alpha.
+ - Split crypto_digest.c into NSS code, OpenSSL code, and shared
+ code. Resolves ticket 29108.
+ - Split control.c into several submodules, in preparation for
+ distributing its current responsibilities throughout the codebase.
+ Closes ticket 29894.
+ - Start to move responsibility for knowing about periodic events to
+ the appropriate subsystems, so that the mainloop doesn't need to
+ know all the periodic events in the rest of the codebase.
+ Implements tickets 30293 and 30294.
+
+ o Documentation:
+ - Mention URLs for Travis/Appveyor/Jenkins in ReleasingTor.md.
+ Closes ticket 30630.
+ - Document how to find git commits and tags for bug fixes in
+ CodingStandards.md. Update some file documentation. Closes
+ ticket 30261.
+
+ o Removed features:
+ - Remove the linux-tor-prio.sh script from contrib/operator-tools
+ directory. Resolves issue 29434.
+ - Remove the obsolete OpenSUSE initscript. Resolves issue 30076.
+ - Remove the obsolete script at contrib/dist/tor.sh.in. Resolves
+ issue 30075.
+
+ o Testing:
+ - Specify torrc paths (with empty files) when launching tor in
+ integration tests; refrain from reading user and system torrcs.
+ Resolves issue 29702.
+
+ o Code simplification and refactoring (shell scripts):
+ - Clean up many of our shell scripts to fix shellcheck warnings.
+ These include autogen.sh (ticket 26069), test_keygen.sh (ticket
+ 29062), test_switch_id.sh (ticket 29065), test_rebind.sh (ticket
+ 29063), src/test/fuzz/minimize.sh (ticket 30079), test_rust.sh
+ (ticket 29064), torify (ticket 29070), asciidoc-helper.sh (29926),
+ fuzz_multi.sh (30077), fuzz_static_testcases.sh (ticket 29059),
+ nagios-check-tor-authority-cert (ticket 29071),
+ src/test/fuzz/fixup_filenames.sh (ticket 30078), test-network.sh
+ (ticket 29060), test_key_expiration.sh (ticket 30002),
+ zero_length_keys.sh (ticket 29068), and test_workqueue_*.sh
+ (ticket 29067).
+
+ o Testing (chutney):
+ - In "make test-network-all", test IPv6-only v3 single onion
+ services, using the chutney network single-onion-v23-ipv6-md.
+ Closes ticket 27251.
+
+ o Testing (continuous integration):
+ - In Travis, make stem log a controller trace to the console, and tail
+ stem's tor log after failure. Closes ticket 30591.
+ - In Travis, only run the stem tests that use a tor binary.
+ Closes ticket 30694.
+
+
Changes in version 0.4.0.5 - 2019-05-02
This is the first stable release in the 0.4.0.x series. It contains
improvements for power management and bootstrap reporting, as well as
@@ -360,7 +1269,7 @@ Changes in version 0.4.0.5 - 2019-05-02
we had added up the sum of all nodes with a descriptor, but that
could cause us to build failing circuits when we had either too
many bridges or not enough guard nodes. Fixes bug 25885; bugfix on
- 0.3.6.1-alpha. Patch by Neel Chauhan.
+ 0.2.3.1-alpha. Patch by Neel Chauhan.
o Minor bugfixes (IPv6):
- Fix tor_ersatz_socketpair on IPv6-only systems. Previously, the
diff --git a/changes/bug12399 b/changes/bug12399
deleted file mode 100644
index 922c08c5e3..0000000000
--- a/changes/bug12399
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (logging):
- - Change log level of message "Hash of session info was not as expected"
- to LOG_PROTOCOL_WARN. Fixes bug 12399; bugfix on 0.1.1.10-alpha.
diff --git a/changes/bug22619 b/changes/bug22619
deleted file mode 100644
index 9c71996f5b..0000000000
--- a/changes/bug22619
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (circuit isolation):
- - Fix a logic error that prevented the SessionGroup sub-option from
- being accepted. Fixes bug 22619; bugfix on 0.2.7.2-alpha.
diff --git a/changes/bug23507 b/changes/bug23507
deleted file mode 100644
index de18273fdb..0000000000
--- a/changes/bug23507
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (v3 single onion services):
- - Make v3 single onion services fall back to a 3-hop intro, when there
- all intro points are unreachable via a 1-hop path. Previously, v3
- single onion services failed when all intro nodes were unreachable
- via a 1-hop path. Fixes bug 23507; bugfix on 0.3.2.1-alpha.
diff --git a/changes/bug23818_v2 b/changes/bug23818_v2
deleted file mode 100644
index 0219a20f49..0000000000
--- a/changes/bug23818_v2
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (v2 single onion services):
- - Always retry v2 single onion service intro and rend circuits with a
- 3-hop path. Previously, v2 single onion services used a 3-hop path
- when rend circuits were retried after a remote or delayed failure,
- but a 1-hop path for immediate retries. Fixes bug 23818;
- bugfix on 0.2.9.3-alpha.
diff --git a/changes/bug23818_v3 b/changes/bug23818_v3
deleted file mode 100644
index c430144d81..0000000000
--- a/changes/bug23818_v3
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (v3 single onion services):
- - Always retry v3 single onion service intro and rend circuits with a
- 3-hop path. Previously, v3 single onion services used a 3-hop path
- when rend circuits were retried after a remote or delayed failure,
- but a 1-hop path for immediate retries. Fixes bug 23818;
- bugfix on 0.3.2.1-alpha.
diff --git a/changes/bug29034 b/changes/bug29034
deleted file mode 100644
index e7aa9af00b..0000000000
--- a/changes/bug29034
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (Onion service reachability):
- - Properly clean up the introduction point map when circuits change purpose
- from onion service circuits to pathbias, measurement, or other circuit types.
- This should fix some service-side instances of introduction point failure.
- Fixes bug 29034; bugfix on 0.3.2.1-alpha.
diff --git a/changes/bug29819 b/changes/bug29819
deleted file mode 100644
index d37ac83d66..0000000000
--- a/changes/bug29819
+++ /dev/null
@@ -1,8 +0,0 @@
- o Minor bugfixes (linux seccomp sandbox):
- - Correct how we use libseccomp. Particularly, stop assuming that
- rules are applied in a particular order or that more rules are
- processed after the first match. Neither is the case! In libseccomp
- <2.4.0 this lead to some rules having no effect. Libseccomp 2.4.0
- changed how rules are generated leading to a different ordering
- which in turn lead to a fatal crash during startup. Fixes bug
- 29819; bugfix on 0.2.5.1-alpha. Patch by Peter Gerber.
diff --git a/changes/bug30344 b/changes/bug30344
deleted file mode 100644
index 37561bf944..0000000000
--- a/changes/bug30344
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (connection):
- - Avoid reading data from closed connections, which can cause needless
- loops in libevent and infinite loops in Shadow. Fixes bug 30344; bugfix
- on 0.1.1.1-alpha.
diff --git a/changes/bug30649 b/changes/bug30649
deleted file mode 100644
index 4b2c603171..0000000000
--- a/changes/bug30649
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (circuit padding):
- - On relays, properly check that a padding machine is absent before
- logging a warn about it being absent. Fixes bug 30649;
- bugfix on 0.4.0.1-alpha.
diff --git a/changes/bug30713 b/changes/bug30713
deleted file mode 100644
index e00b98da65..0000000000
--- a/changes/bug30713
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (testing):
- - Skip test_rebind when the TOR_SKIP_TEST_REBIND environmental variable is
- set. Fixes bug 30713; bugfix on 0.3.5.1-alpha.
- - Skip test_rebind on macOS in Travis, because it is unreliable on
- macOS on Travis. Fixes bug 30713; bugfix on 0.3.5.1-alpha.
diff --git a/changes/bug30744 b/changes/bug30744
deleted file mode 100644
index 9f07d4855f..0000000000
--- a/changes/bug30744
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (continuous integration):
- - Allow the test-stem job to fail in Travis, because it sometimes hangs.
- Fixes bug 30744; bugfix on 0.3.5.4-alpha.
diff --git a/changes/bug30781 b/changes/bug30781
deleted file mode 100644
index 7c7adf470e..0000000000
--- a/changes/bug30781
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (directory authorities):
- - Stop crashing after parsing an unknown descriptor purpose annotation.
- We think this bug can only be triggered by modifying a local file.
- Fixes bug 30781; bugfix on 0.2.0.8-alpha.
diff --git a/changes/bug30894 b/changes/bug30894
deleted file mode 100644
index 64c14c4e6d..0000000000
--- a/changes/bug30894
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (memory leaks):
- - Fix a trivial memory leak when parsing an invalid value
- from a download schedule in the configuration. Fixes bug
- 30894; bugfix on 0.3.4.1-alpha.
diff --git a/changes/bug30916 b/changes/bug30916
deleted file mode 100644
index b006bfc75d..0000000000
--- a/changes/bug30916
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (relay):
- - Avoid crashing when starting with a corrupt keys directory where
- the old ntor key and the new ntor key are identical. Fixes bug 30916;
- bugfix on 0.2.4.8-alpha.
diff --git a/changes/bug30942 b/changes/bug30942
deleted file mode 100644
index bd6b2ff581..0000000000
--- a/changes/bug30942
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (circuit padding):
- - Ignore non-padding cells on padding circuits. This addresses various
- warning messages from subsystems that were not expecting padding
- circuits. Fixes bug 30942; bugfix on 0.4.1.1-alpha. \ No newline at end of file
diff --git a/changes/bug30956 b/changes/bug30956
deleted file mode 100644
index 8f52a81de3..0000000000
--- a/changes/bug30956
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (pluggable transports):
- - Always publish bridge pluggable transport information in the extra info
- descriptor, even if ExtraInfoStatistics is 0. This information is
- needed by BridgeDB. Fixes bug 30956; bugfix on 0.4.1.1-alpha.
diff --git a/changes/bug31003 b/changes/bug31003
deleted file mode 100644
index 6c75163380..0000000000
--- a/changes/bug31003
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (crash on exit):
- - Avoid a set of possible code paths that could use try to use freed memory
- in routerlist_free() while Tor was exiting. Fixes bug 31003; bugfix on
- 0.1.2.2-alpha.
diff --git a/changes/bug31024 b/changes/bug31024
deleted file mode 100644
index 888fb2a26b..0000000000
--- a/changes/bug31024
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (circuitpadding):
- - Add two NULL checks in unreachable places to silence Coverity (CID 144729
- and 1447291) and better future proof ourselves. Fixes bug 31024; bugfix
- on 0.4.1.1-alpha. \ No newline at end of file
diff --git a/changes/bug31027 b/changes/bug31027
deleted file mode 100644
index dd3ce20b60..0000000000
--- a/changes/bug31027
+++ /dev/null
@@ -1,3 +0,0 @@
- o Code simplification and refactoring:
- - Remove some dead code from circpad_machine_remove_token() to fix some
- Coverity warnings (CID 1447298). Fixes bug 31027; bugfix on 0.4.1.1-alpha. \ No newline at end of file
diff --git a/changes/bug31080_041 b/changes/bug31080_041
deleted file mode 100644
index 1fe9ec508d..0000000000
--- a/changes/bug31080_041
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (logging):
- - Fix a conflict between the flag used for messaging-domain
- log messages, and the LD_NO_MOCK testing flag. Fixes bug 31080;
- bugfix on 0.4.1.1-alpha.
diff --git a/changes/bug31107 b/changes/bug31107
deleted file mode 100644
index 9652927c30..0000000000
--- a/changes/bug31107
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (logging, protocol violations):
- - Do not log a nonfatal assertion failure when receiving a VERSIONS
- cell on a connection using the obsolete v1 link protocol. Log a
- protocol_warn instead. Fixes bug 31107; bugfix on 0.2.4.4-alpha.
diff --git a/changes/bug31343 b/changes/bug31343
deleted file mode 100644
index 17a8057ead..0000000000
--- a/changes/bug31343
+++ /dev/null
@@ -1,9 +0,0 @@
- o Minor bugfixes (compilation):
- - Avoid using labs() on time_t, which can cause compilation warnings
- on 64-bit Windows builds. Fixes bug 31343; bugfix on 0.2.4.4-alpha.
-
- o Minor bugfixes (clock skew detection):
- - Don't believe clock skew results from NETINFO cells that appear to
- arrive before the VERSIONS cells they are responding to were sent.
- Previously, we would accept them up to 3 minutes "in the past".
- Fixes bug 31343; bugfix on 0.2.4.4-alpha.
diff --git a/changes/bug31356_and_logs b/changes/bug31356_and_logs
deleted file mode 100644
index fb5307cb69..0000000000
--- a/changes/bug31356_and_logs
+++ /dev/null
@@ -1,11 +0,0 @@
- o Minor bugfixes (circuit padding negotiation):
- - Bump circuit padding protover to explicitly signify that the hs setup
- machine support is finalized in 0.4.1.x-stable. This also means that
- 0.4.1.x-alpha clients will not negotiate padding with 0.4.1.x-stable
- relays, and 0.4.1.x-stable clients will not negotiate padding with
- 0.4.1.x-alpha relays (or 0.4.0.x relays). Fixes bug 31356;
- bugfix on 0.4.1.1-alpha.
- o Minor features (circuit padding logging):
- - Demote noisy client-side warn log to a protocol warning. Add additional
- log messages and circuit id fields to help with fixing bug 30992 and any
- other future issues.
diff --git a/changes/bug31408 b/changes/bug31408
deleted file mode 100644
index 3e4ffa927d..0000000000
--- a/changes/bug31408
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (torrc):
- - Stop ignoring torrc options after an %include directive, when the
- included directory ends with a file that does not contain any config
- options. (But does contain comments or whitespace.)
- Fixes bug 31408; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug31463 b/changes/bug31463
deleted file mode 100644
index d85c0887c3..0000000000
--- a/changes/bug31463
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (rust):
- - Correctly exclude a redundant rust build job in Travis. Fixes bug 31463;
- bugfix on 0.3.5.4-alpha.
diff --git a/changes/bug31552 b/changes/bug31552
deleted file mode 100644
index fb33e14429..0000000000
--- a/changes/bug31552
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (compilation):
- - Add more stub functions to fix compilation on Android with LTO, when
- --disable-module-dirauth is used. Previously, these compilation
- settings would make the compiler look for functions that didn't exist.
- Fixes bug 31552; bugfix on 0.4.1.1-alpha.
diff --git a/changes/bug31570 b/changes/bug31570
deleted file mode 100644
index f70b577b4c..0000000000
--- a/changes/bug31570
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (crash, android):
- - Tolerate systems (including some Android installations) where madvise
- and MADV_DONTDUMP are available at build-time, but not at run time.
- Previously, these systems would notice a failed syscall and abort.
- Fixes bug 31570; bugfix on 0.4.1.1-alpha.
diff --git a/changes/bug31571 b/changes/bug31571
deleted file mode 100644
index 86de3537ba..0000000000
--- a/changes/bug31571
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor bugfixes (error handling):
- - Report the tor version whenever an assertion fails. Previously, we only
- reported the Tor version on some crashes, and some non-fatal assertions.
- Fixes bug 31571; bugfix on 0.3.5.1-alpha.
- - On abort, try harder to flush the output buffers of log messages. On
- some platforms (macOS), log messages can be discarded when the process
- terminates. Fixes bug 31571; bugfix on 0.3.5.1-alpha.
diff --git a/changes/bug31594 b/changes/bug31594
deleted file mode 100644
index 75e6ec33cc..0000000000
--- a/changes/bug31594
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (error handling):
- - When tor aborts due to an error, close log file descriptors before
- aborting. Closing the logs makes some OSes flush log file buffers,
- rather than deleting buffered log lines. Fixes bug 31594;
- bugfix on 0.2.5.2-alpha.
diff --git a/changes/bug31614 b/changes/bug31614
deleted file mode 100644
index c425a9fcd4..0000000000
--- a/changes/bug31614
+++ /dev/null
@@ -1,9 +0,0 @@
- o Minor bugfixes (logging):
- - Disable backtrace signal handlers when shutting down tor.
- Fixes bug 31614; bugfix on 0.2.5.2-alpha.
- - Add a missing check for HAVE_PTHREAD_H, because the backtrace code uses
- mutexes. Fixes bug 31614; bugfix on 0.2.5.2-alpha.
- o Documentation:
- - Explain why we can't destroy the backtrace buffer mutex. Explain why
- we don't need to destroy the log mutex.
- Closes ticket 31736.
diff --git a/changes/bug31657 b/changes/bug31657
deleted file mode 100644
index 08e9d95fdf..0000000000
--- a/changes/bug31657
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (guards):
- - When tor is missing descriptors for some primary entry guards, make the
- log message less alarming. It's normal for descriptors to expire, as long
- as tor fetches new ones soon after. Fixes bug 31657;
- bugfix on 0.3.3.1-alpha.
diff --git a/changes/bug31696 b/changes/bug31696
deleted file mode 100644
index b9d6c4130c..0000000000
--- a/changes/bug31696
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (crash, Linux):
- - Tolerate systems (including some Linux installations) where madvise
- and/or MADV_DONTFORK are available at build-time, but not at run time.
- Previously, these systems would notice a failed syscall and abort.
- Fixes bug 31696; bugfix on 0.4.1.1-alpha.
diff --git a/changes/bug31736 b/changes/bug31736
deleted file mode 100644
index beb09e5069..0000000000
--- a/changes/bug31736
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (multithreading):
- - Avoid some undefined behaviour when freeing mutexes.
- Fixes bug 31736; bugfix on 0.0.7.
diff --git a/changes/bug31810 b/changes/bug31810
deleted file mode 100644
index 628d12f09b..0000000000
--- a/changes/bug31810
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (process management):
- - Remove assertion in the Unix process backend. This assertion would trigger
- when a new process is spawned where the executable is not found leading to
- a stack trace from the child process. Fixes bug 31810; bugfix on 0.4.0.1-alpha.
diff --git a/changes/bug31837 b/changes/bug31837
deleted file mode 100644
index 0f976edfe0..0000000000
--- a/changes/bug31837
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (testing):
- - When testing port rebinding, don't busy-wait for tor to log. Instead,
- actually sleep for a short time before polling again. Also improve the
- formatting of control commands and log messages.
- Fixes bug 31837; bugfix on 0.3.5.1-alpha.
diff --git a/changes/bug31884 b/changes/bug31884
deleted file mode 100644
index ddb6c50d74..0000000000
--- a/changes/bug31884
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (Appveyor CI):
- - Avoid spurious errors when Appveyor CI fails before the install step.
- Fixes bug 31884; bugfix on 0.3.4.2-alpha.
diff --git a/changes/bug31897 b/changes/bug31897
deleted file mode 100644
index 81c63e704e..0000000000
--- a/changes/bug31897
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (tests, SunOS):
- - Avoid a map_anon_nofork test failure due to a signed/unsigned integer
- comparison. Fixes bug 31897; bugfix on 0.4.1.1-alpha.
diff --git a/changes/bug31898 b/changes/bug31898
deleted file mode 100644
index 6f3e0a5465..0000000000
--- a/changes/bug31898
+++ /dev/null
@@ -1,4 +0,0 @@
- o Major bugfixes (embedded Tor):
- - Avoid a possible crash when restarting Tor in embedded mode and
- enabling a different set of publish/subscribe messages. Fixes bug
- 31898; bugfix on 0.4.1.1-alpha.
diff --git a/changes/bug31939 b/changes/bug31939
deleted file mode 100644
index a36ea495d6..0000000000
--- a/changes/bug31939
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (tls, logging):
- - Log TLS read buffer length bugs once, rather than filling the logs
- with similar warnings. Fixes bug 31939; bugfix on 0.3.0.4-rc.
diff --git a/changes/bug32108 b/changes/bug32108
deleted file mode 100644
index 2806fa3e5d..0000000000
--- a/changes/bug32108
+++ /dev/null
@@ -1,8 +0,0 @@
- o Major bugfixes (relay):
- - Relays now respect their AccountingMax bandwidth again. When relays
- entered "soft" hibernation (which typically starts when we've hit
- 90% of our AccountingMax), we had stopped checking whether we should
- enter hard hibernation. Soft hibernation refuses new connections and
- new circuits, but the existing circuits can continue, meaning that
- relays could have exceeded their configured AccountingMax. Fixes
- bug 32108; bugfix on 0.4.0.1-alpha.
diff --git a/changes/bug32449 b/changes/bug32449
deleted file mode 100644
index 213d8a1014..0000000000
--- a/changes/bug32449
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (CI, appveyor):
- - Install the mingw OpenSSL package in Appveyor. This makes sure that
- the OpenSSL headers and libraries match in Tor's Appveyor builds.
- (This bug was triggered by an Appveyor image update.)
- Fixes bug 32449; bugfix on 0.3.5.6-rc.
diff --git a/changes/bug32753 b/changes/bug32753
deleted file mode 100644
index 6f59c7729d..0000000000
--- a/changes/bug32753
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (bridges):
- - Lowercase the value of BridgeDistribution from torrc before adding it to
- the descriptor. Fixes bug 32753; bugfix on 0.3.2.3-alpha.
diff --git a/changes/bug32778 b/changes/bug32778
deleted file mode 100644
index ccb6104692..0000000000
--- a/changes/bug32778
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (windows service):
- - Initialize publish/subscribe system when running as a windows service.
- Fixes bug 32778; bugfix on 0.4.1.1-alpha.
diff --git a/changes/bug32841 b/changes/bug32841
deleted file mode 100644
index 48568f6a61..0000000000
--- a/changes/bug32841
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (linux seccomp sandbox):
- - Fix crash when reloading logging configuration while the
- experimental sandbox is enabled. Fixes bug 32841; bugfix
- on 0.4.1.7. Patch by Peter Gerber.
diff --git a/changes/bug33093_logging b/changes/bug33093_logging
deleted file mode 100644
index e26e4a64af..0000000000
--- a/changes/bug33093_logging
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (logging):
- - If we encounter a bug when flushing a buffer to a TLS connection,
- only log the bug once per invocation of the Tor process. Previously we
- would log with every occurrence, which could cause us to run out of
- disk space. Fixes bug 33093; bugfix on 0.3.2.2-alpha.
diff --git a/changes/chutney_ci b/changes/chutney_ci
deleted file mode 100644
index b17d587329..0000000000
--- a/changes/chutney_ci
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor features (continuous integration):
- - Our Travis configuration now uses Chutney to run some network
- integration tests automatically. Closes ticket 29280.
diff --git a/changes/doc30630 b/changes/doc30630
deleted file mode 100644
index 0fbd8d4dd4..0000000000
--- a/changes/doc30630
+++ /dev/null
@@ -1,3 +0,0 @@
- o Documentation:
- - Mention URLs for Travis/Appveyor/Jenkins in ReleasingTor.md. Closes
- ticket 30630.
diff --git a/changes/doc31089 b/changes/doc31089
deleted file mode 100644
index 2fc0ba4f7d..0000000000
--- a/changes/doc31089
+++ /dev/null
@@ -1,4 +0,0 @@
- o Documentation:
- - Use RFC 2397 data URL scheme to embed image into tor-exit-notice.html
- so that operators would no longer have to host it themselves.
- Closes ticket 31089.
diff --git a/changes/geoip-2019-06-10 b/changes/geoip-2019-06-10
deleted file mode 100644
index 2d1e065649..0000000000
--- a/changes/geoip-2019-06-10
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (geoip):
- - Update geoip and geoip6 to the June 10 2019 Maxmind GeoLite2
- Country database. Closes ticket 30852.
-
diff --git a/changes/geoip-2019-10-01 b/changes/geoip-2019-10-01
deleted file mode 100644
index c7ed17b5c4..0000000000
--- a/changes/geoip-2019-10-01
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (geoip):
- - Update geoip and geoip6 to the October 1 2019 Maxmind GeoLite2
- Country database. Closes ticket 31931.
-
diff --git a/changes/geoip-2019-11-06 b/changes/geoip-2019-11-06
deleted file mode 100644
index a470981012..0000000000
--- a/changes/geoip-2019-11-06
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (geoip):
- - Update geoip and geoip6 to the November 6 2019 Maxmind GeoLite2
- Country database. Closes ticket 32440.
-
diff --git a/changes/geoip-2019-12-03 b/changes/geoip-2019-12-03
deleted file mode 100644
index ea62b6ee89..0000000000
--- a/changes/geoip-2019-12-03
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (geoip):
- - Update geoip and geoip6 to the December 3 2019 Maxmind GeoLite2
- Country database. Closes ticket 32685.
-
diff --git a/changes/ticket28795 b/changes/ticket28795
deleted file mode 100644
index 6ae72562bf..0000000000
--- a/changes/ticket28795
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor features (fallback directory list):
- - Replace the 157 fallbacks originally introduced in Tor 0.3.5.6-rc
- in December 2018 (of which ~122 were still functional), with a
- list of 148 fallbacks (70 new, 78 existing, 79 removed) generated
- in June 2019. Closes ticket 28795.
diff --git a/changes/ticket28970 b/changes/ticket28970
deleted file mode 100644
index 138c575fcc..0000000000
--- a/changes/ticket28970
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (clietn, hidden service v3):
- - Fix a BUG() assertion that occurs within a very small race window between
- a client intro circuit opens and its descriptor that gets cleaned up from
- the cache. The circuit is now closed which will trigger a re-fetch of the
- descriptor and continue the HS connection. Fixes bug 28970; bugfix on
- 0.3.2.1-alpha.
diff --git a/changes/ticket30591 b/changes/ticket30591
deleted file mode 100644
index f97c024009..0000000000
--- a/changes/ticket30591
+++ /dev/null
@@ -1,3 +0,0 @@
- o Testing (continuous integration):
- - In Travis, make stem log a controller trace to the console. And tail
- stem's tor log after failure. Closes ticket 30591.
diff --git a/changes/ticket30686 b/changes/ticket30686
deleted file mode 100644
index 36473c1a02..0000000000
--- a/changes/ticket30686
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor features (logging):
- - Give a more useful assertion failure message if we think we have
- minherit() but we fail to make a region non-inheritable. Give a
- compile-time warning if our support for minherit() is
- incomplete. Closes ticket 30686.
diff --git a/changes/ticket30694 b/changes/ticket30694
deleted file mode 100644
index 70dbf6481a..0000000000
--- a/changes/ticket30694
+++ /dev/null
@@ -1,3 +0,0 @@
- o Testing (continuous integration):
- - In Travis, only run the stem tests that use a tor binary.
- Closes ticket 30694.
diff --git a/changes/ticket30860 b/changes/ticket30860
deleted file mode 100644
index b946f735c4..0000000000
--- a/changes/ticket30860
+++ /dev/null
@@ -1,3 +0,0 @@
- o Testing:
- - Run the chutney IPv6 networks as part of Travis CI.
- Closes ticket 30860.
diff --git a/changes/ticket30871 b/changes/ticket30871
deleted file mode 100644
index 81c076bb02..0000000000
--- a/changes/ticket30871
+++ /dev/null
@@ -1,6 +0,0 @@
- o Major bugfixes (circuit build, guard):
- - When considering upgrading circuits from "waiting for guard" to "open",
- always ignore the ones that are mark for close. Else, we can end up in
- the situation where a subsystem is notified of that circuit opening but
- still marked for close leading to undesirable behavior. Fixes bug 30871;
- bugfix on 0.3.0.1-alpha.
diff --git a/changes/ticket31001 b/changes/ticket31001
deleted file mode 100644
index 2ce1cbdf34..0000000000
--- a/changes/ticket31001
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (compatibility, standards compliance):
- - Fix a bug that would invoke undefined behavior on certain operating
- systems when trying to asprintf() a string exactly INT_MAX bytes
- long. We don't believe this is exploitable, but it's better
- to fix it anyway. Fixes bug 31001; bugfix on 0.2.2.11-alpha.
- Found and fixed by Tobias Stoeckmann.
diff --git a/changes/ticket31091 b/changes/ticket31091
deleted file mode 100644
index 3cb9a2c37b..0000000000
--- a/changes/ticket31091
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (pluggable transports):
- - Remove overly strict assertions that triggers when a pluggable transport
- is spawned in an unsuccessful manner. Fixes bug 31091; bugfix on 0.4.0.1-alpha.
diff --git a/changes/ticket31311 b/changes/ticket31311
deleted file mode 100644
index 88dfb85736..0000000000
--- a/changes/ticket31311
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (distribution):
- - Do not ship any temporary files found in the scripts/maint/practracker
- directory. Fixes bug 31311; bugfix on 0.4.1.1-alpha.
diff --git a/changes/ticket31372_appveyor b/changes/ticket31372_appveyor
deleted file mode 100644
index e7bb03182e..0000000000
--- a/changes/ticket31372_appveyor
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (continuous integration):
- - When building on Appveyor, pass the "-k" flag to make, so that
- we are informed of all compilation failures, not just the first
- one or two. Closes part of ticket 31372.
diff --git a/changes/ticket31372_travis b/changes/ticket31372_travis
deleted file mode 100644
index 403869b2ed..0000000000
--- a/changes/ticket31372_travis
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (continuous integration):
- - When building on Travis, pass the "-k" flag to make, so that
- we are informed of all compilation failures, not just the first
- one or two. Closes part of ticket 31372.
diff --git a/changes/ticket31374 b/changes/ticket31374
deleted file mode 100644
index e8eef9cd49..0000000000
--- a/changes/ticket31374
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (compilation warning):
- - Fix a compilation warning on Windows about casting a function
- pointer for GetTickCount64(). Fixes bug 31374; bugfix on
- 0.2.9.1-alpha.
diff --git a/changes/ticket31406 b/changes/ticket31406
deleted file mode 100644
index 0ebe6f6c47..0000000000
--- a/changes/ticket31406
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor features (directory authority):
- - A new IP address the directory authority "dizum" has been changed. Closes
- ticket 31406;
diff --git a/changes/ticket31466 b/changes/ticket31466
deleted file mode 100644
index e535b4502e..0000000000
--- a/changes/ticket31466
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (logging):
- - Rate-limit our 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.
diff --git a/changes/ticket31548 b/changes/ticket31548
deleted file mode 100644
index fef0b5d01f..0000000000
--- a/changes/ticket31548
+++ /dev/null
@@ -1,7 +0,0 @@
- o Major bugfixes (hidden service v3):
- - Make onion service always use the exact amount of configured intro points
- (or less due to node exlusion). Before, a service could sometimes pick
- more intro points than configured with the
- HiddenServiceNumIntroductionPoints option. Fixes bug 31548; bugfix on
- 0.3.2.1-alpha.
-
diff --git a/changes/ticket31549 b/changes/ticket31549
deleted file mode 100644
index 2c27aca4fb..0000000000
--- a/changes/ticket31549
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (authority):
- - Directory authorities now reject relays running all currently
- deprecated release series. The currently supported release series
- are: 0.2.9, 0.3.5, 0.4.0, 0.4.1, and 0.4.2. Closes ticket 31549.
diff --git a/changes/ticket31554 b/changes/ticket31554
deleted file mode 100644
index 73f4159ff3..0000000000
--- a/changes/ticket31554
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (stem tests):
- - Change "make test-stem" so it only runs the stem tests that use tor.
- This change makes test-stem faster and more reliable.
- Closes ticket 31554.
diff --git a/changes/ticket31673 b/changes/ticket31673
deleted file mode 100644
index 3b2bb4a46e..0000000000
--- a/changes/ticket31673
+++ /dev/null
@@ -1,3 +0,0 @@
- o New system requirements (build system):
- - Do not include the deprecated <sys/sysctl.h> on Linux or Windows system.
- Closes 31673;
diff --git a/changes/ticket31687_1 b/changes/ticket31687_1
deleted file mode 100644
index 2f4d440974..0000000000
--- a/changes/ticket31687_1
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (compilation):
- - Suppress spurious float-conversion warnings from GCC when calling
- floating-point classifier functions on FreeBSD. Fixes part of bug
- 31687; bugfix on 0.3.1.5-alpha.
diff --git a/changes/ticket31687_2 b/changes/ticket31687_2
deleted file mode 100644
index eadc698275..0000000000
--- a/changes/ticket31687_2
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (FreeBSD, PF-based proxy, IPv6):
- - When extracting an IPv6 address from a PF-based proxy, verify
- that we are actually configured to receive an IPv6 address,
- and log an internal error if not. Fixes part of bug 31687;
- bugfix on 0.2.3.4-alpha.
diff --git a/changes/ticket31772 b/changes/ticket31772
deleted file mode 100644
index 7847b3f746..0000000000
--- a/changes/ticket31772
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (controller protocol):
- - Fix the MAPADDRESS controller command to accept one or more
- arguments. Previously, it required two or more arguments, and ignored
- the first. Fixes bug 31772; bugfix on 0.4.1.1-alpha.
diff --git a/changes/ticket31859 b/changes/ticket31859
deleted file mode 100644
index dbc591e00b..0000000000
--- a/changes/ticket31859
+++ /dev/null
@@ -1,3 +0,0 @@
- o Testing:
- - Simplify the Travis CI build matrix, and optimise for build time.
- Closes ticket 31859.
diff --git a/changes/ticket31919_bionic b/changes/ticket31919_bionic
deleted file mode 100644
index eb41644555..0000000000
--- a/changes/ticket31919_bionic
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor features (continuous integration):
- - Use Ubuntu Bionic images for our Travis CI builds, so we can get
- a recent version of coccinelle. But leave chutney on Ubuntu Trusty,
- until we can fix some Bionic permissions issues (see ticket 32240).
- Related to ticket 31919.
diff --git a/changes/ticket32058 b/changes/ticket32058
deleted file mode 100644
index b40bcda416..0000000000
--- a/changes/ticket32058
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (mainloop, periodic events):
- - Periodic events enabled flag was not unset properly when shutting down tor
- cleanly. This had the side effect to not re-enable periodic events when
- tor_api.h is used to relaunch tor after a shutdown. Fixes bug 32058;
- bugfix on 0.3.3.1-alpha.
diff --git a/changes/ticket32086 b/changes/ticket32086
deleted file mode 100644
index b9312c2bea..0000000000
--- a/changes/ticket32086
+++ /dev/null
@@ -1,3 +0,0 @@
- o Testing:
- - Use Windows Server 2019 instead of Windows Server 2016 in our
- Appveyor builds. Closes ticket 32086.
diff --git a/changes/ticket32240 b/changes/ticket32240
deleted file mode 100644
index 35cc3df27e..0000000000
--- a/changes/ticket32240
+++ /dev/null
@@ -1,4 +0,0 @@
- o Testing:
- - Turn off Tor's Sandbox in Chutney jobs, and run those jobs on Ubuntu
- Bionic. Turning off the Sandbox is a work-around, until we fix the
- sandbox errors in 32722. Closes ticket 32240.
diff --git a/changes/ticket32241 b/changes/ticket32241
deleted file mode 100644
index 4243cec175..0000000000
--- a/changes/ticket32241
+++ /dev/null
@@ -1,2 +0,0 @@
- o Testing (continuous integration):
- - In Travis, use Xcode 11.2 on macOS 10.14. Closes ticket 32241.
diff --git a/changes/ticket32242 b/changes/ticket32242
deleted file mode 100644
index d63d5a586e..0000000000
--- a/changes/ticket32242
+++ /dev/null
@@ -1,2 +0,0 @@
- o Testing (continuous integration):
- - Use zstd in our Travis Linux builds. Closes ticket 32242.
diff --git a/changes/ticket32407 b/changes/ticket32407
deleted file mode 100644
index badb09abfe..0000000000
--- a/changes/ticket32407
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (crash):
- - When running Tor with an option like --verify-config or --dump-config
- that does not start the event loop, avoid crashing if we try to exit
- early because of an error. Fixes bug 32407; bugfix on 0.3.3.1-alpha.
diff --git a/changes/ticket32500 b/changes/ticket32500
deleted file mode 100644
index 2c0f35df72..0000000000
--- a/changes/ticket32500
+++ /dev/null
@@ -1,5 +0,0 @@
- o Testing:
- - Require C99 standards-conforming code in Travis CI, but allow GNU gcc
- extensions. Also activates clang's -Wtypedef-redefinition warnings.
- Build some jobs with -std=gnu99, and some jobs without.
- Closes ticket 32500.
diff --git a/changes/ticket32629 b/changes/ticket32629
deleted file mode 100644
index 740746c572..0000000000
--- a/changes/ticket32629
+++ /dev/null
@@ -1,4 +0,0 @@
- o Testing:
- - Re-enable the Travis CI macOS Chutney build, but allow the job to finish
- before it finishes, because the Travis macOS jobs are slow.
- Closes ticket 32629.
diff --git a/changes/ticket32792 b/changes/ticket32792
deleted file mode 100644
index 553cf0ca81..0000000000
--- a/changes/ticket32792
+++ /dev/null
@@ -1,3 +0,0 @@
- o Testing:
- - When a Travis chutney job fails, use chutney's new "diagnostics.sh" tool
- to produce detailed diagnostic output. Closes ticket 32792.
diff --git a/changes/ticket33075 b/changes/ticket33075
deleted file mode 100644
index 69698d90b3..0000000000
--- a/changes/ticket33075
+++ /dev/null
@@ -1,4 +0,0 @@
- o Testing:
- - Stop allowing failures on the Travis CI stem tests job. It looks like all
- the stem hangs we were seeing are now fixed, but let's make sure we see
- them if they happen again. Closes ticket 33075.
diff --git a/changes/ticket33194 b/changes/ticket33194
deleted file mode 100644
index b87e55348e..0000000000
--- a/changes/ticket33194
+++ /dev/null
@@ -1,4 +0,0 @@
- o Testing:
- - Remove a redundant distcheck job. Closes ticket 33194.
- - Sort the Travis jobs in order of speed. Putting the slowest jobs first
- takes full advantage of Travis job concurrency. Closes ticket 33194.
diff --git a/changes/ticket33195 b/changes/ticket33195
deleted file mode 100644
index 11abd4816e..0000000000
--- a/changes/ticket33195
+++ /dev/null
@@ -1,4 +0,0 @@
- o Testing:
- - Stop allowing the Chutney IPv6 Travis job to fail. This job was
- previously configured to fast_finish (which requires allow_failure), to
- speed up the build. Closes ticket 33195.
diff --git a/changes/ticket33212 b/changes/ticket33212
deleted file mode 100644
index aeb09e0c67..0000000000
--- a/changes/ticket33212
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (rust, build):
- - Fix a syntax warning given by newer versions of Rust, and creating
- problems for our continuous integration.
- Fixes bug 33212; bugfix on 0.3.5.1-alpha.
diff --git a/changes/ticket33619 b/changes/ticket33619
deleted file mode 100644
index 3c52858b35..0000000000
--- a/changes/ticket33619
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (circuit padding, memory leaks):
- - Avoid a remotely triggered memory leak in the case that a circuit
- padding machine is somehow negotiated twice on the same circuit. Fixes
- bug 33619; bugfix on 0.4.0.1-alpha. Found by Tobias Pulls. This is
- also tracked as TROVE-2020-004.
diff --git a/changes/trove_2020_003 b/changes/trove_2020_003
deleted file mode 100644
index aa1a8f1c78..0000000000
--- a/changes/trove_2020_003
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (onion services v3):
- - Fix assertion failure that could result from a corrupted ADD_ONION control
- port command. Found by Saibato. Fixes bug 33137; bugfix on
- 0.3.3.1-alpha. This issue is also being tracked as TROVE-2020-003.