aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog791
-rw-r--r--ReleaseNotes1037
-rw-r--r--changes/bastet_v64
-rw-r--r--changes/bug155824
-rw-r--r--changes/bug160824
-rw-r--r--changes/bug178576
-rw-r--r--changes/bug18329-minimal6
-rw-r--r--changes/bug194187
-rw-r--r--changes/bug202474
-rw-r--r--changes/bug21074_downgrade4
-rw-r--r--changes/bug213949
-rw-r--r--changes/bug221597
-rw-r--r--changes/bug222125
-rw-r--r--changes/bug222863
-rw-r--r--changes/bug223472
-rw-r--r--changes/bug223499
-rw-r--r--changes/bug223565
-rw-r--r--changes/bug22400_014
-rw-r--r--changes/bug224464
-rw-r--r--changes/bug22502_part112
-rw-r--r--changes/bug225165
-rw-r--r--changes/bug225205
-rw-r--r--changes/bug226368
-rw-r--r--changes/bug226445
-rw-r--r--changes/bug226694
-rw-r--r--changes/bug226704
-rw-r--r--changes/bug22670_024
-rw-r--r--changes/bug22670_036
-rw-r--r--changes/bug226725
-rw-r--r--changes/bug227025
-rw-r--r--changes/bug227197
-rw-r--r--changes/bug227209
-rw-r--r--changes/bug2273712
-rw-r--r--changes/bug227515
-rw-r--r--changes/bug22752_simple6
-rw-r--r--changes/bug227537
-rw-r--r--changes/bug227897
-rw-r--r--changes/bug227974
-rw-r--r--changes/bug228015
-rw-r--r--changes/bug228033
-rw-r--r--changes/bug228305
-rw-r--r--changes/bug22883-config7
-rw-r--r--changes/bug22883-priority8
-rw-r--r--changes/bug228924
-rw-r--r--changes/bug229153
-rw-r--r--changes/bug22916_0273
-rw-r--r--changes/bug229276
-rw-r--r--changes/bug23030_0297
-rw-r--r--changes/bug230535
-rw-r--r--changes/bug230715
-rw-r--r--changes/bug230774
-rw-r--r--changes/bug230787
-rw-r--r--changes/bug230818
-rw-r--r--changes/bug23105-diagnostic4
-rw-r--r--changes/bug231393
-rw-r--r--changes/bug231554
-rw-r--r--changes/bug232334
-rw-r--r--changes/bug232755
-rw-r--r--changes/bug232913
-rw-r--r--changes/bug2331811
-rw-r--r--changes/bug234706
-rw-r--r--changes/bug235334
-rw-r--r--changes/bug235513
-rw-r--r--changes/bug235684
-rw-r--r--changes/bug236084
-rw-r--r--changes/bug236104
-rw-r--r--changes/bug236905
-rw-r--r--changes/bug236936
-rw-r--r--changes/bug238173
-rw-r--r--changes/bug238625
-rw-r--r--changes/bug238743
-rw-r--r--changes/bug239083
-rw-r--r--changes/bug239859
-rw-r--r--changes/bug240867
-rw-r--r--changes/bug240994
-rw-r--r--changes/bug241677
-rw-r--r--changes/bug241703
-rw-r--r--changes/bug241984
-rw-r--r--changes/bug242623
-rw-r--r--changes/bug243135
-rw-r--r--changes/bug244803
-rw-r--r--changes/bug246335
-rw-r--r--changes/bug246667
-rw-r--r--changes/bug247366
-rw-r--r--changes/bug24826_0314
-rw-r--r--changes/bug248594
-rw-r--r--changes/bug248958
-rw-r--r--changes/bug248988
-rw-r--r--changes/bug24898-0296
-rw-r--r--changes/bug249525
-rw-r--r--changes/bug249787
-rw-r--r--changes/bug250703
-rw-r--r--changes/bug252234
-rw-r--r--changes/bug252493
-rw-r--r--changes/bug25249.23
-rw-r--r--changes/bug8185_0256
-rw-r--r--changes/diagnose_227524
-rw-r--r--changes/geoip-2017-11-064
-rw-r--r--changes/geoip-2017-12-064
-rw-r--r--changes/geoip-2018-01-054
-rw-r--r--changes/geoip-2018-02-074
-rw-r--r--changes/geoip-august20174
-rw-r--r--changes/geoip-july20174
-rw-r--r--changes/geoip-june20174
-rw-r--r--changes/geoip-october20174
-rw-r--r--changes/geoip-september20174
-rw-r--r--changes/longclaw-ipv66
-rw-r--r--changes/longclaw_235923
-rw-r--r--changes/more-files4
-rw-r--r--changes/more-threads3
-rw-r--r--changes/multi-priority5
-rw-r--r--changes/new_requirement_pkgconfig5
-rw-r--r--changes/task-222074
-rw-r--r--changes/ticket223485
-rw-r--r--changes/ticket228705
-rw-r--r--changes/ticket228953
-rw-r--r--changes/ticket238564
-rw-r--r--changes/ticket239103
-rw-r--r--changes/ticket243153
-rw-r--r--changes/ticket246816
-rw-r--r--changes/ticket2490213
-rw-r--r--changes/ticket251224
-rw-r--r--changes/ticket251705
-rw-r--r--changes/ticket252024
-rw-r--r--changes/ticket253234
-rw-r--r--changes/ticket_248015
-rw-r--r--changes/trove-2017-0085
-rw-r--r--changes/trove-2017-00910
-rw-r--r--changes/trove-2017-0106
-rw-r--r--changes/trove-2017-0118
-rw-r--r--changes/trove-2017-012-part16
-rw-r--r--changes/trove-2017-012-part25
-rw-r--r--changes/trove-2018-001.16
-rw-r--r--changes/trove-2018-0048
-rwxr-xr-xscripts/maint/lintChanges.py1
135 files changed, 1829 insertions, 683 deletions
diff --git a/ChangeLog b/ChangeLog
index b1f64c92f4..2a284b4620 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,794 @@
+Changes in version 0.3.1.10 - 2018-03-03
+ Tor 0.3.1.10 backports a number of bugfixes, including important fixes for
+ security issues.
+
+ It includes an important security fix for a remote crash attack
+ against directory authorities, tracked as TROVE-2018-001.
+
+ This release also backports our new system for improved resistance to
+ denial-of-service attacks against relays.
+
+ This release also fixes several minor bugs and annoyances from
+ earlier releases.
+
+ All directory authorities should upgrade to one of the versions
+ released today. Relays running 0.3.1.x may wish to update to one of
+ the versions released today, for the DoS mitigations.
+
+ Please note: according to our release calendar, Tor 0.3.1 will no
+ longer be supported after 1 July 2018. If you will be running Tor
+ after that date, you should make sure to plan to upgrade to the latest
+ stable version, or downgrade to 0.2.9 (which will receive long-term
+ support).
+
+ o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
+ - Fix a protocol-list handling bug that could be used to remotely crash
+ directory authorities with a null-pointer exception. Fixes bug 25074;
+ bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
+ CVE-2018-0490.
+
+ o Major features (denial-of-service mitigation, backport from 0.3.3.2-alpha):
+ - Give relays some defenses against the recent network overload. We
+ start with three defenses (default parameters in parentheses).
+ First: if a single client address makes too many concurrent
+ connections (>100), hang up on further connections. Second: if a
+ single client address makes circuits too quickly (more than 3 per
+ second, with an allowed burst of 90) while also having too many
+ connections open (3), refuse new create cells for the next while
+ (1-2 hours). Third: if a client asks to establish a rendezvous
+ point to you directly, ignore the request. These defenses can be
+ manually controlled by new torrc options, but relays will also
+ take guidance from consensus parameters, so there's no need to
+ configure anything manually. Implements ticket 24902.
+
+ o Minor features (linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
+ - Update the sandbox rules so that they should now work correctly
+ with Glibc 2.26. Closes ticket 24315.
+
+ o Major bugfixes (onion services, retry behavior, backport from 0.3.3.1-alpha):
+ - Fix an "off by 2" error in counting rendezvous failures on the
+ onion service side. While we thought we would stop the rendezvous
+ attempt after one failed circuit, we were actually making three
+ circuit attempts before giving up. Now switch to a default of 2,
+ and allow the consensus parameter "hs_service_max_rdv_failures" to
+ override. Fixes bug 24895; bugfix on 0.0.6.
+
+ o Major bugfixes (protocol versions, backport from 0.3.3.2-alpha):
+ - Add Link protocol version 5 to the supported protocols list. Fixes
+ bug 25070; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.3.3.1-alpha):
+ - Fix a set of false positives where relays would consider
+ connections to other relays as being client-only connections (and
+ thus e.g. deserving different link padding schemes) if those
+ relays fell out of the consensus briefly. Now we look only at the
+ initial handshake and whether the connection authenticated as a
+ relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
+
+ o Minor features (denial-of-service avoidance, backport from 0.3.3.2-alpha):
+ - Make our OOM handler aware of the geoip client history cache so it
+ doesn't fill up the memory. This check is important for IPv6 and
+ our DoS mitigation subsystem. Closes ticket 25122.
+
+ o Minor feature (relay statistics, backport from 0.3.2.6-alpha):
+ - Change relay bandwidth reporting stats interval from 4 hours to 24
+ hours in order to reduce the efficiency of guard discovery
+ attacks. Fixes ticket 23856.
+
+ o Minor features (compatibility, OpenSSL, backport from 0.3.3.3-alpha):
+ - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
+ Previous versions of Tor would not have worked with OpenSSL 1.1.1,
+ since they neither disabled TLS 1.3 nor enabled any of the
+ ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
+ Closes ticket 24978.
+
+ o Minor features (fallback directory mirrors, backport from 0.3.2.9):
+ - The fallback directory list has been re-generated based on the
+ current status of the network. Tor uses fallback directories to
+ bootstrap when it doesn't yet have up-to-date directory
+ information. Closes ticket 24801.
+ - Make the default DirAuthorityFallbackRate 0.1, so that clients
+ prefer to bootstrap from fallback directory mirrors. This is a
+ follow-up to 24679, which removed weights from the default
+ fallbacks. Implements ticket 24681.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfix (channel connection, backport from 0.3.3.2-alpha):
+ - Use the actual observed address of an incoming relay connection,
+ not the canonical address of the relay from its descriptor, when
+ making decisions about how to handle the incoming connection.
+ Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
+
+ o Minor bugfix (directory authority, backport from 0.3.3.2-alpha):
+ - Directory authorities, when refusing a descriptor from a rejected
+ relay, now explicitly tell the relay (in its logs) to set a valid
+ ContactInfo address and contact the bad-relays@ mailing list.
+ Fixes bug 25170; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (address selection, backport from 0.3.2.9):
+ - When the fascist_firewall_choose_address_ functions don't find a
+ reachable address, set the returned address to the null address
+ and port. This is a precautionary measure, because some callers do
+ not check the return value. Fixes bug 24736; bugfix
+ on 0.2.8.2-alpha.
+
+ o Major bugfixes (bootstrapping, backport from 0.3.2.5-alpha):
+ - Fetch descriptors aggressively whenever we lack enough to build
+ circuits, regardless of how many descriptors we are missing.
+ Previously, we would delay launching the fetch when we had fewer
+ than 15 missing descriptors, even if some of those descriptors
+ were blocking circuits from building. Fixes bug 23985; bugfix on
+ 0.1.1.11-alpha. The effects of this bug became worse in
+ 0.3.0.3-alpha, when we began treating missing descriptors from our
+ primary guards as a reason to delay circuits.
+ - Don't try fetching microdescriptors from relays that have failed
+ to deliver them in the past. Fixes bug 23817; bugfix
+ on 0.3.0.1-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.3.2.7-rc):
+ - Fix a signed/unsigned comparison warning introduced by our fix to
+ TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
+
+ o Minor bugfixes (control port, linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
+ - Avoid a crash when attempting to use the seccomp2 sandbox together
+ with the OwningControllerProcess feature. Fixes bug 24198; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
+ - Fix a possible crash on malformed consensus. If a consensus had
+ contained an unparseable protocol line, it could have made clients
+ and relays crash with a null-pointer exception. To exploit this
+ issue, however, an attacker would need to be able to subvert the
+ directory authority system. Fixes bug 25251; bugfix on
+ 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
+
+ o Minor bugfixes (directory cache, backport from 0.3.2.5-alpha):
+ - Recover better from empty or corrupt files in the consensus cache
+ directory. Fixes bug 24099; bugfix on 0.3.1.1-alpha.
+ - When a consensus diff calculation is only partially successful,
+ only record the successful parts as having succeeded. Partial
+ success can happen if (for example) one compression method fails
+ but the others succeed. Previously we misrecorded all the
+ calculations as having succeeded, which would later cause a
+ nonfatal assertion failure. Fixes bug 24086; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (entry guards, backport from 0.3.2.3-alpha):
+ - Tor now updates its guard state when it reads a consensus
+ regardless of whether it's missing descriptors. That makes tor use
+ its primary guards to fetch descriptors in some edge cases where
+ it would previously have used fallback directories. Fixes bug
+ 23862; bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (logging, backport from 0.3.3.2-alpha):
+ - Don't treat inability to store a cached consensus object as a bug:
+ it can happen normally when we are out of disk space. Fixes bug
+ 24859; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (memory usage, backport from 0.3.2.8-rc):
+ - When queuing DESTROY cells on a channel, only queue the circuit-id
+ and reason fields: not the entire 514-byte cell. This fix should
+ help mitigate any bugs or attacks that fill up these queues, and
+ free more RAM for other uses. Fixes bug 24666; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (network layer, backport from 0.3.2.5-alpha):
+ - When closing a connection via close_connection_immediately(), we
+ mark it as "not blocked on bandwidth", to prevent later calls from
+ trying to unblock it, and give it permission to read. This fixes a
+ backtrace warning that can happen on relays under various
+ circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
+
+ o Minor bugfixes (path selection, backport from 0.3.2.4-alpha):
+ - When selecting relays by bandwidth, avoid a rounding error that
+ could sometimes cause load to be imbalanced incorrectly.
+ Previously, we would always round upwards; now, we round towards
+ the nearest integer. This had the biggest effect when a relay's
+ weight adjustments should have given it weight 0, but it got
+ weight 1 instead. Fixes bug 23318; bugfix on 0.2.4.3-alpha.
+ - When calculating the fraction of nodes that have descriptors, and
+ all nodes in the network have zero bandwidths, count the number of
+ nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
+ - Actually log the total bandwidth in compute_weighted_bandwidths().
+ Fixes bug 24170; bugfix on 0.2.4.3-alpha.
+
+ o Minor bugfixes (performance, fragile-hardening, backport from 0.3.3.1-alpha):
+ - Improve the performance of our consensus-diff application code
+ when Tor is built with the --enable-fragile-hardening option set.
+ Fixes bug 24826; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (OSX, backport from 0.3.3.1-alpha):
+ - Don't exit the Tor process if setrlimit() fails to change the file
+ limit (which can happen sometimes on some versions of OSX). Fixes
+ bug 21074; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (portability, msvc, backport from 0.3.2.9):
+ - Fix a bug in the bit-counting parts of our timing-wheel code on
+ MSVC. (Note that MSVC is still not a supported build platform, due
+ to cyptographic timing channel risks.) Fixes bug 24633; bugfix
+ on 0.2.9.1-alpha.
+
+ o Minor bugfixes (relay, partial backport):
+ - Make the internal channel_is_client() function look at what sort
+ of connection handshake the other side used, rather than whether
+ the other side ever sent a create_fast cell to us. Backports part
+ of the fixes from bugs 22805 and 24898.
+
+ o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
+ - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
+ 0.2.9.4-alpha.
+ - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
+ bugfix on 0.2.9.4-alpha.
+
+ o Code simplification and refactoring (backport from 0.3.3.3-alpha):
+ - Update the "rust dependencies" submodule to be a project-level
+ repository, rather than a user repository. Closes ticket 25323.
+
+
+Changes in version 0.3.1.9 - 2017-12-01:
+ Tor 0.3.1.9 backports important security and stability fixes from the
+ 0.3.2 development series. All Tor users should upgrade to this
+ release, or to another of the releases coming out today.
+
+ o Major bugfixes (security, backport from 0.3.2.6-alpha):
+ - Fix a denial of service bug where an attacker could use a
+ malformed directory object to cause a Tor instance to pause while
+ OpenSSL would try to read a passphrase from the terminal. (Tor
+ instances run without a terminal, which is the case for most Tor
+ packages, are not impacted.) Fixes bug 24246; bugfix on every
+ version of Tor. Also tracked as TROVE-2017-011 and CVE-2017-8821.
+ Found by OSS-Fuzz as testcase 6360145429790720.
+ - Fix a denial of service issue where an attacker could crash a
+ directory authority using a malformed router descriptor. Fixes bug
+ 24245; bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2017-010
+ and CVE-2017-8820.
+ - When checking for replays in the INTRODUCE1 cell data for a
+ (legacy) onion service, correctly detect replays in the RSA-
+ encrypted part of the cell. We were previously checking for
+ replays on the entire cell, but those can be circumvented due to
+ the malleability of Tor's legacy hybrid encryption. This fix helps
+ prevent a traffic confirmation attack. Fixes bug 24244; bugfix on
+ 0.2.4.1-alpha. This issue is also tracked as TROVE-2017-009
+ and CVE-2017-8819.
+
+ o Major bugfixes (security, onion service v2, backport from 0.3.2.6-alpha):
+ - Fix a use-after-free error that could crash v2 Tor onion services
+ when they failed to open circuits while expiring introduction
+ points. Fixes bug 24313; bugfix on 0.2.7.2-alpha. This issue is
+ also tracked as TROVE-2017-013 and CVE-2017-8823.
+
+ o Major bugfixes (security, relay, backport from 0.3.2.6-alpha):
+ - When running as a relay, make sure that we never build a path
+ through ourselves, even in the case where we have somehow lost the
+ version of our descriptor appearing in the consensus. Fixes part
+ of bug 21534; bugfix on 0.2.0.1-alpha. This issue is also tracked
+ as TROVE-2017-012 and CVE-2017-8822.
+ - When running as a relay, make sure that we never choose ourselves
+ as a guard. Fixes part of bug 21534; bugfix on 0.3.0.1-alpha. This
+ issue is also tracked as TROVE-2017-012 and CVE-2017-8822.
+
+ o Major bugfixes (exit relays, DNS, backport from 0.3.2.4-alpha):
+ - Fix an issue causing DNS to fail on high-bandwidth exit nodes,
+ making them nearly unusable. Fixes bugs 21394 and 18580; bugfix on
+ 0.1.2.2-alpha, which introduced eventdns. Thanks to Dhalgren for
+ identifying and finding a workaround to this bug and to Moritz,
+ Arthur Edelstein, and Roger for helping to track it down and
+ analyze it.
+
+ o Minor features (bridge):
+ - Bridges now include notice in their descriptors that they are
+ bridges, and notice of their distribution status, based on their
+ publication settings. Implements ticket 18329. For more fine-
+ grained control of how a bridge is distributed, upgrade to 0.3.2.x
+ or later.
+
+ o Minor features (directory authority, backport from 0.3.2.6-alpha):
+ - Add an IPv6 address for the "bastet" directory authority. Closes
+ ticket 24394.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the November 6 2017 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfix (relay address resolution, backport from 0.3.2.1-alpha):
+ - Avoid unnecessary calls to directory_fetches_from_authorities() on
+ relays, to prevent spurious address resolutions and descriptor
+ rebuilds. This is a mitigation for bug 21789. Fixes bug 23470;
+ bugfix on in 0.2.8.1-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.3.2.1-alpha):
+ - Fix unused variable warnings in donna's Curve25519 SSE2 code.
+ Fixes bug 22895; bugfix on 0.2.7.2-alpha.
+
+ o Minor bugfixes (logging, relay shutdown, annoyance, backport from 0.3.2.2-alpha):
+ - When a circuit is marked for close, do not attempt to package any
+ cells for channels on that circuit. Previously, we would detect
+ this condition lower in the call stack, when we noticed that the
+ circuit had no attached channel, and log an annoying message.
+ Fixes bug 8185; bugfix on 0.2.5.4-alpha.
+
+ o Minor bugfixes (onion service, backport from 0.3.2.5-alpha):
+ - Rename the consensus parameter "hsdir-interval" to "hsdir_interval"
+ so it matches dir-spec.txt. Fixes bug 24262; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (relay, crash, backport from 0.3.2.4-alpha):
+ - Avoid a crash when transitioning from client mode to bridge mode.
+ Previously, we would launch the worker threads whenever our
+ "public server" mode changed, but not when our "server" mode
+ changed. Fixes bug 23693; bugfix on 0.2.6.3-alpha.
+
+
+Changes in version 0.3.1.8 - 2017-10-25
+ Tor 0.3.1.8 is the second stable release in the 0.3.1 series.
+ It includes several bugfixes, including a bugfix for a crash issue
+ that had affected relays under memory pressure. It also adds
+ a new directory authority, Bastet.
+
+ o Directory authority changes:
+ - Add "Bastet" as a ninth directory authority to the default list.
+ Closes ticket 23910.
+ - The directory authority "Longclaw" has changed its IP address.
+ Closes ticket 23592.
+
+ o Major bugfixes (relay, crash, assertion failure, backport from 0.3.2.2-alpha):
+ - Fix a timing-based assertion failure that could occur when the
+ circuit out-of-memory handler freed a connection's output buffer.
+ Fixes bug 23690; bugfix on 0.2.6.1-alpha.
+
+ o Minor features (directory authorities, backport from 0.3.2.2-alpha):
+ - Remove longclaw's IPv6 address, as it will soon change. Authority
+ IPv6 addresses were originally added in 0.2.8.1-alpha. This leaves
+ 3/8 directory authorities with IPv6 addresses, but there are also
+ 52 fallback directory mirrors with IPv6 addresses. Resolves 19760.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the October 4 2017 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfixes (compilation, backport from 0.3.2.2-alpha):
+ - Fix a compilation warning when building with zstd support on
+ 32-bit platforms. Fixes bug 23568; bugfix on 0.3.1.1-alpha. Found
+ and fixed by Andreas Stieger.
+
+ o Minor bugfixes (compression, backport from 0.3.2.2-alpha):
+ - Handle a pathological case when decompressing Zstandard data when
+ the output buffer size is zero. Fixes bug 23551; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (directory authority, backport from 0.3.2.1-alpha):
+ - Remove the length limit on HTTP status lines that authorities can
+ send in their replies. Fixes bug 23499; bugfix on 0.3.1.6-rc.
+
+ o Minor bugfixes (hidden service, relay, backport from 0.3.2.2-alpha):
+ - Avoid a possible double close of a circuit by the intro point on
+ error of sending the INTRO_ESTABLISHED cell. Fixes bug 23610;
+ bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (memory safety, backport from 0.3.2.3-alpha):
+ - Clear the address when node_get_prim_orport() returns early.
+ Fixes bug 23874; bugfix on 0.2.8.2-alpha.
+
+ o Minor bugfixes (unit tests, backport from 0.3.2.2-alpha):
+ - Fix additional channelpadding unit test failures by using mocked
+ time instead of actual time for all tests. Fixes bug 23608; bugfix
+ on 0.3.1.1-alpha.
+
+
+Changes in version 0.3.1.7 - 2017-09-18
+ Tor 0.3.1.7 is the first stable release in the 0.3.1 series.
+
+ With the 0.3.1 series, Tor now serves and downloads directory
+ information in more compact formats, to save on bandwidth overhead. It
+ also contains a new padding system to resist netflow-based traffic
+ analysis, and experimental support for building parts of Tor in Rust
+ (though no parts of Tor are in Rust yet). There are also numerous
+ small features, bugfixes on earlier release series, and groundwork for
+ the hidden services revamp of 0.3.2.
+
+ This release also includes a fix for TROVE-2017-008, a security bug
+ that affects hidden services running with the SafeLogging option
+ disabled. For more information, see
+ https://trac.torproject.org/projects/tor/ticket/23490
+
+ Per our stable release policy, we plan to support each stable release
+ series for at least the next nine months, or for three months after
+ the first stable release of the next series: whichever is longer. If
+ you need a release with long-term support, we recommend that you stay
+ with the 0.2.9 series.
+
+ Below is a list of the changes since 0.3.1.6-rc. For a list of all
+ changes since 0.3.0, see the ReleaseNotes file.
+
+ o Major bugfixes (security, hidden services, loggging):
+ - Fix a bug where we could log uninitialized stack when a certain
+ hidden service error occurred while SafeLogging was disabled.
+ Fixes bug #23490; bugfix on 0.2.7.2-alpha. This is also tracked as
+ TROVE-2017-008 and CVE-2017-0380.
+
+ o Minor features (defensive programming):
+ - Create a pair of consensus parameters, nf_pad_tor2web and
+ nf_pad_single_onion, to disable netflow padding in the consensus
+ for non-anonymous connections in case the overhead is high. Closes
+ ticket 17857.
+
+ o Minor features (diagnostic):
+ - Add a stack trace to the bug warnings that can be logged when
+ trying to send an outgoing relay cell with n_chan == 0. Diagnostic
+ attempt for bug 23105.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the September 6 2017 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfixes (compilation):
+ - Avoid compiler warnings in the unit tests for calling tor_sscanf()
+ with wide string outputs. Fixes bug 15582; bugfix on 0.2.6.2-alpha.
+
+ o Minor bugfixes (controller):
+ - Do not crash when receiving a HSPOST command with an empty body.
+ Fixes part of bug 22644; bugfix on 0.2.7.1-alpha.
+ - Do not crash when receiving a POSTDESCRIPTOR command with an empty
+ body. Fixes part of bug 22644; bugfix on 0.2.0.1-alpha.
+
+ o Minor bugfixes (relay):
+ - Inform the geoip and rephist modules about all requests, even on
+ relays that are only fetching microdescriptors. Fixes a bug
+ related to 21585; bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (unit tests):
+ - Fix a channelpadding unit test failure on slow systems by using
+ mocked time instead of actual time. Fixes bug 23077; bugfix
+ on 0.3.1.1-alpha.
+
+
+Changes in version 0.3.1.6-rc - 2017-09-05
+ Tor 0.3.1.6-rc fixes a few small bugs and annoyances in the 0.3.1
+ release series, including a bug that produced weird behavior on
+ Windows directory caches.
+
+ This is the first release candidate in the Tor 0.3.1 series. If we
+ find no new bugs or regressions here, the first stable 0.3.1 release
+ will be nearly identical to it.
+
+ o Major bugfixes (windows, directory cache):
+ - On Windows, do not try to delete cached consensus documents and
+ diffs before they are unmapped from memory--Windows won't allow
+ that. Instead, allow the consensus cache directory to grow larger,
+ to hold files that might need to stay around longer. Fixes bug
+ 22752; bugfix on 0.3.1.1-alpha.
+
+ o Minor features (directory authority):
+ - Improve the message that authorities report to relays that present
+ RSA/Ed25519 keypairs that conflict with previously pinned keys.
+ Closes ticket 22348.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the August 3 2017 Maxmind GeoLite2
+ Country database.
+
+ o Minor features (testing):
+ - Add more tests for compression backend initialization. Closes
+ ticket 22286.
+
+ o Minor bugfixes (directory cache):
+ - Fix a memory leak when recovering space in the consensus cache.
+ Fixes bug 23139; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (hidden service):
+ - Increase the number of circuits that a service is allowed to
+ open over a specific period of time. The value was lower than it
+ should be (8 vs 12) in the normal case of 3 introduction points.
+ Fixes bug 22159; bugfix on 0.3.0.5-rc.
+ - Fix a BUG warning during HSv3 descriptor decoding that could be
+ cause by a specially crafted descriptor. Fixes bug 23233; bugfix
+ on 0.3.0.1-alpha. Bug found by "haxxpop".
+ - Rate-limit the log messages if we exceed the maximum number of
+ allowed intro circuits. Fixes bug 22159; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (logging, relay):
+ - Remove a forgotten debugging message when an introduction point
+ successfully establishes a hidden service prop224 circuit with
+ a client.
+ - Change three other log_warn() for an introduction point to
+ protocol warnings, because they can be failure from the network
+ and are not relevant to the operator. Fixes bug 23078; bugfix on
+ 0.3.0.1-alpha and 0.3.0.2-alpha.
+
+ o Minor bugfixes (relay):
+ - When a relay is not running as a directory cache, it will no
+ longer generate compressed consensuses and consensus diff
+ information. Previously, this was a waste of disk and CPU. Fixes
+ bug 23275; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (robustness, error handling):
+ - Improve our handling of the cases where OpenSSL encounters a
+ memory error while encoding keys and certificates. We haven't
+ observed these errors in the wild, but if they do happen, we now
+ detect and respond better. Fixes bug 19418; bugfix on all versions
+ of Tor. Reported by Guido Vranken.
+
+ o Minor bugfixes (stability):
+ - Avoid crashing on a double-free when unable to load or process an
+ included file. Fixes bug 23155; bugfix on 0.3.1.1-alpha. Found
+ with the clang static analyzer.
+
+ o Minor bugfixes (testing):
+ - Fix an undersized buffer in test-memwipe.c. Fixes bug 23291;
+ bugfix on 0.2.7.2-alpha. Found and patched by Ties Stuij.
+ - Port the hs_ntor handshake test to work correctly with recent
+ versions of the pysha3 module. Fixes bug 23071; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (Windows service):
+ - When running as a Windows service, set the ID of the main thread
+ correctly. Failure to do so made us fail to send log messages to
+ the controller in 0.2.1.16-rc, slowed down controller event
+ delivery in 0.2.7.3-rc and later, and crash with an assertion
+ failure in 0.3.1.1-alpha. Fixes bug 23081; bugfix on 0.2.1.6-alpha.
+ Patch and diagnosis from "Vort".
+
+
+Changes in version 0.3.1.5-alpha - 2017-08-01
+ Tor 0.3.1.5-alpha improves the performance of consensus diff
+ calculation, fixes a crash bug on older versions of OpenBSD, and fixes
+ several other bugs. If no serious bugs are found in this version, the
+ next version will be a release candidate.
+
+ This release also marks the end of support for the Tor 0.2.4.x,
+ 0.2.6.x, and 0.2.7.x release series. Those releases will receive no
+ further bug or security fixes. Anyone still running or distributing
+ one of those versions should upgrade.
+
+ o Major features (build system, continuous integration):
+ - Tor's repository now includes a Travis Continuous Integration (CI)
+ configuration file (.travis.yml). This is meant to help new
+ developers and contributors who fork Tor to a Github repository be
+ better able to test their changes, and understand what we expect
+ to pass. To use this new build feature, you must fork Tor to your
+ Github account, then go into the "Integrations" menu in the
+ repository settings for your fork and enable Travis, then push
+ your changes. Closes ticket 22636.
+
+ o Major bugfixes (openbsd, denial-of-service):
+ - Avoid an assertion failure bug affecting our implementation of
+ inet_pton(AF_INET6) on certain OpenBSD systems whose strtol()
+ handling of "0xfoo" differs from what we had expected. Fixes bug
+ 22789; bugfix on 0.2.3.8-alpha. Also tracked as TROVE-2017-007.
+
+ o Major bugfixes (relay, performance):
+ - Perform circuit handshake operations at a higher priority than we
+ use for consensus diff creation and compression. This should
+ prevent circuits from starving when a relay or bridge receives a
+ new consensus, especially on lower-powered machines. Fixes bug
+ 22883; bugfix on 0.3.1.1-alpha.
+
+ o Minor features (bridge authority):
+ - Add "fingerprint" lines to the networkstatus-bridges file produced
+ by bridge authorities. Closes ticket 22207.
+
+ o Minor features (directory cache, consensus diff):
+ - Add a new MaxConsensusAgeForDiffs option to allow directory cache
+ operators with low-resource environments to adjust the number of
+ consensuses they'll store and generate diffs from. Most cache
+ operators should leave it unchanged. Helps to work around
+ bug 22883.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the July 4 2017 Maxmind GeoLite2
+ Country database.
+
+ o Minor features (relay, performance):
+ - Always start relays with at least two worker threads, to prevent
+ priority inversion on slow tasks. Part of the fix for bug 22883.
+ - Allow background work to be queued with different priorities, so
+ that a big pile of slow low-priority jobs will not starve out
+ higher priority jobs. This lays the groundwork for a fix for
+ bug 22883.
+
+ o Minor bugfixes (build system, rust):
+ - Fix a problem where Rust toolchains were not being found when
+ building without --enable-cargo-online-mode, due to setting the
+ $HOME environment variable instead of $CARGO_HOME. Fixes bug
+ 22830; bugfix on 0.3.1.1-alpha. Fix by Chelsea Komlo.
+
+ o Minor bugfixes (compatibility, zstd):
+ - Write zstd epilogues correctly when the epilogue requires
+ reallocation of the output buffer, even with zstd 1.3.0.
+ (Previously, we worked on 1.2.0 and failed with 1.3.0). Fixes bug
+ 22927; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (compilation warnings):
+ - Suppress -Wdouble-promotion warnings with clang 4.0. Fixes bug
+ 22915; bugfix on 0.2.8.1-alpha.
+ - Fix warnings when building with libscrypt and openssl scrypt
+ support on Clang. Fixes bug 22916; bugfix on 0.2.7.2-alpha.
+ - Compile correctly when both openssl 1.1.0 and libscrypt are
+ detected. Previously this would cause an error. Fixes bug 22892;
+ bugfix on 0.3.1.1-alpha.
+ - When building with certain versions of the mingw C header files,
+ avoid float-conversion warnings when calling the C functions
+ isfinite(), isnan(), and signbit(). Fixes bug 22801; bugfix
+ on 0.2.8.1-alpha.
+
+ o Minor bugfixes (coverity build support):
+ - Avoid Coverity build warnings related to our BUG() macro. By
+ default, Coverity treats BUG() as the Linux kernel does: an
+ instant abort(). We need to override that so our BUG() macro
+ doesn't prevent Coverity from analyzing functions that use it.
+ Fixes bug 23030; bugfix on 0.2.9.1-alpha.
+
+ o Minor bugfixes (directory authority):
+ - When a directory authority rejects a descriptor or extrainfo with
+ a given digest, mark that digest as undownloadable, so that we do
+ not attempt to download it again over and over. We previously
+ tried to avoid downloading such descriptors by other means, but we
+ didn't notice if we accidentally downloaded one anyway. This
+ behavior became problematic in 0.2.7.2-alpha, when authorities
+ began pinning Ed25519 keys. Fixes bug 22349; bugfix
+ on 0.2.1.19-alpha.
+
+ o Minor bugfixes (error reporting, windows):
+ - When formatting Windows error messages, use the English format to
+ avoid codepage issues. Fixes bug 22520; bugfix on 0.1.2.8-alpha.
+ Patch from "Vort".
+
+ o Minor bugfixes (file limits, osx):
+ - When setting the maximum number of connections allowed by the OS,
+ always allow some extra file descriptors for other files. Fixes
+ bug 22797; bugfix on 0.2.0.10-alpha.
+
+ o Minor bugfixes (linux seccomp2 sandbox):
+ - Avoid a sandbox failure when trying to re-bind to a socket and
+ mark it as IPv6-only. Fixes bug 20247; bugfix on 0.2.5.1-alpha.
+
+ o Minor bugfixes (memory leaks):
+ - Fix a small memory leak when validating a configuration that uses
+ two or more AF_UNIX sockets for the same port type. Fixes bug
+ 23053; bugfix on 0.2.6.3-alpha. This is CID 1415725.
+
+ o Minor bugfixes (unit tests):
+ - test_consdiff_base64cmp would fail on OS X because while OS X
+ follows the standard of (less than zero/zero/greater than zero),
+ it doesn't follow the convention of (-1/0/+1). Make the test
+ comply with the standard. Fixes bug 22870; bugfix on 0.3.1.1-alpha.
+ - Fix a memory leak in the link-handshake/certs_ok_ed25519 test.
+ Fixes bug 22803; bugfix on 0.3.0.1-alpha.
+
+
+Changes in version 0.3.1.4-alpha - 2017-06-29
+ Tor 0.3.1.4-alpha fixes a path selection bug that would allow a client
+ to use a guard that was in the same network family as a chosen exit
+ relay. This is a security regression; all clients running earlier
+ versions of 0.3.0.x or 0.3.1.x should upgrade to 0.3.0.9
+ or 0.3.1.4-alpha.
+
+ This release also fixes several other bugs introduced in 0.3.0.x
+ and 0.3.1.x, including others that can affect bandwidth usage
+ and correctness.
+
+ o New dependencies:
+ - To build with zstd and lzma support, Tor now requires the
+ pkg-config tool at build time. (This requirement was new in
+ 0.3.1.1-alpha, but was not noted at the time. Noting it here to
+ close ticket 22623.)
+
+ o Major bugfixes (path selection, security):
+ - When choosing which guard to use for a circuit, avoid the exit's
+ family along with the exit itself. Previously, the new guard
+ selection logic avoided the exit, but did not consider its family.
+ Fixes bug 22753; bugfix on 0.3.0.1-alpha. Tracked as TROVE-2017-
+ 006 and CVE-2017-0377.
+
+ o Major bugfixes (compression, zstd):
+ - Correctly detect a full buffer when decompressing a large zstd-
+ compressed input. Previously, we would sometimes treat a full
+ buffer as an error. Fixes bug 22628; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (directory protocol):
+ - Ensure that we send "304 Not modified" as HTTP status code when a
+ client is attempting to fetch a consensus or consensus diff, and
+ the best one we can send them is one they already have. Fixes bug
+ 22702; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (entry guards):
+ - When starting with an old consensus, do not add new entry guards
+ unless the consensus is "reasonably live" (under 1 day old). Fixes
+ one root cause of bug 22400; bugfix on 0.3.0.1-alpha.
+
+ o Minor features (bug mitigation, diagnostics, logging):
+ - Avoid an assertion failure, and log a better error message, when
+ unable to remove a file from the consensus cache on Windows.
+ Attempts to mitigate and diagnose bug 22752.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the June 8 2017 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfixes (compression):
+ - When compressing or decompressing a buffer, check for a failure to
+ create a compression object. Fixes bug 22626; bugfix
+ on 0.3.1.1-alpha.
+ - When decompressing a buffer, check for extra data after the end of
+ the compressed data. Fixes bug 22629; bugfix on 0.3.1.1-alpha.
+ - When decompressing an object received over an anonymous directory
+ connection, if we have already decompressed it using an acceptable
+ compression method, do not reject it for looking like an
+ unacceptable compression method. Fixes part of bug 22670; bugfix
+ on 0.3.1.1-alpha.
+ - When serving directory votes compressed with zlib, do not claim to
+ have compressed them with zstd. Fixes bug 22669; bugfix
+ on 0.3.1.1-alpha.
+ - When spooling compressed data to an output buffer, don't try to
+ spool more data when there is no more data to spool and we are not
+ trying to flush the input. Previously, we would sometimes launch
+ compression requests with nothing to do, which interferes with our
+ 22672 checks. Fixes bug 22719; bugfix on 0.2.0.16-alpha.
+
+ o Minor bugfixes (defensive programming):
+ - Detect and break out of infinite loops in our compression code. We
+ don't think that any such loops exist now, but it's best to be
+ safe. Closes ticket 22672.
+ - Fix a memset() off the end of an array when packing cells. This
+ bug should be harmless in practice, since the corrupted bytes are
+ still in the same structure, and are always padding bytes,
+ ignored, or immediately overwritten, depending on compiler
+ behavior. Nevertheless, because the memset()'s purpose is to make
+ sure that any other cell-handling bugs can't expose bytes to the
+ network, we need to fix it. Fixes bug 22737; bugfix on
+ 0.2.4.11-alpha. Fixes CID 1401591.
+
+ o Minor bugfixes (linux seccomp2 sandbox):
+ - Permit the fchmod system call, to avoid crashing on startup when
+ starting with the seccomp2 sandbox and an unexpected set of
+ permissions on the data directory or its contents. Fixes bug
+ 22516; bugfix on 0.2.5.4-alpha.
+ - Fix a crash in the LZMA module, when the sandbox was enabled, and
+ liblzma would allocate more than 16 MB of memory. We solve this by
+ bumping the mprotect() limit in the sandbox module from 16 MB to
+ 20 MB. Fixes bug 22751; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (logging):
+ - When decompressing, do not warn if we fail to decompress using a
+ compression method that we merely guessed. Fixes part of bug
+ 22670; bugfix on 0.1.1.14-alpha.
+ - When decompressing, treat mismatch between content-encoding and
+ actual compression type as a protocol warning. Fixes part of bug
+ 22670; bugfix on 0.1.1.9-alpha.
+ - Downgrade "assigned_to_cpuworker failed" message to info-level
+ severity. In every case that can reach it, either a better warning
+ has already been logged, or no warning is warranted. Fixes bug
+ 22356; bugfix on 0.2.6.3-alpha.
+ - Demote a warn that was caused by libevent delays to info if
+ netflow padding is less than 4.5 seconds late, or to notice
+ if it is more (4.5 seconds is the amount of time that a netflow
+ record might be emitted after, if we chose the maximum timeout).
+ Fixes bug 22212; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (process behavior):
+ - When exiting because of an error, always exit with a nonzero exit
+ status. Previously, we would fail to report an error in our exit
+ status in cases related to __OwningControllerProcess failure,
+ lockfile contention, and Ed25519 key initialization. Fixes bug
+ 22720; bugfix on versions 0.2.1.6-alpha, 0.2.2.28-beta, and
+ 0.2.7.2-alpha respectively. Reported by "f55jwk4f"; patch
+ from "huyvq".
+
+ o Documentation:
+ - Add a manpage description for the key-pinning-journal file. Closes
+ ticket 22347.
+ - Correctly note that bandwidth accounting values are stored in the
+ state file, and the bw_accounting file is now obsolete. Closes
+ ticket 16082.
+ - Document more of the files in the Tor data directory, including
+ cached-extrainfo, secret_onion_key{,_ntor}.old, hidserv-stats,
+ approved-routers, sr-random, and diff-cache. Found while fixing
+ ticket 22347.
+
+
Changes in version 0.3.1.3-alpha - 2017-06-08
Tor 0.3.1.3-alpha fixes a pair of bugs that would allow an attacker to
remotely crash a hidden service with an assertion failure. Anyone
diff --git a/ReleaseNotes b/ReleaseNotes
index 1e56ffaf89..e64d6610ae 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -2,6 +2,1043 @@ 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.3.1.10 - 2018-03-03
+ Tor 0.3.1.10 backports a number of bugfixes, including important fixes for
+ security issues.
+
+ It includes an important security fix for a remote crash attack
+ against directory authorities, tracked as TROVE-2018-001.
+
+ This release also backports our new system for improved resistance to
+ denial-of-service attacks against relays.
+
+ This release also fixes several minor bugs and annoyances from
+ earlier releases.
+
+ All directory authorities should upgrade to one of the versions
+ released today. Relays running 0.3.1.x may wish to update to one of
+ the versions released today, for the DoS mitigations.
+
+ Please note: according to our release calendar, Tor 0.3.1 will no
+ longer be supported after 1 July 2018. If you will be running Tor
+ after that date, you should make sure to plan to upgrade to the latest
+ stable version, or downgrade to 0.2.9 (which will receive long-term
+ support).
+
+ o Major bugfixes (denial-of-service, directory authority, backport from 0.3.3.3-alpha):
+ - Fix a protocol-list handling bug that could be used to remotely crash
+ directory authorities with a null-pointer exception. Fixes bug 25074;
+ bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001 and
+ CVE-2018-0490.
+
+ o Major features (denial-of-service mitigation, backport from 0.3.3.2-alpha):
+ - Give relays some defenses against the recent network overload. We
+ start with three defenses (default parameters in parentheses).
+ First: if a single client address makes too many concurrent
+ connections (>100), hang up on further connections. Second: if a
+ single client address makes circuits too quickly (more than 3 per
+ second, with an allowed burst of 90) while also having too many
+ connections open (3), refuse new create cells for the next while
+ (1-2 hours). Third: if a client asks to establish a rendezvous
+ point to you directly, ignore the request. These defenses can be
+ manually controlled by new torrc options, but relays will also
+ take guidance from consensus parameters, so there's no need to
+ configure anything manually. Implements ticket 24902.
+
+ o Minor features (linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
+ - Update the sandbox rules so that they should now work correctly
+ with Glibc 2.26. Closes ticket 24315.
+
+ o Major bugfixes (onion services, retry behavior, backport from 0.3.3.1-alpha):
+ - Fix an "off by 2" error in counting rendezvous failures on the
+ onion service side. While we thought we would stop the rendezvous
+ attempt after one failed circuit, we were actually making three
+ circuit attempts before giving up. Now switch to a default of 2,
+ and allow the consensus parameter "hs_service_max_rdv_failures" to
+ override. Fixes bug 24895; bugfix on 0.0.6.
+
+ o Major bugfixes (protocol versions, backport from 0.3.3.2-alpha):
+ - Add Link protocol version 5 to the supported protocols list. Fixes
+ bug 25070; bugfix on 0.3.1.1-alpha.
+
+ o Major bugfixes (relay, backport from 0.3.3.1-alpha):
+ - Fix a set of false positives where relays would consider
+ connections to other relays as being client-only connections (and
+ thus e.g. deserving different link padding schemes) if those
+ relays fell out of the consensus briefly. Now we look only at the
+ initial handshake and whether the connection authenticated as a
+ relay. Fixes bug 24898; bugfix on 0.3.1.1-alpha.
+
+ o Minor features (denial-of-service avoidance, backport from 0.3.3.2-alpha):
+ - Make our OOM handler aware of the geoip client history cache so it
+ doesn't fill up the memory. This check is important for IPv6 and
+ our DoS mitigation subsystem. Closes ticket 25122.
+
+ o Minor feature (relay statistics, backport from 0.3.2.6-alpha):
+ - Change relay bandwidth reporting stats interval from 4 hours to 24
+ hours in order to reduce the efficiency of guard discovery
+ attacks. Fixes ticket 23856.
+
+ o Minor features (compatibility, OpenSSL, backport from 0.3.3.3-alpha):
+ - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
+ Previous versions of Tor would not have worked with OpenSSL 1.1.1,
+ since they neither disabled TLS 1.3 nor enabled any of the
+ ciphersuites it requires. Now we enable the TLS 1.3 ciphersuites.
+ Closes ticket 24978.
+
+ o Minor features (fallback directory mirrors, backport from 0.3.2.9):
+ - The fallback directory list has been re-generated based on the
+ current status of the network. Tor uses fallback directories to
+ bootstrap when it doesn't yet have up-to-date directory
+ information. Closes ticket 24801.
+ - Make the default DirAuthorityFallbackRate 0.1, so that clients
+ prefer to bootstrap from fallback directory mirrors. This is a
+ follow-up to 24679, which removed weights from the default
+ fallbacks. Implements ticket 24681.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfix (channel connection, backport from 0.3.3.2-alpha):
+ - Use the actual observed address of an incoming relay connection,
+ not the canonical address of the relay from its descriptor, when
+ making decisions about how to handle the incoming connection.
+ Fixes bug 24952; bugfix on 0.2.4.11-alpha. Patch by "ffmancera".
+
+ o Minor bugfix (directory authority, backport from 0.3.3.2-alpha):
+ - Directory authorities, when refusing a descriptor from a rejected
+ relay, now explicitly tell the relay (in its logs) to set a valid
+ ContactInfo address and contact the bad-relays@ mailing list.
+ Fixes bug 25170; bugfix on 0.2.9.1.
+
+ o Minor bugfixes (address selection, backport from 0.3.2.9):
+ - When the fascist_firewall_choose_address_ functions don't find a
+ reachable address, set the returned address to the null address
+ and port. This is a precautionary measure, because some callers do
+ not check the return value. Fixes bug 24736; bugfix
+ on 0.2.8.2-alpha.
+
+ o Major bugfixes (bootstrapping, backport from 0.3.2.5-alpha):
+ - Fetch descriptors aggressively whenever we lack enough to build
+ circuits, regardless of how many descriptors we are missing.
+ Previously, we would delay launching the fetch when we had fewer
+ than 15 missing descriptors, even if some of those descriptors
+ were blocking circuits from building. Fixes bug 23985; bugfix on
+ 0.1.1.11-alpha. The effects of this bug became worse in
+ 0.3.0.3-alpha, when we began treating missing descriptors from our
+ primary guards as a reason to delay circuits.
+ - Don't try fetching microdescriptors from relays that have failed
+ to deliver them in the past. Fixes bug 23817; bugfix
+ on 0.3.0.1-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.3.2.7-rc):
+ - Fix a signed/unsigned comparison warning introduced by our fix to
+ TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
+
+ o Minor bugfixes (control port, linux seccomp2 sandbox, backport from 0.3.2.5-alpha):
+ - Avoid a crash when attempting to use the seccomp2 sandbox together
+ with the OwningControllerProcess feature. Fixes bug 24198; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (denial-of-service, backport from 0.3.3.3-alpha):
+ - Fix a possible crash on malformed consensus. If a consensus had
+ contained an unparseable protocol line, it could have made clients
+ and relays crash with a null-pointer exception. To exploit this
+ issue, however, an attacker would need to be able to subvert the
+ directory authority system. Fixes bug 25251; bugfix on
+ 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
+
+ o Minor bugfixes (directory cache, backport from 0.3.2.5-alpha):
+ - Recover better from empty or corrupt files in the consensus cache
+ directory. Fixes bug 24099; bugfix on 0.3.1.1-alpha.
+ - When a consensus diff calculation is only partially successful,
+ only record the successful parts as having succeeded. Partial
+ success can happen if (for example) one compression method fails
+ but the others succeed. Previously we misrecorded all the
+ calculations as having succeeded, which would later cause a
+ nonfatal assertion failure. Fixes bug 24086; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (entry guards, backport from 0.3.2.3-alpha):
+ - Tor now updates its guard state when it reads a consensus
+ regardless of whether it's missing descriptors. That makes tor use
+ its primary guards to fetch descriptors in some edge cases where
+ it would previously have used fallback directories. Fixes bug
+ 23862; bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (logging, backport from 0.3.3.2-alpha):
+ - Don't treat inability to store a cached consensus object as a bug:
+ it can happen normally when we are out of disk space. Fixes bug
+ 24859; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (memory usage, backport from 0.3.2.8-rc):
+ - When queuing DESTROY cells on a channel, only queue the circuit-id
+ and reason fields: not the entire 514-byte cell. This fix should
+ help mitigate any bugs or attacks that fill up these queues, and
+ free more RAM for other uses. Fixes bug 24666; bugfix
+ on 0.2.5.1-alpha.
+
+ o Minor bugfixes (network layer, backport from 0.3.2.5-alpha):
+ - When closing a connection via close_connection_immediately(), we
+ mark it as "not blocked on bandwidth", to prevent later calls from
+ trying to unblock it, and give it permission to read. This fixes a
+ backtrace warning that can happen on relays under various
+ circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
+
+ o Minor bugfixes (path selection, backport from 0.3.2.4-alpha):
+ - When selecting relays by bandwidth, avoid a rounding error that
+ could sometimes cause load to be imbalanced incorrectly.
+ Previously, we would always round upwards; now, we round towards
+ the nearest integer. This had the biggest effect when a relay's
+ weight adjustments should have given it weight 0, but it got
+ weight 1 instead. Fixes bug 23318; bugfix on 0.2.4.3-alpha.
+ - When calculating the fraction of nodes that have descriptors, and
+ all nodes in the network have zero bandwidths, count the number of
+ nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
+ - Actually log the total bandwidth in compute_weighted_bandwidths().
+ Fixes bug 24170; bugfix on 0.2.4.3-alpha.
+
+ o Minor bugfixes (performance, fragile-hardening, backport from 0.3.3.1-alpha):
+ - Improve the performance of our consensus-diff application code
+ when Tor is built with the --enable-fragile-hardening option set.
+ Fixes bug 24826; bugfix on 0.3.1.1-alpha.
+
+ o Minor bugfixes (OSX, backport from 0.3.3.1-alpha):
+ - Don't exit the Tor process if setrlimit() fails to change the file
+ limit (which can happen sometimes on some versions of OSX). Fixes
+ bug 21074; bugfix on 0.0.9pre5.
+
+ o Minor bugfixes (portability, msvc, backport from 0.3.2.9):
+ - Fix a bug in the bit-counting parts of our timing-wheel code on
+ MSVC. (Note that MSVC is still not a supported build platform, due
+ to cyptographic timing channel risks.) Fixes bug 24633; bugfix
+ on 0.2.9.1-alpha.
+
+ o Minor bugfixes (relay, partial backport):
+ - Make the internal channel_is_client() function look at what sort
+ of connection handshake the other side used, rather than whether
+ the other side ever sent a create_fast cell to us. Backports part
+ of the fixes from bugs 22805 and 24898.
+
+ o Minor bugfixes (spec conformance, backport from 0.3.3.3-alpha):
+ - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
+ 0.2.9.4-alpha.
+ - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
+ bugfix on 0.2.9.4-alpha.
+
+ o Code simplification and refactoring (backport from 0.3.3.3-alpha):
+ - Update the "rust dependencies" submodule to be a project-level
+ repository, rather than a user repository. Closes ticket 25323.
+
+
+Changes in version 0.3.1.9 - 2017-12-01:
+ Tor 0.3.1.9 backports important security and stability fixes from the
+ 0.3.2 development series. All Tor users should upgrade to this
+ release, or to another of the releases coming out today.
+
+ o Major bugfixes (security, backport from 0.3.2.6-alpha):
+ - Fix a denial of service bug where an attacker could use a
+ malformed directory object to cause a Tor instance to pause while
+ OpenSSL would try to read a passphrase from the terminal. (Tor
+ instances run without a terminal, which is the case for most Tor
+ packages, are not impacted.) Fixes bug 24246; bugfix on every
+ version of Tor. Also tracked as TROVE-2017-011 and CVE-2017-8821.
+ Found by OSS-Fuzz as testcase 6360145429790720.
+ - Fix a denial of service issue where an attacker could crash a
+ directory authority using a malformed router descriptor. Fixes bug
+ 24245; bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2017-010
+ and CVE-2017-8820.
+ - When checking for replays in the INTRODUCE1 cell data for a
+ (legacy) onion service, correctly detect replays in the RSA-
+ encrypted part of the cell. We were previously checking for
+ replays on the entire cell, but those can be circumvented due to
+ the malleability of Tor's legacy hybrid encryption. This fix helps
+ prevent a traffic confirmation attack. Fixes bug 24244; bugfix on
+ 0.2.4.1-alpha. This issue is also tracked as TROVE-2017-009
+ and CVE-2017-8819.
+
+ o Major bugfixes (security, onion service v2, backport from 0.3.2.6-alpha):
+ - Fix a use-after-free error that could crash v2 Tor onion services
+ when they failed to open circuits while expiring introduction
+ points. Fixes bug 24313; bugfix on 0.2.7.2-alpha. This issue is
+ also tracked as TROVE-2017-013 and CVE-2017-8823.
+
+ o Major bugfixes (security, relay, backport from 0.3.2.6-alpha):
+ - When running as a relay, make sure that we never build a path
+ through ourselves, even in the case where we have somehow lost the
+ version of our descriptor appearing in the consensus. Fixes part
+ of bug 21534; bugfix on 0.2.0.1-alpha. This issue is also tracked
+ as TROVE-2017-012 and CVE-2017-8822.
+ - When running as a relay, make sure that we never choose ourselves
+ as a guard. Fixes part of bug 21534; bugfix on 0.3.0.1-alpha. This
+ issue is also tracked as TROVE-2017-012 and CVE-2017-8822.
+
+ o Major bugfixes (exit relays, DNS, backport from 0.3.2.4-alpha):
+ - Fix an issue causing DNS to fail on high-bandwidth exit nodes,
+ making them nearly unusable. Fixes bugs 21394 and 18580; bugfix on
+ 0.1.2.2-alpha, which introduced eventdns. Thanks to Dhalgren for
+ identifying and finding a workaround to this bug and to Moritz,
+ Arthur Edelstein, and Roger for helping to track it down and
+ analyze it.
+
+ o Minor features (bridge):
+ - Bridges now include notice in their descriptors that they are
+ bridges, and notice of their distribution status, based on their
+ publication settings. Implements ticket 18329. For more fine-
+ grained control of how a bridge is distributed, upgrade to 0.3.2.x
+ or later.
+
+ o Minor features (directory authority, backport from 0.3.2.6-alpha):
+ - Add an IPv6 address for the "bastet" directory authority. Closes
+ ticket 24394.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the November 6 2017 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfix (relay address resolution, backport from 0.3.2.1-alpha):
+ - Avoid unnecessary calls to directory_fetches_from_authorities() on
+ relays, to prevent spurious address resolutions and descriptor
+ rebuilds. This is a mitigation for bug 21789. Fixes bug 23470;
+ bugfix on in 0.2.8.1-alpha.
+
+ o Minor bugfixes (compilation, backport from 0.3.2.1-alpha):
+ - Fix unused variable warnings in donna's Curve25519 SSE2 code.
+ Fixes bug 22895; bugfix on 0.2.7.2-alpha.
+
+ o Minor bugfixes (logging, relay shutdown, annoyance, backport from 0.3.2.2-alpha):
+ - When a circuit is marked for close, do not attempt to package any
+ cells for channels on that circuit. Previously, we would detect
+ this condition lower in the call stack, when we noticed that the
+ circuit had no attached channel, and log an annoying message.
+ Fixes bug 8185; bugfix on 0.2.5.4-alpha.
+
+ o Minor bugfixes (onion service, backport from 0.3.2.5-alpha):
+ - Rename the consensus parameter "hsdir-interval" to "hsdir_interval"
+ so it matches dir-spec.txt. Fixes bug 24262; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (relay, crash, backport from 0.3.2.4-alpha):
+ - Avoid a crash when transitioning from client mode to bridge mode.
+ Previously, we would launch the worker threads whenever our
+ "public server" mode changed, but not when our "server" mode
+ changed. Fixes bug 23693; bugfix on 0.2.6.3-alpha.
+
+
+Changes in version 0.3.1.8 - 2017-10-25
+ Tor 0.3.1.8 is the second stable release in the 0.3.1 series.
+ It includes several bugfixes, including a bugfix for a crash issue
+ that had affected relays under memory pressure. It also adds
+ a new directory authority, Bastet.
+
+ o Directory authority changes:
+ - Add "Bastet" as a ninth directory authority to the default list.
+ Closes ticket 23910.
+ - The directory authority "Longclaw" has changed its IP address.
+ Closes ticket 23592.
+
+ o Major bugfixes (relay, crash, assertion failure, backport from 0.3.2.2-alpha):
+ - Fix a timing-based assertion failure that could occur when the
+ circuit out-of-memory handler freed a connection's output buffer.
+ Fixes bug 23690; bugfix on 0.2.6.1-alpha.
+
+ o Minor features (directory authorities, backport from 0.3.2.2-alpha):
+ - Remove longclaw's IPv6 address, as it will soon change. Authority
+ IPv6 addresses were originally added in 0.2.8.1-alpha. This leaves
+ 3/8 directory authorities with IPv6 addresses, but there are also
+ 52 fallback directory mirrors with IPv6 addresses. Resolves 19760.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the October 4 2017 Maxmind GeoLite2
+ Country database.
+
+ o Minor bugfixes (compilation, backport from 0.3.2.2-alpha):
+ - Fix a compilation warning when building with zstd support on
+ 32-bit platforms. Fixes bug 23568; bugfix on 0.3.1.1-alpha. Found
+ and fixed by Andreas Stieger.
+
+ o Minor bugfixes (compression, backport from 0.3.2.2-alpha):
+ - Handle a pathological case when decompressing Zstandard data when
+ the output buffer size is zero. Fixes bug 23551; bugfix
+ on 0.3.1.1-alpha.
+
+ o Minor bugfixes (directory authority, backport from 0.3.2.1-alpha):
+ - Remove the length limit on HTTP status lines that authorities can
+ send in their replies. Fixes bug 23499; bugfix on 0.3.1.6-rc.
+
+ o Minor bugfixes (hidden service, relay, backport from 0.3.2.2-alpha):
+ - Avoid a possible double close of a circuit by the intro point on
+ error of sending the INTRO_ESTABLISHED cell. Fixes bug 23610;
+ bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (memory safety, backport from 0.3.2.3-alpha):
+ - Clear the address when node_get_prim_orport() returns early.
+ Fixes bug 23874; bugfix on 0.2.8.2-alpha.
+
+ o Minor bugfixes (unit tests, backport from 0.3.2.2-alpha):
+ - Fix additional channelpadding unit test failures by using mocked
+ time instead of actual time for all tests. Fixes bug 23608; bugfix
+ on 0.3.1.1-alpha.
+
+
+Changes in version 0.3.1.7 - 2017-09-18
+ Tor 0.3.1.7 is the first stable release in the 0.3.1 series.
+
+ With the 0.3.1 series, Tor now serves and downloads directory
+ information in more compact formats, to save on bandwidth overhead. It
+ also contains a new padding system to resist netflow-based traffic
+ analysis, and experimental support for building parts of Tor in Rust
+ (though no parts of Tor are in Rust yet). There are also numerous
+ small features, bugfixes on earlier release series, and groundwork for
+ the hidden services revamp of 0.3.2.
+
+ This release also includes a fix for TROVE-2017-008, a security bug
+ that affects hidden services running with the SafeLogging option
+ disabled. For more information, see
+ https://trac.torproject.org/projects/tor/ticket/23490
+
+ Per our stable release policy, we plan to support each stable release
+ series for at least the next nine months, or for three months after
+ the first stable release of the next series: whichever is longer. If
+ you need a release with long-term support, we recommend that you stay
+ with the 0.2.9 series.
+
+ Below is a list of the changes since 0.3.0. For a list of all
+ changes since 0.3.1.6-rc, see the ChangeLog file.
+
+ o New dependencies:
+ - To build with zstd and lzma support, Tor now requires the
+ pkg-config tool at build time.
+
+ o Major bugfixes (security, hidden services, loggging):
+ - Fix a bug where we could log uninitialized stack when a certain
+ hidden service error occurred while SafeLogging was disabled.
+ Fixes bug #23490; bugfix on 0.2.7.2-alpha.
+ This is also tracked as TROVE-2017-008 and CVE-2017-0380.
+
+ o Major features (build system, continuous integration):
+ - Tor's repository now includes a Travis Continuous Integration (CI)
+ configuration file (.travis.yml). This is meant to help new
+ developers and contributors who fork Tor to a Github repository be
+ better able to test their changes, and understand what we expect
+ to pass. To use this new build feature, you must fork Tor to your
+ Github account, then go into the "Integrations" menu in the
+ repository settings for your fork and enable Travis, then push
+ your changes. Closes ticket 22636.
+
+ o Major features (directory protocol):
+ - Tor relays and authorities can now serve clients an abbreviated
+ version of the consensus document, containing only the changes
+ since an older consensus document that the client holds. Clients
+ now request these documents when available. When both client and
+ server use this new protocol, they will use far less bandwidth (up
+ to 94% less) to keep the client's consensus up-to-date. Implements
+ proposal 140; closes ticket 13339. Based on work by Daniel Martí.
+ - Tor can now compress directory traffic with lzma or with zstd
+ compression algorithms, which can deliver better bandwidth
+ performance. Because lzma is computationally expensive, it's only
+ used for documents that can be compressed once and served many
+ times. Support for these algorithms requires that tor is built
+ with the libzstd and/or liblzma libraries available. Implements
+ proposal 278; closes ticket 21662.
+ - Relays now perform the more expensive compression operations, and
+ consensus diff generation, in worker threads. This separation
+ avoids delaying the main thread when a new consensus arrives.
+
+ o Major features (experimental):
+ - Tor can now build modules written in Rust. To turn this on, pass
+ the "--enable-rust" flag to the configure script. It's not time to
+ get excited yet: currently, there is no actual Rust functionality
+ beyond some simple glue code, and a notice at startup to tell you
+ that Rust is running. Still, we hope that programmers and
+ packagers will try building Tor with Rust support, so that we can
+ find issues and solve portability problems. Closes ticket 22106.
+
+ o Major features (traffic analysis resistance):
+ - Connections between clients and relays now send a padding cell in
+ each direction every 1.5 to 9.5 seconds (tunable via consensus
+ parameters). This padding will not resist specialized
+ eavesdroppers, but it should be enough to make many ISPs' routine
+ network flow logging less useful in traffic analysis against
+ Tor users.
+
+ Padding is negotiated using Tor's link protocol, so both relays
+ and clients must upgrade for this to take effect. Clients may
+ still send padding despite the relay's version by setting
+ ConnectionPadding 1 in torrc, and may disable padding by setting
+ ConnectionPadding 0 in torrc. Padding may be minimized for mobile
+ users with the torrc option ReducedConnectionPadding. Implements
+ Proposal 251 and Section 2 of Proposal 254; closes ticket 16861.
+ - Relays will publish 24 hour totals of padding and non-padding cell
+ counts to their extra-info descriptors, unless PaddingStatistics 0
+ is set in torrc. These 24 hour totals are also rounded to
+ multiples of 10000.
+
+ o Major bugfixes (hidden service, relay, security):
+ - Fix a remotely triggerable assertion failure when a hidden service
+ handles a malformed BEGIN cell. Fixes bug 22493, tracked as
+ TROVE-2017-004 and as CVE-2017-0375; bugfix on 0.3.0.1-alpha.
+ - Fix a remotely triggerable assertion failure caused by receiving a
+ BEGIN_DIR cell on a hidden service rendezvous circuit. Fixes bug
+ 22494, tracked as TROVE-2017-005 and CVE-2017-0376; bugfix
+ on 0.2.2.1-alpha.
+
+ o Major bugfixes (path selection, security):
+ - When choosing which guard to use for a circuit, avoid the exit's
+ family along with the exit itself. Previously, the new guard
+ selection logic avoided the exit, but did not consider its family.
+ Fixes bug 22753; bugfix on 0.3.0.1-alpha. Tracked as TROVE-2017-
+ 006 and CVE-2017-0377.
+
+ o Major bugfixes (connection usage):
+ - We use NETINFO cells to try to determine if both relays involved
+ in a connection will agree on the canonical status of that
+ connection. We prefer the connections where this is the case for
+ extend cells, and try to close connections where relays disagree
+ on their canonical status early. Also, we now prefer the oldest
+ valid connection for extend cells. These two changes should reduce
+ the number of long-term connections that are kept open between
+ relays. Fixes bug 17604; bugfix on 0.2.5.5-alpha.
+ - Relays now log hourly statistics (look for
+ "channel_check_for_duplicates" lines) on the total number of
+ connections to other relays. If the number of connections per
+ relay is unexpectedly large, this log message is at notice level.
+ Otherwise it is at info.
+
+ o Major bugfixes (entry guards):
+ - When starting with an old consensus, do not add new entry guards
+ unless the consensus is "reasonably live" (under 1 day old). Fixes
+ one root cause of bug 22400; bugfix on 0.3.0.1-alpha.
+ - Don't block bootstrapping when a primary bridge is offline and we
+ can't get its descriptor. Fixes bug 22325; fixes one case of bug
+ 21969; bugfix on 0.3.0.3-alpha.
+
+ o Major bugfixes (linux TPROXY support):
+ - Fix a typo that had prevented TPROXY-based transparent proxying
+ from working under Linux. Fixes bug 18100; bugfix on 0.2.6.3-alpha.
+ Patch from "d4fq0fQAgoJ".
+
+ o Major bugfixes (openbsd, denial-of-service):
+ - Avoid an assertion failure bug affecting our implementation of
+ inet_pton(AF_INET6) on certain OpenBSD systems whose strtol()
+ handling of "0xx" differs from what we had expected. Fixes bug
+ 22789; bugfix on 0.2.3.8-alpha. Also tracked as TROVE-2017-007.
+
+ o Major bugfixes (relay, link handshake):
+ - When performing the v3 link handshake on a TLS connection, report
+ that we have the x509 certificate that we actually used on that
+ connection, even if we have changed certificates since that
+ connection was first opened. Previously, we would claim to have
+ used our most recent x509 link certificate, which would sometimes
+ make the link handshake fail. Fixes one case of bug 22460; bugfix
+ on 0.2.3.6-alpha.
+
+ o Major bugfixes (relays, key management):
+ - Regenerate link and authentication certificates whenever the key
+ that signs them changes; also, regenerate link certificates
+ whenever the signed key changes. Previously, these processes were
+ only weakly coupled, and we relays could (for minutes to hours)
+ wind up with an inconsistent set of keys and certificates, which
+ other relays would not accept. Fixes two cases of bug 22460;
+ bugfix on 0.3.0.1-alpha.
+ - When sending an Ed25519 signing->link certificate in a CERTS cell,
+ send the certificate that matches the x509 certificate that we
+ used on the TLS connection. Previously, there was a race condition
+ if the TLS context rotated after we began the TLS handshake but
+ before we sent the CERTS cell. Fixes a case of bug 22460; bugfix
+ on 0.3.0.1-alpha.
+
+ o Minor features (security, windows):
+ - Enable a couple of pieces of Windows hardening: one
+ (HeapEnableTerminationOnCorruption) that has been on-by-default
+ since Windows 8, and unavailable before Windows 7; and one
+ (PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION) which we believe doesn't
+ affect us, but shouldn't do any harm. Closes ticket 21953.
+
+ o Minor features (bridge authority):
+ - Add "fingerprint" lines to the networkstatus-bridges file produced
+ by bridge authorities. Closes ticket 22207.
+
+ o Minor features (code style):
+ - Add "Falls through" comments to our codebase, in order to silence
+ GCC 7's -Wimplicit-fallthrough warnings. Patch from Andreas
+ Stieger. Closes ticket 22446.
+
+ o Minor features (config options):
+ - Allow "%include" directives in torrc configuration files. These
+ directives import the settings from other files, or from all the
+ files in a directory. Closes ticket 1922. Code by Daniel Pinto.
+ - Make SAVECONF return an error when overwriting a torrc that has
+ includes. Using SAVECONF with the FORCE option will allow it to
+ overwrite torrc even if includes are used. Related to ticket 1922.
+ - Add "GETINFO config-can-saveconf" to tell controllers if SAVECONF
+ will work without the FORCE option. Related to ticket 1922.
+
+ o Minor features (controller):
+ - Warn the first time that a controller requests data in the long-
+ deprecated 'GETINFO network-status' format. Closes ticket 21703.
+
+ o Minor features (defaults):
+ - The default value for UseCreateFast is now 0: clients which
+ haven't yet received a consensus document will now use a proper
+ ntor handshake to talk to their directory servers whenever they
+ can. Closes ticket 21407.
+ - Onion key rotation and expiry intervals are now defined as a
+ network consensus parameter, per proposal 274. The default
+ lifetime of an onion key is increased from 7 to 28 days. Old onion
+ keys will expire after 7 days by default. This change will make
+ consensus diffs much smaller, and save significant bandwidth.
+ Closes ticket 21641.
+
+ o Minor features (defensive programming):
+ - Create a pair of consensus parameters, nf_pad_tor2web and
+ nf_pad_single_onion, to disable netflow padding in the consensus
+ for non-anonymous connections in case the overhead is high. Closes
+ ticket 17857.
+
+ o Minor features (diagnostic):
+ - Add a stack trace to the bug warnings that can be logged when
+ trying to send an outgoing relay cell with n_chan == 0. Diagnostic
+ attempt for bug 23105.
+ - Add logging messages to try to diagnose a rare bug that seems to
+ generate RSA->Ed25519 cross-certificates dated in the 1970s. We
+ think this is happening because of incorrect system clocks, but
+ we'd like to know for certain. Diagnostic for bug 22466.
+ - Avoid an assertion failure, and log a better error message, when
+ unable to remove a file from the consensus cache on Windows.
+ Attempts to mitigate and diagnose bug 22752.
+
+ o Minor features (directory authority):
+ - Improve the message that authorities report to relays that present
+ RSA/Ed25519 keypairs that conflict with previously pinned keys.
+ Closes ticket 22348.
+
+ o Minor features (directory cache, consensus diff):
+ - Add a new MaxConsensusAgeForDiffs option to allow directory cache
+ operators with low-resource environments to adjust the number of
+ consensuses they'll store and generate diffs from. Most cache
+ operators should leave it unchanged. Helps to work around
+ bug 22883.
+
+ o Minor features (fallback directory list):
+ - Update the fallback directory mirror whitelist and blacklist based
+ on operator emails. Closes task 21121.
+ - Replace the 177 fallbacks originally introduced in Tor 0.2.9.8 in
+ December 2016 (of which ~126 were still functional) with a list of
+ 151 fallbacks (32 new, 119 unchanged, 58 removed) generated in May
+ 2017. Resolves ticket 21564.
+
+ o Minor features (geoip):
+ - Update geoip and geoip6 to the September 6 2017 Maxmind GeoLite2
+ Country database.
+
+ o Minor features (hidden services, logging):
+ - Log a message when a hidden service descriptor has fewer
+ introduction points than specified in
+ HiddenServiceNumIntroductionPoints. Closes tickets 21598.
+ - Log a message when a hidden service reaches its introduction point
+ circuit limit, and when that limit is reset. Follow up to ticket
+ 21594; closes ticket 21622.
+ - Warn user if multiple entries in EntryNodes and at least one
+ HiddenService are used together. Pinning EntryNodes along with a
+ hidden service can be possibly harmful; for instance see ticket
+ 14917 or 21155. Closes ticket 21155.
+
+ o Minor features (linux seccomp2 sandbox):
+ - We now have a document storage backend compatible with the Linux
+ seccomp2 sandbox. This backend is used for consensus documents and
+ diffs between them; in the long term, we'd like to use it for
+ unparseable directory material too. Closes ticket 21645
+ - Increase the maximum allowed size passed to mprotect(PROT_WRITE)
+ from 1MB to 16MB. This was necessary with the glibc allocator in
+ order to allow worker threads to allocate more memory -- which in
+ turn is necessary because of our new use of worker threads for
+ compression. Closes ticket 22096.
+
+ o Minor features (logging):
+ - Log files are no longer created world-readable by default.
+ (Previously, most distributors would store the logs in a non-
+ world-readable location to prevent inappropriate access. This
+ change is an extra precaution.) Closes ticket 21729; patch
+ from toralf.
+
+ o Minor features (performance):
+ - Our Keccak (SHA-3) implementation now accesses memory more
+ efficiently, especially on little-endian systems. Closes
+ ticket 21737.
+ - Add an O(1) implementation of channel_find_by_global_id(), to
+ speed some controller functions.
+
+ o Minor features (relay, configuration):
+ - The MyFamily option may now be repeated as many times as desired,
+ for relays that want to configure large families. Closes ticket
+ 4998; patch by Daniel Pinto.
+
+ o Minor features (relay, performance):
+ - Always start relays with at least two worker threads, to prevent
+ priority inversion on slow tasks. Part of the fix for bug 22883.
+ - Allow background work to be queued with different priorities, so
+ that a big pile of slow low-priority jobs will not starve out
+ higher priority jobs. This lays the groundwork for a fix for
+ bug 22883.
+
+ o Minor features (safety):
+ - Add an explicit check to extrainfo_parse_entry_from_string() for
+ NULL inputs. We don't believe this can actually happen, but it may
+ help silence a warning from the Clang analyzer. Closes
+ ticket 21496.
+
+ o Minor features (testing):
+ - Add more tests for compression backend initialization. Closes
+ ticket 22286.
+ - Add a "--disable-memory-sentinels" feature to help with fuzzing.
+ When Tor is compiled with this option, we disable a number of
+ redundant memory-safety failsafes that are intended to stop bugs
+ from becoming security issues. This makes it easier to hunt for
+ bugs that would be security issues without the failsafes turned
+ on. Closes ticket 21439.
+ - Add a general event-tracing instrumentation support to Tor. This
+ subsystem will enable developers and researchers to add fine-
+ grained instrumentation to their Tor instances, for use when
+ examining Tor network performance issues. There are no trace
+ events yet, and event-tracing is off by default unless enabled at
+ compile time. Implements ticket 13802.
+ - Improve our version parsing tests: add tests for typical version
+ components, add tests for invalid versions, including numeric
+ range and non-numeric prefixes. Unit tests 21278, 21450, and
+ 21507. Partially implements 21470.
+
+ o Minor bugfixes (bandwidth accounting):
+ - Roll over monthly accounting at the configured hour and minute,
+ rather than always at 00:00. Fixes bug 22245; bugfix on 0.0.9rc1.
+ Found by Andrey Karpov with PVS-Studio.
+
+ o Minor bugfixes (code correctness):
+ - Accurately identify client connections by their lack of peer
+ authentication. This means that we bail out earlier if asked to
+ extend to a client. Follow-up to 21407. Fixes bug 21406; bugfix
+ on 0.2.4.23.
+
+ o Minor bugfixes (compilation warnings):
+ - Suppress -Wdouble-promotion warnings with clang 4.0. Fixes bug
+ 22915; bugfix on 0.2.8.1-alpha.
+ - Fix warnings when building with libscrypt and openssl scrypt
+ support on Clang. Fixes bug 22916; bugfix on 0.2.7.2-alpha.
+ - When building with certain versions of the mingw C header files,
+ avoid float-conversion warnings when calling the C functions
+ isfinite(), isnan(), and signbit(). Fixes bug 22801; bugfix
+ on 0.2.8.1-alpha.
+
+ o Minor bugfixes (compilation):
+ - Avoid compiler warnings in the unit tests for calling tor_sscanf()
+ with wide string outputs. Fixes bug 15582; bugfix on 0.2.6.2-alpha.
+
+ o Minor bugfixes (compression):
+ - When spooling compressed data to an output buffer, don't try to
+ spool more data when there is no more data to spool and we are not
+ trying to flush the input. Previously, we would sometimes launch
+ compression requests with nothing to do, which interferes with our
+ 22672 checks. Fixes bug 22719; bugfix on 0.2.0.16-alpha.
+
+ o Minor bugfixes (configuration):
+ - Do not crash when starting with LearnCircuitBuildTimeout 0. Fixes
+ bug 22252; bugfix on 0.2.9.3-alpha.
+
+ o Minor bugfixes (connection lifespan):
+ - Allow more control over how long TLS connections are kept open:
+ unify CircuitIdleTimeout and PredictedPortsRelevanceTime into a
+ single option called CircuitsAvailableTimeout. Also, allow the
+ consensus to control the default values for both this preference
+ and the lifespan of relay-to-relay connections. Fixes bug 17592;
+ bugfix on 0.2.5.5-alpha.
+ - Increase the initial circuit build timeout testing frequency, to
+ help ensure that ReducedConnectionPadding clients finish learning
+ a timeout before their orconn would expire. The initial testing
+ rate was set back in the days of TAP and before the Tor Browser
+ updater, when we had to be much more careful about new clients
+ making lots of circuits. With this change, a circuit build timeout
+ is learned in about 15-20 minutes, instead of 100-120 minutes.
+
+ o Minor bugfixes (controller):
+ - Do not crash when receiving a HSPOST command with an empty body.
+ Fixes part of bug 22644; bugfix on 0.2.7.1-alpha.
+ - Do not crash when receiving a POSTDESCRIPTOR command with an empty
+ body. Fixes part of bug 22644; bugfix on 0.2.0.1-alpha.
+ - GETINFO onions/current and onions/detached no longer respond with
+ 551 on empty lists. Fixes bug 21329; bugfix on 0.2.7.1-alpha.
+ - Trigger HS descriptor events on the control port when the client
+ fails to pick a hidden service directory for a hidden service.
+ This can happen if all the hidden service directories are in
+ ExcludeNodes, or they have all been queried within the last 15
+ minutes. Fixes bug 22042; bugfix on 0.2.5.2-alpha.
+
+ o Minor bugfixes (correctness):
+ - Avoid undefined behavior when parsing IPv6 entries from the geoip6
+ file. Fixes bug 22490; bugfix on 0.2.4.6-alpha.
+
+ o Minor bugfixes (coverity build support):
+ - Avoid Coverity build warnings related to our BUG() macro. By
+ default, Coverity treats BUG() as the Linux kernel does: an
+ instant abort(). We need to override that so our BUG() macro
+ doesn't prevent Coverity from analyzing functions that use it.
+ Fixes bug 23030; bugfix on 0.2.9.1-alpha.
+
+ o Minor bugfixes (defensive programming):
+ - Detect and break out of infinite loops in our compression code. We
+ don't think that any such loops exist now, but it's best to be
+ safe. Closes ticket 22672.
+ - Fix a memset() off the end of an array when packing cells. This
+ bug should be harmless in practice, since the corrupted bytes are
+ still in the same structure, and are always padding bytes,
+ ignored, or immediately overwritten, depending on compiler
+ behavior. Nevertheless, because the memset()'s purpose is to make
+ sure that any other cell-handling bugs can't expose bytes to the
+ network, we need to fix it. Fixes bug 22737; bugfix on
+ 0.2.4.11-alpha. Fixes CID 1401591.
+
+ o Minor bugfixes (directory authority):
+ - When a directory authority rejects a descriptor or extrainfo with
+ a given digest, mark that digest as undownloadable, so that we do
+ not attempt to download it again over and over. We previously
+ tried to avoid downloading such descriptors by other means, but we
+ didn't notice if we accidentally downloaded one anyway. This
+ behavior became problematic in 0.2.7.2-alpha, when authorities
+ began pinning Ed25519 keys. Fixes bug 22349; bugfix
+ on 0.2.1.19-alpha.
+ - When rejecting a router descriptor for running an obsolete version
+ of Tor without ntor support, warn about the obsolete tor version,
+ not the missing ntor key. Fixes bug 20270; bugfix on 0.2.9.3-alpha.
+ - Prevent the shared randomness subsystem from asserting when
+ initialized by a bridge authority with an incomplete configuration
+ file. Fixes bug 21586; bugfix on 0.2.9.8.
+
+ o Minor bugfixes (error reporting, windows):
+ - When formatting Windows error messages, use the English format to
+ avoid codepage issues. Fixes bug 22520; bugfix on 0.1.2.8-alpha.
+ Patch from "Vort".
+
+ o Minor bugfixes (exit-side DNS):
+ - Fix an untriggerable assertion that checked the output of a
+ libevent DNS error, so that the assertion actually behaves as
+ expected. Fixes bug 22244; bugfix on 0.2.0.20-rc. Found by Andrey
+ Karpov using PVS-Studio.
+
+ o Minor bugfixes (fallback directories):
+ - Make the usage example in updateFallbackDirs.py actually work, and
+ explain what it does. Fixes bug 22270; bugfix on 0.3.0.3-alpha.
+ - Decrease the guard flag average required to be a fallback. This
+ allows us to keep relays that have their guard flag removed when
+ they restart. Fixes bug 20913; bugfix on 0.2.8.1-alpha.
+ - Decrease the minimum number of fallbacks to 100. Fixes bug 20913;
+ bugfix on 0.2.8.1-alpha.
+ - Make sure fallback directory mirrors have the same address, port,
+ and relay identity key for at least 30 days before they are
+ selected. Fixes bug 20913; bugfix on 0.2.8.1-alpha.
+
+ o Minor bugfixes (file limits, osx):
+ - When setting the maximum number of connections allowed by the OS,
+ always allow some extra file descriptors for other files. Fixes
+ bug 22797; bugfix on 0.2.0.10-alpha.
+
+ o Minor bugfixes (hidden services):
+ - Increase the number of circuits that a service is allowed to
+ open over a specific period of time. The value was lower than it
+ should be (8 vs 12) in the normal case of 3 introduction points.
+ Fixes bug 22159; bugfix on 0.3.0.5-rc.
+ - Fix a BUG warning during HSv3 descriptor decoding that could be
+ cause by a specially crafted descriptor. Fixes bug 23233; bugfix
+ on 0.3.0.1-alpha. Bug found by "haxxpop".
+ - Stop printing a cryptic warning when a hidden service gets a
+ request to connect to a virtual port that it hasn't configured.
+ Fixes bug 16706; bugfix on 0.2.6.3-alpha.
+ - Simplify hidden service descriptor creation by using an existing
+ flag to check if an introduction point is established. Fixes bug
+ 21599; bugfix on 0.2.7.2-alpha.
+
+ o Minor bugfixes (link handshake):
+ - Lower the lifetime of the RSA->Ed25519 cross-certificate to six
+ months, and regenerate it when it is within one month of expiring.
+ Previously, we had generated this certificate at startup with a
+ ten-year lifetime, but that could lead to weird behavior when Tor
+ was started with a grossly inaccurate clock. Mitigates bug 22466;
+ mitigation on 0.3.0.1-alpha.
+
+ o Minor bugfixes (linux seccomp2 sandbox):
+ - Avoid a sandbox failure when trying to re-bind to a socket and
+ mark it as IPv6-only. Fixes bug 20247; bugfix on 0.2.5.1-alpha.
+ - Permit the fchmod system call, to avoid crashing on startup when
+ starting with the seccomp2 sandbox and an unexpected set of
+ permissions on the data directory or its contents. Fixes bug
+ 22516; bugfix on 0.2.5.4-alpha.
+
+ o Minor bugfixes (logging):
+ - When decompressing, do not warn if we fail to decompress using a
+ compression method that we merely guessed. Fixes part of bug
+ 22670; bugfix on 0.1.1.14-alpha.
+ - When decompressing, treat mismatch between content-encoding and
+ actual compression type as a protocol warning. Fixes part of bug
+ 22670; bugfix on 0.1.1.9-alpha.
+ - Downgrade "assigned_to_cpuworker failed" message to info-level
+ severity. In every case that can reach it, either a better warning
+ has already been logged, or no warning is warranted. Fixes bug
+ 22356; bugfix on 0.2.6.3-alpha.
+ - Log a better message when a directory authority replies to an
+ upload with an unexpected status code. Fixes bug 11121; bugfix
+ on 0.1.0.1-rc.
+ - Downgrade a log statement about unexpected relay cells from "bug"
+ to "protocol warning", because there is at least one use case
+ where it can be triggered by a buggy tor implementation. Fixes bug
+ 21293; bugfix on 0.1.1.14-alpha.
+
+ o Minor bugfixes (logging, relay):
+ - Remove a forgotten debugging message when an introduction point
+ successfully establishes a hidden service prop224 circuit with
+ a client.
+ - Change three other log_warn() for an introduction point to
+ protocol warnings, because they can be failure from the network
+ and are not relevant to the operator. Fixes bug 23078; bugfix on
+ 0.3.0.1-alpha and 0.3.0.2-alpha.
+
+ o Minor bugfixes (relay):
+ - Inform the geoip and rephist modules about all requests, even on
+ relays that are only fetching microdescriptors. Fixes a bug
+ related to 21585; bugfix on 0.3.0.1-alpha.
+
+ o Minor bugfixes (memory leaks):
+ - Fix a small memory leak at exit from the backtrace handler code.
+ Fixes bug 21788; bugfix on 0.2.5.2-alpha. Patch from Daniel Pinto.
+ - When directory authorities reject a router descriptor due to
+ keypinning, free the router descriptor rather than leaking the
+ memory. Fixes bug 22370; bugfix on 0.2.7.2-alpha.
+ - Fix a small memory leak when validating a configuration that uses
+ two or more AF_UNIX sockets for the same port type. Fixes bug
+ 23053; bugfix on 0.2.6.3-alpha. This is CID 1415725.
+
+ o Minor bugfixes (process behavior):
+ - When exiting because of an error, always exit with a nonzero exit
+ status. Previously, we would fail to report an error in our exit
+ status in cases related to __OwningControllerProcess failure,
+ lockfile contention, and Ed25519 key initialization. Fixes bug
+ 22720; bugfix on versions 0.2.1.6-alpha, 0.2.2.28-beta, and
+ 0.2.7.2-alpha respectively. Reported by "f55jwk4f"; patch
+ from "huyvq".
+
+ o Minor bugfixes (robustness, error handling):
+ - Improve our handling of the cases where OpenSSL encounters a
+ memory error while encoding keys and certificates. We haven't
+ observed these errors in the wild, but if they do happen, we now
+ detect and respond better. Fixes bug 19418; bugfix on all versions
+ of Tor. Reported by Guido Vranken.
+
+ o Minor bugfixes (testing):
+ - Fix an undersized buffer in test-memwipe.c. Fixes bug 23291;
+ bugfix on 0.2.7.2-alpha. Found and patched by Ties Stuij.
+ - Use unbuffered I/O for utility functions around the
+ process_handle_t type. This fixes unit test failures reported on
+ OpenBSD and FreeBSD. Fixes bug 21654; bugfix on 0.2.3.1-alpha.
+ - Make display of captured unit test log messages consistent. Fixes
+ bug 21510; bugfix on 0.2.9.3-alpha.
+ - Make test-network.sh always call chutney's test-network.sh.
+ Previously, this only worked on systems which had bash installed,
+ due to some bash-specific code in the script. Fixes bug 19699;
+ bugfix on 0.3.0.4-rc. Follow-up to ticket 21581.
+ - Fix a memory leak in the link-handshake/certs_ok_ed25519 test.
+ Fixes bug 22803; bugfix on 0.3.0.1-alpha.
+ - The unit tests now pass on systems where localhost is misconfigured
+ to some IPv4 address other than 127.0.0.1. Fixes bug 6298; bugfix
+ on 0.0.9pre2.
+
+ o Minor bugfixes (voting consistency):
+ - Reject version numbers with non-numeric prefixes (such as +, -, or
+ whitespace). Disallowing whitespace prevents differential version
+ parsing between POSIX-based and Windows platforms. Fixes bug 21507
+ and part of 21508; bugfix on 0.0.8pre1.
+
+ o Minor bugfixes (Windows service):
+ - When running as a Windows service, set the ID of the main thread
+ correctly. Failure to do so made us fail to send log messages to
+ the controller in 0.2.1.16-rc, slowed down controller event
+ delivery in 0.2.7.3-rc and later, and crash with an assertion
+ failure in 0.3.1.1-alpha. Fixes bug 23081; bugfix on 0.2.1.6-alpha.
+ Patch and diagnosis from "Vort".
+
+ o Minor bugfixes (windows, relay):
+ - Resolve "Failure from drain_fd: No error" warnings on Windows
+ relays. Fixes bug 21540; bugfix on 0.2.6.3-alpha.
+
+ o Code simplification and refactoring:
+ - Break up the 630-line function connection_dir_client_reached_eof()
+ into a dozen smaller functions. This change should help
+ maintainability and readability of the client directory code.
+ - Isolate our use of the openssl headers so that they are only
+ included from our crypto wrapper modules, and from tests that
+ examine those modules' internals. Closes ticket 21841.
+ - Simplify our API to launch directory requests, making it more
+ extensible and less error-prone. Now it's easier to add extra
+ headers to directory requests. Closes ticket 21646.
+ - Our base64 decoding functions no longer overestimate the output
+ space that they need when parsing unpadded inputs. Closes
+ ticket 17868.
+ - Remove unused "ROUTER_ADDED_NOTIFY_GENERATOR" internal value.
+ Resolves ticket 22213.
+ - The logic that directory caches use to spool request to clients,
+ serving them one part at a time so as not to allocate too much
+ memory, has been refactored for consistency. Previously there was
+ a separate spooling implementation per type of spoolable data. Now
+ there is one common spooling implementation, with extensible data
+ types. Closes ticket 21651.
+ - Tor's compression module now supports multiple backends. Part of
+ the implementation for proposal 278; closes ticket 21663.
+
+ o Documentation:
+ - Add a manpage description for the key-pinning-journal file. Closes
+ ticket 22347.
+ - Correctly note that bandwidth accounting values are stored in the
+ state file, and the bw_accounting file is now obsolete. Closes
+ ticket 16082.
+ - Document more of the files in the Tor data directory, including
+ cached-extrainfo, secret_onion_key{,_ntor}.old, hidserv-stats,
+ approved-routers, sr-random, and diff-cache. Found while fixing
+ ticket 22347.
+ - Clarify the manpage for the (deprecated) torify script. Closes
+ ticket 6892.
+ - Clarify the behavior of the KeepAliveIsolateSOCKSAuth sub-option.
+ Closes ticket 21873.
+ - Correct documentation about the default DataDirectory value.
+ Closes ticket 21151.
+ - Document the default behavior of NumEntryGuards and
+ NumDirectoryGuards correctly. Fixes bug 21715; bugfix
+ on 0.3.0.1-alpha.
+ - Document key=value pluggable transport arguments for Bridge lines
+ in torrc. Fixes bug 20341; bugfix on 0.2.5.1-alpha.
+ - Note that bandwidth-limiting options don't affect TCP headers or
+ DNS. Closes ticket 17170.
+
+ o Removed features (configuration options, all in ticket 22060):
+ - These configuration options are now marked Obsolete, and no longer
+ have any effect: AllowInvalidNodes, AllowSingleHopCircuits,
+ AllowSingleHopExits, ExcludeSingleHopRelays, FastFirstHopPK,
+ TLSECGroup, WarnUnsafeSocks. They were first marked as deprecated
+ in 0.2.9.2-alpha and have now been removed. The previous default
+ behavior is now always chosen; the previous (less secure) non-
+ default behavior is now unavailable.
+ - CloseHSClientCircuitsImmediatelyOnTimeout and
+ CloseHSServiceRendCircuitsImmediatelyOnTimeout were deprecated in
+ 0.2.9.2-alpha and now have been removed. HS circuits never close
+ on circuit build timeout; they have a longer timeout period.
+ - {Control,DNS,Dir,Socks,Trans,NATD,OR}ListenAddress were deprecated
+ in 0.2.9.2-alpha and now have been removed. Use the ORPort option
+ (and others) to configure listen-only and advertise-only addresses.
+
+ o Removed features (tools):
+ - We've removed the tor-checkkey tool from src/tools. Long ago, we
+ used it to help people detect RSA keys that were generated by
+ versions of Debian affected by CVE-2008-0166. But those keys have
+ been out of circulation for ages, and this tool is no longer
+ required. Closes ticket 21842.
+
+
Changes in version 0.3.0.8 - 2017-06-08
Tor 0.3.0.8 fixes a pair of bugs that would allow an attacker to
remotely crash a hidden service with an assertion failure. Anyone
diff --git a/changes/bastet_v6 b/changes/bastet_v6
deleted file mode 100644
index ee4e2c8094..0000000000
--- a/changes/bastet_v6
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (directory authority):
- - Add an IPv6 address for the "bastet" directory authority.
- Closes ticket 24394.
-
diff --git a/changes/bug15582 b/changes/bug15582
deleted file mode 100644
index 5ea6431cf8..0000000000
--- a/changes/bug15582
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (compilation):
- - Avoid compiler warnings in the unit tests for running tor_sscanf()
- with wide string outputs. Fixes bug 15582; bugfix on 0.2.6.2-alpha.
-
diff --git a/changes/bug16082 b/changes/bug16082
deleted file mode 100644
index 0f2f04fb35..0000000000
--- a/changes/bug16082
+++ /dev/null
@@ -1,4 +0,0 @@
- o Documentation:
- - Correctly note that bandwidth accounting values are stored in the
- state file, and the bw_accounting file is now obsolete. Closes
- ticket 16082.
diff --git a/changes/bug17857 b/changes/bug17857
deleted file mode 100644
index 6c88638231..0000000000
--- a/changes/bug17857
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor features (defensive programming):
- - Create a pair of consensus parameters nf_pad_tor2web and
- nf_pad_single_onion that allow us to disable netflow padding in the
- consensus for non-anonymous connections, in case the overhead is high.
- Closes #17857.
-
diff --git a/changes/bug18329-minimal b/changes/bug18329-minimal
deleted file mode 100644
index 804c4e8dd1..0000000000
--- a/changes/bug18329-minimal
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor features (bridge):
- - Bridges now include notice in their descriptors that they are bridges,
- and notice of their distribution status, based on their publication
- settings. Implements ticket 18329. For more fine-grained control of
- how a bridge is distributed, upgrade to 0.3.2.x or later.
-
diff --git a/changes/bug19418 b/changes/bug19418
deleted file mode 100644
index fb5f6ad5df..0000000000
--- a/changes/bug19418
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor bugfixes (robustness, error handling):
- - Improve our handling of the cases where OpenSSL encounters a
- memory error while encoding keys and certificates. We haven't
- observed these happening in the wild, but if they do happen,
- we now detect and respond better. Fixes bug 19418; bugfix
- on all versions of Tor. Reported by Guido Vranken.
-
diff --git a/changes/bug20247 b/changes/bug20247
deleted file mode 100644
index 731cf0046f..0000000000
--- a/changes/bug20247
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (linux seccomp2 sandbox):
- - Avoid a sandbox failure when trying to re-bind to a socket and mark
- it as IPv6-only. Fixes bug 20247; bugfix on 0.2.5.1-alpha.
-
diff --git a/changes/bug21074_downgrade b/changes/bug21074_downgrade
deleted file mode 100644
index 1bc1f8523a..0000000000
--- a/changes/bug21074_downgrade
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (portability):
- - Don't exit the Tor process if setrlimit() fails to change the file
- limit (which can happen sometimes on some versions of OSX). Fixes
- bug 21074; bugfix on 0.0.9pre5.
diff --git a/changes/bug21394 b/changes/bug21394
deleted file mode 100644
index e5452e20ba..0000000000
--- a/changes/bug21394
+++ /dev/null
@@ -1,9 +0,0 @@
- o Major bugfixes (Exit nodes):
- - Fix an issue causing high-bandwidth exit nodes to fail a majority
- or all of their DNS requests, making them basically unsuitable for
- regular usage in Tor circuits. The problem is related to
- libevent's DNS handling, but we can work around it in Tor. Fixes
- bugs 21394 and 18580; bugfix on 0.1.2.2-alpha which introduced
- eventdns. Credit goes to Dhalgren for identifying and finding a
- workaround to this bug and to gamambel, arthuredelstein and
- arma in helping to track it down and analyze it.
diff --git a/changes/bug22159 b/changes/bug22159
deleted file mode 100644
index c319c7e322..0000000000
--- a/changes/bug22159
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor bugfixes (hidden service):
- - A service is allowed to open a maximum number of circuits for a specific
- period of time. That value was lower than it should be (8 vs 12) in the
- normal case of 3 introduction points. Fixes bug 22159.; bugfix on
- tor-0.3.0.5-rc.
- - Rate limit the log if we ever go above the maximum number of allowed
- intro circuits. Fixes bug 22159.; bugfix on tor-0.3.1.1-alpha.
diff --git a/changes/bug22212 b/changes/bug22212
deleted file mode 100644
index f92d6701d3..0000000000
--- a/changes/bug22212
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (netflow padding logging):
- - Demote a warn that was caused by libevent delays to info if
- the padding is less than 4.5 seconds late, or notice if it is more
- (4.5 seconds is the amount of time that a netflow record might
- be emitted after, if we chose the maximum timeout). Fixes bug #22212.
diff --git a/changes/bug22286 b/changes/bug22286
deleted file mode 100644
index f72e8fe2c7..0000000000
--- a/changes/bug22286
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor features (tests):
- - Add a couple more tests for compression backend initialization.
- Closes ticket 22286.
diff --git a/changes/bug22347 b/changes/bug22347
deleted file mode 100644
index f294ba0a2d..0000000000
--- a/changes/bug22347
+++ /dev/null
@@ -1,2 +0,0 @@
- o Documentation:
- - Add a manpage description for the key-pinning-journal file.
diff --git a/changes/bug22349 b/changes/bug22349
deleted file mode 100644
index bb43404bfe..0000000000
--- a/changes/bug22349
+++ /dev/null
@@ -1,9 +0,0 @@
- o Minor bugfixes (directory authority):
- - When a directory authority rejects a descriptor or extrainfo with
- a given digest, mark that digest as undownloadable, so that we
- do not attempt to download it again over and over. We previously
- tried to avoid downloading such descriptors by other means, but
- we didn't notice if we accidentally downloaded one anyway. This
- behavior became problematic in 0.2.7.2-alpha, when authorities
- began pinning Ed25519 keys. Fixes ticket
- 22349; bugfix on 0.2.1.19-alpha.
diff --git a/changes/bug22356 b/changes/bug22356
deleted file mode 100644
index 0082b542be..0000000000
--- a/changes/bug22356
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (logging, relay):
- - Downgrade "assigned_to_cpuworker failed" message to INFO-level
- severity. In every case that can reach it, either a better warning
- has already been logged, or no warning is warranted. Fixes bug 22356;
- bugfix on 0.2.6.3-alpha.
diff --git a/changes/bug22400_01 b/changes/bug22400_01
deleted file mode 100644
index 454c5f746f..0000000000
--- a/changes/bug22400_01
+++ /dev/null
@@ -1,4 +0,0 @@
- o Major bugfixes (entry guards):
- - When starting with an old consensus, do not add new entry guards
- unless the consensus is "reasonably live" (under 1 day old). Fixes
- one root cause of bug 22400; bugfix on 0.3.0.1-alpha.
diff --git a/changes/bug22446 b/changes/bug22446
deleted file mode 100644
index eab65aac00..0000000000
--- a/changes/bug22446
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (code style, backport from 0.3.1.3-alpha):
- - Add "Falls through" comments to our codebase, in order to silence
- GCC 7's -Wimplicit-fallthrough warnings. Patch from Andreas
- Stieger. Closes ticket 22446.
diff --git a/changes/bug22502_part1 b/changes/bug22502_part1
deleted file mode 100644
index bd95b7c7c4..0000000000
--- a/changes/bug22502_part1
+++ /dev/null
@@ -1,12 +0,0 @@
- o Major bugfixes (compression, zstd):
- - Correctly detect a full buffer when decompessing a large
- zstd-compressed input. Fixes bug 22628; bugfix on 0.3.1.1-alpha.
-
- o Minor bugfixes (compression):
- - When compressing or decompressing a buffer, check for a failure to
- create a compression object. Fixes bug 22626; bugfix on
- 0.3.1.1-alpha.
-
- - When decompressing a buffer, check for extra data after the end of
- the compressed data. Fixes bug 22629; bugfix on 0.3.1.1-alpha.
-
diff --git a/changes/bug22516 b/changes/bug22516
deleted file mode 100644
index f024a3c470..0000000000
--- a/changes/bug22516
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (linux seccomp2 sandbox):
- - Permit the fchmod system call, to avoid crashing on startup when
- starting with the seccomp2 sandbox and an unexpected set of permissions
- on the data directory or its contents. Fixes bug 22516; bugfix on
- 0.2.5.4-alpha.
diff --git a/changes/bug22520 b/changes/bug22520
deleted file mode 100644
index cc14f7214c..0000000000
--- a/changes/bug22520
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (error reporting, windows):
- - When formatting Windows error messages, use the English format
- to avoid codepage issues. Fixes bug 22520; bugfix on
- 0.1.2.8-alpha. Patch from "Vort".
-
diff --git a/changes/bug22636 b/changes/bug22636
deleted file mode 100644
index 770cac72e9..0000000000
--- a/changes/bug22636
+++ /dev/null
@@ -1,8 +0,0 @@
- o Build features:
- - Tor's repository now includes a Travis Continuous Integration (CI)
- configuration file (.travis.yml). This is meant to help new developers and
- contributors who fork Tor to a Github repository be better able to test
- their changes, and understand what we expect to pass. To use this new build
- feature, you must fork Tor to your Github account, then go into the
- "Integrations" menu in the repository settings for your fork and enable
- Travis, then push your changes.
diff --git a/changes/bug22644 b/changes/bug22644
deleted file mode 100644
index 9b8742edaf..0000000000
--- a/changes/bug22644
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (controller):
- - Do not crash when receiving a POSTDESCRIPTOR command with an
- empty body. Fixes part of bug 22644; bugfix on 0.2.0.1-alpha.
- - Do not crash when receiving a HSPOST command with an empty body.
- Fixes part of bug 22644; bugfix on 0.2.7.1-alpha.
diff --git a/changes/bug22669 b/changes/bug22669
deleted file mode 100644
index 804a39e781..0000000000
--- a/changes/bug22669
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (compression):
- - When serving directory votes compressed with zlib,
- do not claim to have compressed them with zstd. Fixes bug 22669;
- bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug22670 b/changes/bug22670
deleted file mode 100644
index 47403277d2..0000000000
--- a/changes/bug22670
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (logging, compression):
- - When decompressing, do not warn if we fail to decompress using a
- compression method that we merely guessed. Fixes part of
- bug 22670; bugfix on 0.1.1.14-alpha.
diff --git a/changes/bug22670_02 b/changes/bug22670_02
deleted file mode 100644
index 3e7a428faf..0000000000
--- a/changes/bug22670_02
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (logging, compression):
- - When decompressing, treat mismatch between content-encoding and
- actual compression type as a protocol warning. Fixes part of bug
- 22670; bugfix on 0.1.1.9-alpha.
diff --git a/changes/bug22670_03 b/changes/bug22670_03
deleted file mode 100644
index 8a7aa49bcd..0000000000
--- a/changes/bug22670_03
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (compression):
- - When decompressing an object received over an anonymous directory
- connection, if we have already successfully decompressed it using an
- acceptable compression method, do not reject it for looking like an
- unacceptable compression method. Fixes part of bug 22670; bugfix on
- 0.3.1.1-alpha.
diff --git a/changes/bug22672 b/changes/bug22672
deleted file mode 100644
index ec6681149d..0000000000
--- a/changes/bug22672
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor features (compression, defensive programming):
- - Detect and break out of infinite loops in our compression code.
- We don't think that any such loops exist now, but it's best to be
- safe. Closes ticket 22672.
-
diff --git a/changes/bug22702 b/changes/bug22702
deleted file mode 100644
index a2044c70bf..0000000000
--- a/changes/bug22702
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (directory protocol):
- - Ensure that we sent "304 Not modified" as HTTP status code when a
- client is attempting to fetch a consensus or consensus diff that
- matches the latest consensus we have available. Fixes bug 22702;
- bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug22719 b/changes/bug22719
deleted file mode 100644
index bfcda0a4e1..0000000000
--- a/changes/bug22719
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor bugfixes (compression):
- - When spooling compressed data to an output buffer, don't try to
- spool more data when there is no more data to spool and we are
- not trying to flush the input. Previously, we would sometimes
- launch compression requests with nothing to do, which interferes
- with our 22672 checks. Fixes bug 22719; bugfix on 0.2.0.16-alpha.
-
diff --git a/changes/bug22720 b/changes/bug22720
deleted file mode 100644
index 4893b577f0..0000000000
--- a/changes/bug22720
+++ /dev/null
@@ -1,9 +0,0 @@
- o Minor bugfixes (process behavior):
- - When exiting because of an error, always exit with a nonzero
- exit status. Previously, we would fail to report an error in
- our exit status in cases related to lockfile contention,
- __OwningControllerProcess failure, and Ed25519 key
- initialization. Fixes bug 22720; bugfix on versions
- 0.2.1.6-alpha, 0.2.2.28-beta, and 0.2.7.2-alpha
- respectively. Reported by "f55jwk4f"; patch from "huyvq".
-
diff --git a/changes/bug22737 b/changes/bug22737
deleted file mode 100644
index f0de8e6c41..0000000000
--- a/changes/bug22737
+++ /dev/null
@@ -1,12 +0,0 @@
- o Minor bugfixes (defensive programming, undefined behavior):
-
- - Fix a memset() off the end of an array when packing cells. This
- bug should be harmless in practice, since the corrupted bytes
- are still in the same structure, and are always padding bytes,
- ignored, or immediately overwritten, depending on compiler
- behavior. Nevertheless, because the memset()'s purpose is to
- make sure that any other cell-handling bugs can't expose bytes
- to the network, we need to fix it. Fixes bug 22737; bugfix on
- 0.2.4.11-alpha. Fixes CID 1401591.
-
-
diff --git a/changes/bug22751 b/changes/bug22751
deleted file mode 100644
index 714525c8af..0000000000
--- a/changes/bug22751
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (compression):
- - Fix crash in LZMA module, when the Sandbox is enabled, where
- liblzma would allocate more than 16 MB of memory. We solve this
- by bumping the mprotect() limit in the Sandbox module from 16 MB
- to 20 MB. Fixes bug 22751; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug22752_simple b/changes/bug22752_simple
deleted file mode 100644
index 7e60357052..0000000000
--- a/changes/bug22752_simple
+++ /dev/null
@@ -1,6 +0,0 @@
- o Major bugfixes (windows, directory cache):
- - On windows, do not try to delete cached consensus documents and
- diffs, until they unmapped from memory. Allow the diff storage
- directory to grow larger in order to handle files that might
- need to stay around longer. Fixes bug 22752; bugfix on
- 0.3.1.1-alpha.
diff --git a/changes/bug22753 b/changes/bug22753
deleted file mode 100644
index 32a6dfa56c..0000000000
--- a/changes/bug22753
+++ /dev/null
@@ -1,7 +0,0 @@
- o Major bugfixes (path selection, security):
- - When choosing which guard to use for a circuit, avoid the
- exit's family along with the exit itself. Previously, the new
- guard selection logic avoided the exit, but did not consider
- its family. Fixes bug 22753; bugfix on 0.3.0.1-alpha. Tracked
- as TROVE-2016-006 and CVE-2017-0377.
-
diff --git a/changes/bug22789 b/changes/bug22789
deleted file mode 100644
index a653592848..0000000000
--- a/changes/bug22789
+++ /dev/null
@@ -1,7 +0,0 @@
- o Major bugfixes (openbsd, denial-of-service):
- - Avoid an assertion failure bug affecting our implementation of
- inet_pton(AF_INET6) on certain OpenBSD systems whose strtol()
- handling of "0xfoo" differs from what we had expected.
- Fixes bug 22789; bugfix on 0.2.3.8-alpha. Also tracked as
- TROVE-2017-007.
-
diff --git a/changes/bug22797 b/changes/bug22797
deleted file mode 100644
index 619baaa409..0000000000
--- a/changes/bug22797
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (file limits):
- - When setting the maximum number of connections allowed by the OS,
- always allow some extra file descriptors for other files.
- Fixes bug 22797; bugfix on 0.2.0.10-alpha.
diff --git a/changes/bug22801 b/changes/bug22801
deleted file mode 100644
index 7edc79bc84..0000000000
--- a/changes/bug22801
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (compilation):
- - When building with certain versions the mingw C header files, avoid
- float-conversion warnings when calling the C functions isfinite(),
- isnan(), and signbit(). Fixes bug 22801; bugfix on 0.2.8.1-alpha.
-
diff --git a/changes/bug22803 b/changes/bug22803
deleted file mode 100644
index 80b4b9f589..0000000000
--- a/changes/bug22803
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (unit tests):
- - Fix a memory leak in the link-handshake/certs_ok_ed25519 test.
- Fixes bug 22803; bugfix on 0.3.0.1-alpha.
diff --git a/changes/bug22830 b/changes/bug22830
deleted file mode 100644
index 123b725aff..0000000000
--- a/changes/bug22830
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes:
- - Fix a problem with Rust toolchains not being found when building
- without --enable-cargo-online-mode, due to setting the $HOME
- environment variable instead of $CARGO_HOME. Fixes bug 22830;
- fix by Chelsea Komlo. Bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug22883-config b/changes/bug22883-config
deleted file mode 100644
index d60594d9ae..0000000000
--- a/changes/bug22883-config
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor features (directory cache, consensus diff):
- - Add a new MaxConsensusAgeForDiffs option to allow directory cache
- operators with low-resource environments to adjust the number of
- consensuses they'll store and generate diffs from. Most cache operators
- should leave it unchanged. Helps to work around bug 22883.
-
-
diff --git a/changes/bug22883-priority b/changes/bug22883-priority
deleted file mode 100644
index 4b3531c30b..0000000000
--- a/changes/bug22883-priority
+++ /dev/null
@@ -1,8 +0,0 @@
- o Major bugfixes (relay, performance):
-
- - Perform circuit handshake operations at a higher priority than we use
- for consensus diff creation and compression. This should prevent
- circuits from starving when a relay or bridge receive a new consensus,
- especially on lower-powered machines. Fixes bug 22883; bugfix on
- 0.3.1.1-alpha.
-
diff --git a/changes/bug22892 b/changes/bug22892
deleted file mode 100644
index 9a70cb0576..0000000000
--- a/changes/bug22892
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (compilation):
- - Compile correctly when both openssl 1.1.0 and libscrypt are detected.
- Previously this would cause an error. Fixes bug 22892; bugfix on
- 0.3.1.1-alpha.
diff --git a/changes/bug22915 b/changes/bug22915
deleted file mode 100644
index 17a9c6018f..0000000000
--- a/changes/bug22915
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (compilation warnings):
- - Suppress -Wdouble-promotion warnings with clang 4.0. Fixes bug 22915;
- bugfix on 0.2.8.1-alpha.
diff --git a/changes/bug22916_027 b/changes/bug22916_027
deleted file mode 100644
index 5cf99c7d15..0000000000
--- a/changes/bug22916_027
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (Compilation):
- - Fix warnings when building with libscrypt and openssl scrypt support
- on Clang. Fixes bug 22916; bugfix on 0.2.7.2-alpha.
diff --git a/changes/bug22927 b/changes/bug22927
deleted file mode 100644
index 6e68e6ff08..0000000000
--- a/changes/bug22927
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (compatibility, zstd):
- - Write zstd epilogues correctly when the epilogue requires reallocation
- of the output buffer, even with zstd 1.3.0. (Previously,
- we worked on 1.2.0 and failed with 1.3.0). Fixes bug 22927; bugfix on
- 0.3.1.1-alpha.
-
diff --git a/changes/bug23030_029 b/changes/bug23030_029
deleted file mode 100644
index 89a1b507d7..0000000000
--- a/changes/bug23030_029
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor bugfixes (coverity builds):
- - Avoid Coverity build warnings related to our BUG() macro. By
- default, Coverity treats BUG() as the Linux kernel does: an
- instant abort(). We need to override that so our BUG() macro
- doesn't prevent Coverity from analyzing functions that use it.
- Fixes bug 23030; bugfix on 0.2.9.1-alpha.
-
diff --git a/changes/bug23053 b/changes/bug23053
deleted file mode 100644
index 082e239409..0000000000
--- a/changes/bug23053
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (memory leak):
- - Fix a small memory leak when validating a configuration that
- uses two or more AF_UNIX sockets for the same port type.
- Fixes bug 23053; bugfix on 0.2.6.3-alpha. This is CID
- 1415725.
diff --git a/changes/bug23071 b/changes/bug23071
deleted file mode 100644
index 4756dd6252..0000000000
--- a/changes/bug23071
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (tests):
- - Port the hs_ntor handshake test to work correctly with recent
- versions of the pysha3 module. Fixes bug 23071; bugfix on
- 0.3.1.1-alpha.
-
diff --git a/changes/bug23077 b/changes/bug23077
deleted file mode 100644
index 5ed1c56742..0000000000
--- a/changes/bug23077
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (unit tests):
- - Fix a channelpadding unit test failure on extremely slow systems
- by using mocked time instead of actual time. Fixes bug 23077; bugfix on
- 0.3.1.1-alpha.
diff --git a/changes/bug23078 b/changes/bug23078
deleted file mode 100644
index 67624007cf..0000000000
--- a/changes/bug23078
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor bugfixes (logging, relay):
- - Remove a log_warn() that has been forgotten when an introduction point
- successfully established a hidden service prop224 circuit with a client.
- - Three other log_warn() for an introduction point have been changed to
- protocol warning because they can be failure from the network and are
- not relevant to the operator. Fixes bug 23078; bugfix on
- tor-0.3.0.1-alpha and tor-0.3.0.2-alpha.
diff --git a/changes/bug23081 b/changes/bug23081
deleted file mode 100644
index 76c4e30971..0000000000
--- a/changes/bug23081
+++ /dev/null
@@ -1,8 +0,0 @@
- o Minor bugfixes (Windows service):
- - When running as a Windows service, set the ID of the main thread
- correctly. Failure to do so made us fail to send log messages
- to the controller in 0.2.1.16-rc, slowed down controller
- event delivery in 0.2.7.3-rc and later, and crash with an assertion
- failure in 0.3.1.1-alpha. Fixes bug 23081; bugfix on 0.2.1.6-alpha.
- Patch and diagnosis from "Vort".
-
diff --git a/changes/bug23105-diagnostic b/changes/bug23105-diagnostic
deleted file mode 100644
index 8ba4931e36..0000000000
--- a/changes/bug23105-diagnostic
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (diagnostic):
- - Add a stack trace to the bug warnings that can be logged when
- trying to send an outgoing relay cell with n_chan == 0.
- Diagnostic attempt for bug 23105.
diff --git a/changes/bug23139 b/changes/bug23139
deleted file mode 100644
index ed63ce85e2..0000000000
--- a/changes/bug23139
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (directory cache):
- - Fix a memory leak in the code that recovers space in the consensus
- directory cache. Fixes bug 23139; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug23155 b/changes/bug23155
deleted file mode 100644
index 4c24ab136c..0000000000
--- a/changes/bug23155
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (stability):
- - Avoid crashing on double-free when unable to load or process
- an included file. Fixes bug 23155; bugfix on 0.3.1.1-alpha.
- Found with the clang static analyzer.
diff --git a/changes/bug23233 b/changes/bug23233
deleted file mode 100644
index 689a99a2a8..0000000000
--- a/changes/bug23233
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (hidden service):
- - Fix a BUG alert during HSv3 descriptor decoding that could trigger with a
- specially crafted descriptor. Fixes bug #23233; bugfix on 0.3.0.1-alpha.
- Bug found by "haxxpop".
diff --git a/changes/bug23275 b/changes/bug23275
deleted file mode 100644
index d6c3c47743..0000000000
--- a/changes/bug23275
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (relay):
- - When a relay is not running as a directory cache, it will no longer
- generate compressed consensuses and consensus diff information.
- Previously, this was a waste of disk and CPU. Fixes bug 23275;
- bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug23291 b/changes/bug23291
deleted file mode 100644
index a5b0efda0a..0000000000
--- a/changes/bug23291
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (testing):
- - Fix an undersized buffer in test-memwipe.c. Fixes bug 23291; bugfix on
- 0.2.7.2-alpha. Found and patched by Ties Stuij.
diff --git a/changes/bug23318 b/changes/bug23318
deleted file mode 100644
index 7fcb8d4487..0000000000
--- a/changes/bug23318
+++ /dev/null
@@ -1,11 +0,0 @@
- o Minor bugfixes (path selection):
- - When selecting relays by bandwidth, avoid a rounding error that
- could sometimes cause load to be imbalanced incorrectly. Previously,
- we would always round upwards; now, we round towards the nearest
- integer. This had the biggest effect when a relay's weight adjustments
- should have given it weight 0, but it got weight 1 instead.
- Fixes bug 23318; bugfix on 0.2.4.3-alpha.
- - When calculating the fraction of nodes that have descriptors, and all
- all nodes in the network have zero bandwidths, count the number of nodes
- instead.
- Fixes bug 23318; bugfix on 0.2.4.10-alpha.
diff --git a/changes/bug23470 b/changes/bug23470
deleted file mode 100644
index 33367b3a30..0000000000
--- a/changes/bug23470
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfix (relay address resolution):
- - Avoid unnecessary calls to directory_fetches_from_authorities()
- on relays. This avoids spurious address resolutions and
- descriptor rebuilds. This is a mitigation for 21789. The original
- bug was introduced in commit 35bbf2e as part of prop210.
- Fixes 23470 in 0.2.8.1-alpha.
diff --git a/changes/bug23533 b/changes/bug23533
deleted file mode 100644
index b5bfdc0ce2..0000000000
--- a/changes/bug23533
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (relay):
- - Inform the geoip and rephist modules about all requests, even
- on relays that are only fetching microdescriptors. Fixes a bug related
- to 21585; bugfix on 0.3.0.1-alpha.
diff --git a/changes/bug23551 b/changes/bug23551
deleted file mode 100644
index 2f918bfa3a..0000000000
--- a/changes/bug23551
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (compression):
- - Handle a pathological case when decompressing Zstandard data when the
- output buffer size is zero. Fixes bug 23551; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug23568 b/changes/bug23568
deleted file mode 100644
index cac4655687..0000000000
--- a/changes/bug23568
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (compilation):
- - Fix a compilation warning when building with zstd support
- on 32-bit platforms. Fixes bug 23568; bugfix on 0.3.1.1-alpha.
- Found and fixed by Andreas Stieger.
diff --git a/changes/bug23608 b/changes/bug23608
deleted file mode 100644
index 16cf88aa3d..0000000000
--- a/changes/bug23608
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (unit tests):
- - Fix additional channelpadding unit test failures by using mocked time
- instead of actual time for all tests. Fixes bug 23608;
- bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug23610 b/changes/bug23610
deleted file mode 100644
index f2dc8bd1a6..0000000000
--- a/changes/bug23610
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (hidden service, relay):
- - Avoid a possible double close of a circuit by the intro point on error
- of sending the INTRO_ESTABLISHED cell. Fixes ticket 23610; bugfix on
- 0.3.0.1-alpha.
diff --git a/changes/bug23690 b/changes/bug23690
deleted file mode 100644
index 36ff32e499..0000000000
--- a/changes/bug23690
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (relay, crash, assertion failure):
- - Fix a timing-based assertion failure that could occur when the
- circuit out-of-memory handler freed a connection's output buffer.
- Fixes bug 23690; bugfix on 0.2.6.1-alpha.
-
diff --git a/changes/bug23693 b/changes/bug23693
deleted file mode 100644
index 796398be51..0000000000
--- a/changes/bug23693
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (relay, crash):
- - Avoid a crash when transitioning from client mode to bridge mode.
- Previously, we would launch the worker threads whenever our "public
- server" mode changed, but not when our "server" mode changed.
- Fixes bug 23693; bugfix on 0.2.6.3-alpha.
-
diff --git a/changes/bug23817 b/changes/bug23817
deleted file mode 100644
index 4740942799..0000000000
--- a/changes/bug23817
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (descriptors):
- - Don't try fetching microdescriptors from relays that have failed to
- deliver them in the past. Fixes bug 23817; bugfix on 0.3.0.1-alpha.
diff --git a/changes/bug23862 b/changes/bug23862
deleted file mode 100644
index 301ce73672..0000000000
--- a/changes/bug23862
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (entry guards):
- - Tor now updates its guard state when it reads a consensus regardless of
- whether it's missing descriptors. That makes tor use its primary guards
- to fetch descriptors in some edge cases where it would have used fallback
- directories in the past. Fixes bug 23862; bugfix on 0.3.0.1-alpha. \ No newline at end of file
diff --git a/changes/bug23874 b/changes/bug23874
deleted file mode 100644
index bf6620553d..0000000000
--- a/changes/bug23874
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (memory safety):
- - Clear the address when node_get_prim_orport() returns early.
- Fixes bug 23874; bugfix on 0.2.8.2-alpha.
diff --git a/changes/bug23908 b/changes/bug23908
deleted file mode 100644
index f641b66bb9..0000000000
--- a/changes/bug23908
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (directory authority, backport from 0.3.2.1-alpha):
- - Remove the length limit on HTTP status lines that authorities can send
- in their replies. Fixes bug 23499; bugfix on 0.3.1.6-rc.
diff --git a/changes/bug23985 b/changes/bug23985
deleted file mode 100644
index 9cb5937962..0000000000
--- a/changes/bug23985
+++ /dev/null
@@ -1,9 +0,0 @@
- o Minor bugfixes (bootstrapping):
- - Fetch descriptors aggressively whenever we lack enough
- to build circuits, regardless of how many descriptors we are missing.
- Previously, we would delay launching the fetch when we had fewer than
- 15 missing descriptors, even if some of those descriptors were
- blocking circuits from building. Fixes bug 23985; bugfix on
- 0.1.1.11-alpha. The effects of this bug became worse in 0.3.0.3-alpha,
- when we began treating missing descriptors from our primary guards
- as a reason to delay circuits.
diff --git a/changes/bug24086 b/changes/bug24086
deleted file mode 100644
index 2ae0b37e65..0000000000
--- a/changes/bug24086
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor bugfixes (directory cache):
- - When a consensus diff calculation is only partially successful, only
- record the successful parts as having succeeded. Partial success
- can happen if (for example) one compression method fails but
- the others succeed. Previously we misrecorded all the calculations as
- having succeeded, which would later cause a nonfatal assertion failure.
- Fixes bug 24086; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug24099 b/changes/bug24099
deleted file mode 100644
index dca3992664..0000000000
--- a/changes/bug24099
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (directory cache):
- - Recover better from empty or corrupt files in the consensus cache
- directory. Fixes bug 24099; bugfix on 0.3.1.1-alpha.
-
diff --git a/changes/bug24167 b/changes/bug24167
deleted file mode 100644
index fd0d87efff..0000000000
--- a/changes/bug24167
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor bugfixes (network layer):
- - When closing a connection via close_connection_immediately(), we
- mark it as "not blocked on bandwidth", to prevent later calls
- from trying to unblock it, and give it permission to read. This
- fixes a backtrace warning that can happen on relays under various
- circumstances. Fixes bug 24167; bugfix on 0.1.0.1-rc.
-
diff --git a/changes/bug24170 b/changes/bug24170
deleted file mode 100644
index d3d7347693..0000000000
--- a/changes/bug24170
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (path selection):
- - Actually log the total bandwidth in compute_weighted_bandwidths().
- Fixes bug 24170; bugfix on 0.2.4.3-alpha.
diff --git a/changes/bug24198 b/changes/bug24198
deleted file mode 100644
index 6790706872..0000000000
--- a/changes/bug24198
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (controller, linux seccomp2 sandbox):
- - Avoid a crash when attempting to use the seccomp2 sandbox
- together with the OwningControllerProcess feature.
- Fixes bug 24198; bugfix on 0.2.5.1-alpha.
diff --git a/changes/bug24262 b/changes/bug24262
deleted file mode 100644
index eee69512e4..0000000000
--- a/changes/bug24262
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (hidden service):
- - Fix the consensus parameter "hsdir-interval" to "hsdir_interval" so it
- matches the dir-spec.txt. Fixes bug 24262; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug24313 b/changes/bug24313
deleted file mode 100644
index b927ec3ba6..0000000000
--- a/changes/bug24313
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (security, hidden service v2):
- - Fix a use-after-free error that could crash v2 Tor hidden services
- when it failed to open circuits while expiring introductions
- points. Fixes bug 24313; bugfix on 0.2.7.2-alpha. This
- issue is also tracked as TROVE-2017-013 and CVE-2017-8823.
diff --git a/changes/bug24480 b/changes/bug24480
deleted file mode 100644
index 94e5b91a0c..0000000000
--- a/changes/bug24480
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (compilation):
- - Fix a signed/unsigned comparison warning introduced by our
- fix to TROVE-2017-009. Fixes bug 24480; bugfix on 0.2.5.16.
diff --git a/changes/bug24633 b/changes/bug24633
deleted file mode 100644
index 028c7cc143..0000000000
--- a/changes/bug24633
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (portability, msvc):
- - Fix a bug in the bit-counting parts of our timing-wheel code on
- MSVC. (Note that MSVC is still not a supported build platform,
- due to cyptographic timing channel risks.) Fixes bug 24633;
- bugfix on 0.2.9.1-alpha.
diff --git a/changes/bug24666 b/changes/bug24666
deleted file mode 100644
index 830775f5f6..0000000000
--- a/changes/bug24666
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor bugfixes (memory usage):
-
- - When queuing DESTROY cells on a channel, only queue the
- circuit-id and reason fields: not the entire 514-byte
- cell. This fix should help mitigate any bugs or attacks that
- fill up these queues, and free more RAM for other uses. Fixes
- bug 24666; bugfix on 0.2.5.1-alpha.
diff --git a/changes/bug24736 b/changes/bug24736
deleted file mode 100644
index 632560932a..0000000000
--- a/changes/bug24736
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (address selection):
- - When the fascist_firewall_choose_address_ functions don't find a
- reachable address, set the returned address to the null address and port.
- This is a precautionary measure, because some callers do not check the
- return value.
- Fixes bug 24736; bugfix on 0.2.8.2-alpha.
diff --git a/changes/bug24826_031 b/changes/bug24826_031
deleted file mode 100644
index 3d4a66184a..0000000000
--- a/changes/bug24826_031
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (performance, fragile-hardening):
- - Improve the performance of our consensus-diff application code when Tor
- is built with the --enable-fragile-hardening option set. Fixes bug
- 24826; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug24859 b/changes/bug24859
deleted file mode 100644
index 122109d650..0000000000
--- a/changes/bug24859
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (logging):
- - Don't treat inability to store a cached consensus object as a
- bug: it can happen normally when we are out of disk space.
- Fixes bug 24859; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug24895 b/changes/bug24895
deleted file mode 100644
index 7edde94a0b..0000000000
--- a/changes/bug24895
+++ /dev/null
@@ -1,8 +0,0 @@
- o Major bugfixes (onion services):
- - Fix an "off by 2" error in counting rendezvous failures on the onion
- service side. While we thought we would stop the rendezvous attempt
- after one failed circuit, we were actually making three circuit attempts
- before giving up. Now switch to a default of 2, and allow the consensus
- parameter "hs_service_max_rdv_failures" to override. Fixes bug 24895;
- bugfix on 0.0.6.
-
diff --git a/changes/bug24898 b/changes/bug24898
deleted file mode 100644
index f64340d71b..0000000000
--- a/changes/bug24898
+++ /dev/null
@@ -1,8 +0,0 @@
- o Major bugfixes (relays):
- - Fix a set of false positives where relays would consider connections
- to other relays as being client-only connections (and thus e.g.
- deserving different link padding schemes) if those relays fell out
- of the consensus briefly. Now we look only at the initial handshake
- and whether the connection authenticated as a relay. Fixes bug
- 24898; bugfix on 0.3.1.1-alpha.
-
diff --git a/changes/bug24898-029 b/changes/bug24898-029
deleted file mode 100644
index b33f093841..0000000000
--- a/changes/bug24898-029
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (relay):
- - Make the internal channel_is_client() function look at what sort
- of connection handshake the other side used, rather than whether
- the other side ever sent a create_fast cell to us. Backports part
- of the fixes from bugs 22805 and 24898.
-
diff --git a/changes/bug24952 b/changes/bug24952
deleted file mode 100644
index 93174c04f5..0000000000
--- a/changes/bug24952
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfix (channel connection):
- - The accurate address of a connection is real_addr, not the addr member.
- TLS Channel remote address is now real_addr content instead of addr
- member. Fixes bug 24952; bugfix on 707c1e2e26 in 0.2.4.11-alpha.
- Patch by "ffmancera".
diff --git a/changes/bug24978 b/changes/bug24978
deleted file mode 100644
index 5dc45c7442..0000000000
--- a/changes/bug24978
+++ /dev/null
@@ -1,7 +0,0 @@
- o Minor features (compatibility, OpenSSL):
- - Tor will now support TLS1.3 once OpenSSL 1.1.1 is released.
- Previous versions of Tor would not have worked with OpenSSL
- 1.1.1, since they neither disabled TLS 1.3 nor enabled any of the
- ciphersuites it requires. Here we enable the TLS 1.3 ciphersuites.
- Closes ticket 24978.
-
diff --git a/changes/bug25070 b/changes/bug25070
deleted file mode 100644
index c2f4e58c45..0000000000
--- a/changes/bug25070
+++ /dev/null
@@ -1,3 +0,0 @@
- o Major bugfixes (protocol versions):
- - Add Link protocol version 5 to the supported protocols list.
- Fixes bug 25070; bugfix on 0.3.1.1-alpha.
diff --git a/changes/bug25223 b/changes/bug25223
deleted file mode 100644
index fdd5563500..0000000000
--- a/changes/bug25223
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (DoS mitigation):
- - Make sure we don't modify consensus parameters if we aren't a public
- relay when a new consensus arrives. Fixes bug 25223; bugfix on
- 0.3.3.2-alpha.
diff --git a/changes/bug25249 b/changes/bug25249
deleted file mode 100644
index b4153eeaef..0000000000
--- a/changes/bug25249
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (spec conformance):
- - Forbid "-0" as a protocol version. Fixes part of bug 25249; bugfix on
- 0.2.9.4-alpha.
diff --git a/changes/bug25249.2 b/changes/bug25249.2
deleted file mode 100644
index 9058c11071..0000000000
--- a/changes/bug25249.2
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (spec conformance):
- - Forbid UINT32_MAX as a protocol version. Fixes part of bug 25249;
- bugfix on 0.2.9.4-alpha.
diff --git a/changes/bug8185_025 b/changes/bug8185_025
deleted file mode 100644
index 1bfc12b1e4..0000000000
--- a/changes/bug8185_025
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor bugfixes (logging, relay shutdown, annoyance):
- - When a circuit is marked for close, do not attempt to package any cells
- for channels on that circuit. Previously, we would detect this
- condition lower in the call stack, when we noticed that the circuit had
- no attached channel, and log an annoying message. Fixes bug 8185;
- bugfix on 0.2.5.4-alpha.
diff --git a/changes/diagnose_22752 b/changes/diagnose_22752
deleted file mode 100644
index b5bda05ec0..0000000000
--- a/changes/diagnose_22752
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (bug mitigation, diagnostics, logging):
- - Avoid an assertion failure, and log a better error message,
- when unable to remove a file from the consensus cache on
- Windows. Attempts to mitigate and diagnose bug 22752.
diff --git a/changes/geoip-2017-11-06 b/changes/geoip-2017-11-06
deleted file mode 100644
index f034be9006..0000000000
--- a/changes/geoip-2017-11-06
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (geoip):
- - Update geoip and geoip6 to the November 6 2017 Maxmind GeoLite2
- Country database.
-
diff --git a/changes/geoip-2017-12-06 b/changes/geoip-2017-12-06
deleted file mode 100644
index ae4fb1149f..0000000000
--- a/changes/geoip-2017-12-06
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (geoip):
- - Update geoip and geoip6 to the December 6 2017 Maxmind GeoLite2
- Country database.
-
diff --git a/changes/geoip-2018-01-05 b/changes/geoip-2018-01-05
deleted file mode 100644
index 59aba02d09..0000000000
--- a/changes/geoip-2018-01-05
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (geoip):
- - Update geoip and geoip6 to the January 5 2018 Maxmind GeoLite2
- Country database.
-
diff --git a/changes/geoip-2018-02-07 b/changes/geoip-2018-02-07
deleted file mode 100644
index f45228fd76..0000000000
--- a/changes/geoip-2018-02-07
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (geoip):
- - Update geoip and geoip6 to the February 7 2018 Maxmind GeoLite2
- Country database.
-
diff --git a/changes/geoip-august2017 b/changes/geoip-august2017
deleted file mode 100644
index 2dab18a63f..0000000000
--- a/changes/geoip-august2017
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - Update geoip and geoip6 to the August 3 2017 Maxmind GeoLite2
- Country database.
-
diff --git a/changes/geoip-july2017 b/changes/geoip-july2017
deleted file mode 100644
index ed10369f1b..0000000000
--- a/changes/geoip-july2017
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - Update geoip and geoip6 to the July 4 2017 Maxmind GeoLite2
- Country database.
-
diff --git a/changes/geoip-june2017 b/changes/geoip-june2017
deleted file mode 100644
index 2ea7bf105e..0000000000
--- a/changes/geoip-june2017
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - Update geoip and geoip6 to the June 8 2017 Maxmind GeoLite2
- Country database.
-
diff --git a/changes/geoip-october2017 b/changes/geoip-october2017
deleted file mode 100644
index 11f623e85f..0000000000
--- a/changes/geoip-october2017
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features (geoip):
- - Update geoip and geoip6 to the October 4 2017 Maxmind GeoLite2
- Country database.
-
diff --git a/changes/geoip-september2017 b/changes/geoip-september2017
deleted file mode 100644
index be01ff9521..0000000000
--- a/changes/geoip-september2017
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - Update geoip and geoip6 to the September 6 2017 Maxmind GeoLite2
- Country database.
-
diff --git a/changes/longclaw-ipv6 b/changes/longclaw-ipv6
deleted file mode 100644
index 75899c9d07..0000000000
--- a/changes/longclaw-ipv6
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor features (directory authorities):
- - Remove longclaw's IPv6 address, as it will soon change.
- Authority IPv6 addresses were originally added in 0.2.8.1-alpha.
- This leaves 3/8 directory authorities with IPv6 addresses, but there
- are also 52 fallback directory mirrors with IPv6 addresses.
- Resolves 19760.
diff --git a/changes/longclaw_23592 b/changes/longclaw_23592
deleted file mode 100644
index 91e2da8972..0000000000
--- a/changes/longclaw_23592
+++ /dev/null
@@ -1,3 +0,0 @@
- o Directory authority changes:
- - The directory authority "Longclaw" has changed its IP address.
- Closes ticket 23592.
diff --git a/changes/more-files b/changes/more-files
deleted file mode 100644
index 861d6a3143..0000000000
--- a/changes/more-files
+++ /dev/null
@@ -1,4 +0,0 @@
- o Documentation:
- - Document more of the files in the Tor data directory, including
- cached-extrainfo, secret_onion_key{,_ntor}.old, hidserv-stats,
- approved-routers, sr-random, and diff-cache.
diff --git a/changes/more-threads b/changes/more-threads
deleted file mode 100644
index eae88b70fd..0000000000
--- a/changes/more-threads
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor features (relay, performance):
- - Always start relays with at least two worker threads, to prevent
- priority inversion on slow tasks. Part of the fix for bug 22883.
diff --git a/changes/multi-priority b/changes/multi-priority
deleted file mode 100644
index 6f19314b53..0000000000
--- a/changes/multi-priority
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor features (relay, thread pool):
- - Allow background work to be queued with different priorities, so
- that a big pile of slow low-priority jobs will not starve out
- higher priority jobs. This lays the groundwork for a fix for bug
- 22883.
diff --git a/changes/new_requirement_pkgconfig b/changes/new_requirement_pkgconfig
deleted file mode 100644
index 503ff58c9e..0000000000
--- a/changes/new_requirement_pkgconfig
+++ /dev/null
@@ -1,5 +0,0 @@
- o New dependencies:
- - To build with zstd and lzma support, Tor now requires the
- pkg-config tool at build time. (This requirement was new in
- 0.3.1.1-alpha, but was not noted at the time. Noting it here to
- close ticket 22623.)
diff --git a/changes/task-22207 b/changes/task-22207
deleted file mode 100644
index 63544834bf..0000000000
--- a/changes/task-22207
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor features:
- - Add "fingerprint" line to networkstatus-bridges produced by
- bridge authorities. Implements #22207.
-
diff --git a/changes/ticket22348 b/changes/ticket22348
deleted file mode 100644
index 49ae94cdf3..0000000000
--- a/changes/ticket22348
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor features (directory authority):
- - Improve the message that authorities report to relays when
- the RSA/Ed25519 key pair they present conflicts with a previously
- pinned key. Closes ticket 22348.
-
diff --git a/changes/ticket22870 b/changes/ticket22870
deleted file mode 100644
index 07cc8a1d04..0000000000
--- a/changes/ticket22870
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfixes (consensus diff):
- - test_consdiff_base64cmp would fail on OS X because while OS X
- follows the standard of (less than zero/zero/greater than zero),
- it doesn't follow the convention of (-1/0/+1). Make the test
- comply with the standard. Fixes bug 22870; bugfix on 0.3.1.1-alpha.
diff --git a/changes/ticket22895 b/changes/ticket22895
deleted file mode 100644
index a3f7b86019..0000000000
--- a/changes/ticket22895
+++ /dev/null
@@ -1,3 +0,0 @@
- o Minor bugfixes (compilation):
- - Fix unused variable warnings in donna's Curve25519 SSE2 code.
- Fixes bug 22895; bugfix on 0.2.7.2-alpha.
diff --git a/changes/ticket23856 b/changes/ticket23856
deleted file mode 100644
index 049da18d06..0000000000
--- a/changes/ticket23856
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor feature (relay statistics):
- - Change relay bandwidth reporting stats interval from 4 hours to 24 hours
- in order to reduce the efficiency of guard discovery attacks. Fixes
- ticket 23856.
diff --git a/changes/ticket23910 b/changes/ticket23910
deleted file mode 100644
index eb38fcf32f..0000000000
--- a/changes/ticket23910
+++ /dev/null
@@ -1,3 +0,0 @@
- o Directory authority changes:
- - Add bastet as a ninth directory authority to the default list. Closes
- ticket 23910.
diff --git a/changes/ticket24315 b/changes/ticket24315
deleted file mode 100644
index df34dbf412..0000000000
--- a/changes/ticket24315
+++ /dev/null
@@ -1,3 +0,0 @@
- o Major features (linux seccomp2 sandbox):
- - Update the sandbox rules so that they should now work correctly with
- Glibc 2.26. Closes ticket 24315.
diff --git a/changes/ticket24681 b/changes/ticket24681
deleted file mode 100644
index cc0a42b2e0..0000000000
--- a/changes/ticket24681
+++ /dev/null
@@ -1,6 +0,0 @@
- o Minor features (fallback directory mirrors):
- - Make the default DirAuthorityFallbackRate 0.1, so that clients on the
- public tor network prefer to bootstrap off fallback directory mirrors.
- This is a follow-up to 24679, which removed weights from the default
- fallbacks.
- Implements ticket 24681.
diff --git a/changes/ticket24902 b/changes/ticket24902
deleted file mode 100644
index 1a2ef95cc9..0000000000
--- a/changes/ticket24902
+++ /dev/null
@@ -1,13 +0,0 @@
- o Major features (denial of service mitigation):
- - Give relays some defenses against the recent network overload. We start
- with three defenses (default parameters in parentheses). First: if a
- single client address makes too many concurrent connections (>100), hang
- up on further connections. Second: if a single client address makes
- circuits too quickly (more than 3 per second, with an allowed burst of
- 90) while also having too many connections open (3), refuse new create
- cells for the next while (1-2 hours). Third: if a client asks to
- establish a rendezvous point to you directly, ignore the request. These
- defenses can be manually controlled by new torrc options, but relays
- will also take guidance from consensus parameters, so there's no need to
- configure anything manually. Implements ticket 24902.
-
diff --git a/changes/ticket25122 b/changes/ticket25122
deleted file mode 100644
index 2921811b22..0000000000
--- a/changes/ticket25122
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor feature (geoip cache):
- - Make our OOM handler aware of the geoip client history cache so it
- doesn't fill up the memory which is especially important for IPv6 and
- our DoS mitigation subsystem. Closes ticket 25122.
diff --git a/changes/ticket25170 b/changes/ticket25170
deleted file mode 100644
index 0652139400..0000000000
--- a/changes/ticket25170
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor bugfix (directory authority, documentation):
- - When a fingerprint or network address is marked as rejected, the
- returned message by the authority now explicitly mention to set a valid
- ContactInfo address and contact the bad-relays@ mailing list. Fixes bug
- 25170; bugfix on 0.2.9.1.
diff --git a/changes/ticket25202 b/changes/ticket25202
deleted file mode 100644
index ba64abad7b..0000000000
--- a/changes/ticket25202
+++ /dev/null
@@ -1,4 +0,0 @@
- o Minor bugfixes (DoS mitigation):
- - Add extra safety checks when refilling the circuit creation bucket to
- ensure we never set a value that is above the allowed burst. Fixes
- bug 25202; bugfix on 0.3.3.2-alpha.
diff --git a/changes/ticket25323 b/changes/ticket25323
deleted file mode 100644
index 836825de5d..0000000000
--- a/changes/ticket25323
+++ /dev/null
@@ -1,4 +0,0 @@
- o Code simplification and refactoring:
- - Update the "rust dependencies" submodule to be an project-level
- repository, rather than a user repository. Closes ticket 25323.
-
diff --git a/changes/ticket_24801 b/changes/ticket_24801
deleted file mode 100644
index f5f6c831af..0000000000
--- a/changes/ticket_24801
+++ /dev/null
@@ -1,5 +0,0 @@
- o Minor features (new fallback directories):
- - The fallback directory list has been re-generated based on the
- current status of the network. Tor uses fallback directories to
- bootstrap it doesn't yet have up-to-date directory
- information. Closes ticket 24801.
diff --git a/changes/trove-2017-008 b/changes/trove-2017-008
deleted file mode 100644
index 4b9c5b0a12..0000000000
--- a/changes/trove-2017-008
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (security, hidden services, loggging):
- - Fix a bug where we could log uninitialized stack when a certain
- hidden service error occurred while SafeLogging was disabled.
- Fixes bug #23490; bugfix on 0.2.7.2-alpha.
- This is also tracked as TROVE-2017-008 and CVE-2017-0380.
diff --git a/changes/trove-2017-009 b/changes/trove-2017-009
deleted file mode 100644
index 166a5faec6..0000000000
--- a/changes/trove-2017-009
+++ /dev/null
@@ -1,10 +0,0 @@
- o Major bugfixes (security):
- - When checking for replays in the INTRODUCE1 cell data for a (legacy)
- hiddden service, correctly detect replays in the RSA-encrypted part of
- the cell. We were previously checking for replays on the entire cell,
- but those can be circumvented due to the malleability of Tor's legacy
- hybrid encryption. This fix helps prevent a traffic confirmation
- attack. Fixes bug 24244; bugfix on 0.2.4.1-alpha. This issue is also
- tracked as TROVE-2017-009 and CVE-2017-8819.
-
-
diff --git a/changes/trove-2017-010 b/changes/trove-2017-010
deleted file mode 100644
index d5bf9333da..0000000000
--- a/changes/trove-2017-010
+++ /dev/null
@@ -1,6 +0,0 @@
- o Major bugfixes (security):
- - Fix a denial-of-service issue where an attacker could crash
- a directory authority using a malformed router descriptor.
- Fixes bug 24245; bugfix on 0.2.9.4-alpha. Also tracked
- as TROVE-2017-010 and CVE-2017-8820.
-
diff --git a/changes/trove-2017-011 b/changes/trove-2017-011
deleted file mode 100644
index 82d20d9e78..0000000000
--- a/changes/trove-2017-011
+++ /dev/null
@@ -1,8 +0,0 @@
- o Major bugfixes (security):
- - Fix a denial of service bug where an attacker could use a malformed
- directory object to cause a Tor instance to pause while OpenSSL would
- try to read a passphrase from the terminal. (If the terminal was not
- available, tor would continue running.) Fixes bug 24246; bugfix on
- every version of Tor. Also tracked as TROVE-2017-011 and
- CVE-2017-8821. Found by OSS-Fuzz as testcase 6360145429790720.
-
diff --git a/changes/trove-2017-012-part1 b/changes/trove-2017-012-part1
deleted file mode 100644
index 9fccc2cf65..0000000000
--- a/changes/trove-2017-012-part1
+++ /dev/null
@@ -1,6 +0,0 @@
- o Major bugfixes (security, relay):
- - When running as a relay, make sure that we never build a path through
- ourselves, even in the case where we have somehow lost the version of
- our descriptor appearing in the consensus. Fixes part of bug 21534;
- bugfix on 0.2.0.1-alpha. This issue is also tracked as TROVE-2017-012
- and CVE-2017-8822.
diff --git a/changes/trove-2017-012-part2 b/changes/trove-2017-012-part2
deleted file mode 100644
index ed994c5b02..0000000000
--- a/changes/trove-2017-012-part2
+++ /dev/null
@@ -1,5 +0,0 @@
- o Major bugfixes (security, relay):
- - When running as a relay, make sure that we never ever choose ourselves
- as a guard. Previously, this was possible. Fixes part of bug 21534;
- bugfix on 0.3.0.1-alpha. This issue is also tracked as TROVE-2017-012
- and CVE-2017-8822.
diff --git a/changes/trove-2018-001.1 b/changes/trove-2018-001.1
deleted file mode 100644
index f0ee92f409..0000000000
--- a/changes/trove-2018-001.1
+++ /dev/null
@@ -1,6 +0,0 @@
- o Major bugfixes (denial-of-service, directory authority):
- - Fix a protocol-list handling bug that could be used to remotely crash
- directory authorities with a null-pointer exception. Fixes bug 25074;
- bugfix on 0.2.9.4-alpha. Also tracked as TROVE-2018-001.
-
-
diff --git a/changes/trove-2018-004 b/changes/trove-2018-004
deleted file mode 100644
index 37e0a89b0d..0000000000
--- a/changes/trove-2018-004
+++ /dev/null
@@ -1,8 +0,0 @@
- o Minor bugfixes (denial-of-service):
- - Fix a possible crash on malformed consensus. If a consensus had
- contained an unparseable protocol line, it could have made clients
- and relays crash with a null-pointer exception. To exploit this
- issue, however, an attacker would need to be able to subvert the
- directory-authority system. Fixes bug 25251; bugfix on
- 0.2.9.4-alpha. Also tracked as TROVE-2018-004.
-
diff --git a/scripts/maint/lintChanges.py b/scripts/maint/lintChanges.py
index bf06064fa8..ff5ba5ae95 100755
--- a/scripts/maint/lintChanges.py
+++ b/scripts/maint/lintChanges.py
@@ -17,6 +17,7 @@ KNOWN_GROUPS = set([
"Major feature",
"Major features",
"New system requirements",
+ "New dependencies",
"Testing",
"Documentation",
"Code simplification and refactoring",