summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2016-08-02 11:46:18 -0400
committerNick Mathewson <nickm@torproject.org>2016-08-02 11:46:51 -0400
commitcbf3699b840e5a6c6f492e6bead9727ddb8bec9d (patch)
treedfcdbd95cba95f25520c9a8de43977d9fc955c1d /ChangeLog
parent5aa6a19de5144e96274d8ddfbc056c8d3bc50298 (diff)
downloadtor-cbf3699b840e5a6c6f492e6bead9727ddb8bec9d.tar.gz
tor-cbf3699b840e5a6c6f492e6bead9727ddb8bec9d.zip
Start work on an 0.2.9.1-alpha changelog
(sort, fold, and reflow.)
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog282
1 files changed, 281 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 592cd47e10..31603448aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,284 @@
-Changes in version 0.2.9.1-alpha - 2016-??-??
+Changes in version 0.2.9.1-alpha - 2016-08-??
+ Tor 0.2.9.1-alpha is the first alpha release in the 0.2.9
+ development series.
+
+ o New system requirements:
+ - Tor requires Libevent version 2.0.10-stable or later now.
+ Implements ticket 19554.
+ - We now require zlib version 1.2 or later. (Back when we started,
+ zlib 1.1 and zlib 1.0 were still found in the wild. 1.2 was
+ released in 2003. We recommend the latest version.)
+
+ o Major features (dirauths, security, hidden services):
+ - Directory authorities can now perform the shared randomness
+ protocol specified by proposal 250. Using this protocol, directory
+ authorities can generate a global fresh random number every day.
+ In the future, this global randomness will be used by hidden
+ services to select their responsible HSDirs. This release only
+ implements the directory authority feature; the hidden service
+ side will be implemented in the future as part of proposal 224 .
+ Resolves ticket 16943; implements proposal 250.
+
+ o Major features (build, hardening):
+ - Tor now builds with -ftrapv by default on compilers that support
+ it. This option detects signed integer overflow, and turns it into
+ a hard-failure. We do not apply this option to code that needs to
+ run in constant time to avoid side-channels; instead, we use
+ -fwrapv. Closes ticket 17983.
+ - When --enable-expensive-hardening is selected, stop applying the
+ clang/gcc sanitizers to code that needs to run in constant-time to
+ avoid side channels: although we are aware of no introduced side-
+ channels, we are not able to prove that this is safe. Related to
+ ticket 17983.
+
+ o Major bugfixes (exit policies):
+ - Avoid disclosing exit outbound bind addresses, configured port
+ bind addresses, and local interface addresses in relay descriptors
+ by default under ExitPolicyRejectPrivate. Instead, only reject
+ these (otherwise unlisted) addresses if
+ ExitPolicyRejectLocalInterfaces is set. Fixes bug 18456; bugfix on
+ 0.2.7.2-alpha. Patch by teor.
+
+ o Major bugfixes (hidden service client):
+ - With FetchHidServDescriptors set to 0, there is no descriptor
+ fetch (which is intended) but also no descriptor cache lookup was
+ done making any Tor client not working with this option unset.
+ Fixes bug 18704; bugfix on 0.2.0.20-rc. Patch by "twim".
+
+ o Major bugfixes (user interface):
+ - Fix an integer overflow in the rate-limiter that caused displaying
+ of wrong number of suppressed messages (if there are too many of
+ them). If the number of messages hits the limit of messages per
+ interval the rate-limiter doesn't count any further. Fixes bug
+ 19435; bugfix on 0.2.4.11-alpha.
+
+ o Minor features (backend):
+ - Tor now uses the operating system's monotonic timers (where
+ available) for internal fine-grained timing. Previously we would
+ look at the system clock, and then attempt to compensate for the
+ clock running backwards. Closes ticket 18908.
+
+ o Minor features (build):
+ - Detect and work around a libclang_rt problem that prevents clang
+ from finding __mulodi4() on some 32-bit platforms. This clang bug
+ would keep -ftrapv from linking on those systems. Closes
+ ticket 19079.
+ - Use the Autoconf macro AC_USE_SYSTEM_EXTENSIONS to automatically
+ turn on C and POSIX extensions. Closes ticket 19139.
+ - When building on a system without runtime support for some of the
+ runtime hardening options, try to log a useful warning at
+ configuration time, rather than an incomprehensible warning at
+ link time. If expensive hardening was requested, this warning
+ becomes an error. Closes ticket 18895.
+
+ o Minor features (code safety):
+ - In our integer-parsing functions, check that the maxiumum value
+ given is no smaller than the minimum value. Closes ticket 19063;
+ patch from U+039b.
+
+ o Minor features (compilation):
+ - Our big list of extra GCC warnings is now enabled by default when
+ building with GCC (or with anything like Clang that claims to be
+ GCC-compatible). To make all warnings into fatal compilation
+ errors, pass --enable-fatal-warnings to configure. Closes
+ ticket 19044.
+
+ o Minor features (control port):
+ - Implement new GETINFO queries for all downloads using
+ download_status_t to schedule retries. Closes ticket 19323.
+
+ o Minor features (controller):
+ - Add support for configuring basic client authorization on hidden
+ services created with the ADD_ONION control command. Implements
+ ticket 15588. Patch by "special".
+ - Fire a `STATUS_SERVER` event whenever the hibernation status
+ changes between "awake"/"soft"/"hard". Closes ticket 18685.
+
+ o Minor features (debugging):
+ - When dumping unparseable router descriptors, optionally store them
+ in separate filenames by hash, up to a configurable limit. Closes
+ ticket 18322.
+
+ o Minor features (directory authority):
+ - Directory authorities now only give the Guard flag to a relay if
+ they are also giving it the Stable flag. This change allows us to
+ simplify path selection for clients, and it should have minimal
+ effect in practice since >99% of Guards already have the Stable
+ flag. Implements ticket 18624.
+ - Make directory authorities write the v3-status-votes file out to
+ disk earlier in the consensus process, so we have the votes even
+ if we abort the consensus process below. Resolves ticket 19036.
+
+ o Minor features (downloading):
+ - Use random exponential backoffs when retrying downloads from the
+ dir servers. Closes ticket 15942.
+
+ o Minor features (hidden service):
+ - Stop being so strict about the payload length of "rendezvous1"
+ cells. We used to be locked in to the "tap" handshake length, and
+ now we can handle better handshakes like "ntor". Resolves
+ ticket 18998.
+
+ o Minor features (infrastructure):
+ - Tor now includes an improved timer backend, so that we can
+ efficiently support tens or hundreds of thousands of concurrent
+ timers, as will be needed for some of our planned anti-traffic-
+ analysis work. This code is based on William Ahern's "timeout.c"
+ project, which implements a "tickless hierarchical timing wheel".
+ Closes ticket 18365.
+
+ o Minor features (logging):
+ - Provide a more useful warning message when configured with an
+ invalid Nickname. Closes ticket 18300; patch from "icanhasaccount".
+
+ o Minor features (performance):
+ - When fetching a consensus for the first time, use optimistic data.
+ This saves a round-trip during startup. Closes ticket 18815.
+
+ o Minor features (relay, usability):
+ - When the directory authorities refuse a bad relay's descriptor,
+ encourage the relay operator to contact us. Many relay operators
+ won't notice this line in their logs, but it's a win if even a few
+ learn why we don't like what their relay was doing. Resolves
+ ticket 18760.
+
+ o Minor features (safety, debugging):
+ - Add a set of macros to check nonfatal assertions, for internal
+ use. Migrating more of our checks to these should help us avoid
+ needless crash bugs. Closes ticket 18613.
+
+ o Minor features (testing):
+ - Let backtrace tests work correctly under AddressSanitizer. Fixes
+ part of bug 18934; bugfix on 0.2.5.2-alpha.
+ - Move the test-network.sh script to chutney, and modify tor's test-
+ network.sh to call the (newer) chutney version when available.
+ Resolves ticket 19116. Patch by teor.
+ - Use the lcov convention for marking lines as unreachable, so that
+ we don't count them when we're generating test coverage data.
+ Update our coverage tools to understand this convention. Closes
+ ticket 16792.
+
+ o Minor bugfixes (bootstrap):
+ - Remember the directory we fetched the consensus or previous
+ certificates from, and use it to fetch future authority
+ certificates. Fixes bug 18963; bugfix on 0.2.8.1-alpha.
+
+ o Minor bugfixes (build):
+ - Make the test-stem and test-network targets depend only on the tor
+ binary to be tested. Previously, they depended on "make all".
+ Fixes bug 18240; bugfix on 0.2.8.2-alpha. Based on a patch
+ from "cypherpunks".
+
+ o Minor bugfixes (circuits):
+ - Make sure extend_info_from_router is only called on servers. Fixes
+ bug 19639; bugfix on 0.2.8.1-alpha.
+
+ o Minor bugfixes (compilation):
+ - When building with Clang, include our full array of GCC warnings.
+ (Previously, we included only a subset, because of the way we
+ detected them.) Fixes bug 19216; bugfix on 0.2.0.1-alpha.
+
+ o Minor bugfixes (directory authority):
+ - Authorities now sort the "package" lines in their votes, for ease
+ of debugging. (They are already sorted in the consensus
+ documents.) Fixes bug 18840; bugfix on 0.2.6.3-alpha.
+ - When parsing detached signature, make sure we use the length of
+ the digest algorithm instead of an hardcoded DIGEST256_LEN in
+ order to avoid comparing bytes out of bound with a smaller digest
+ length such as SHA1. Fixes bug 19066; bugfix on 0.2.2.6-alpha.
+
+ o Minor bugfixes (documentation):
+ - Document the --passphrase-fd option in the tor manpage. Fixes bug
+ 19504; bugfix on 0.2.7.3-rc.
+ - Fix the description of the --passphrase-fd option in the
+ tor-gencert manpage. The option is used to pass the number of a
+ file descriptor to read the passphrase from, not to read the file
+ descriptor from. Fixes bug 19505; bugfix on 0.2.0.20-alpha.
+
+ o Minor bugfixes (ephemeral hidden service):
+ - When deleting an ephemeral hidden service, close its intro points
+ even if not in the open state. Fixes bug 18604; bugfix
+ on 0.2.7.1-alpha.
+
+ o Minor bugfixes (guard selection):
+ - Use a single entry guard even if the NumEntryGuards consensus
+ parameter is not provided. Fixes bug 17688; bugfix
+ on 0.2.5.6-alpha.
+
+ o Minor bugfixes (guards):
+ - Don't mark guards as unreachable if connection_connect() fails.
+ That function fails for local reasons, so it shouldn't reveal
+ anything about the status of the guard. Fixes bug 14334; bugfix
+ on 0.2.3.10-alpha.
+
+ o Minor bugfixes (hidden service client):
+ - Increase the minimum number of internal circuits we preemptively
+ build from 2 to 3 so they are available when a client connects to
+ another onion service. Fixes bug 13239; bugfix on 0.1.0.1-rc.
+
+ o Minor bugfixes (logging):
+ - When logging a directory ownership mismatch, log the owning
+ username correctly. Fixes bug 19578; bugfix on 0.2.2.29-beta.
+
+ o Minor bugfixes (memory leaks):
+ - Fix a small, uncommon memory leak that could occur when reading a
+ truncated ed25519 key file. Fixes bug 18956; bugfix
+ on 0.2.6.1-alpha.
+
+ o Minor bugfixes (test networks):
+ - Allow clients to retry HSDirs much faster in test networks. Fixes
+ bug 19702; bugfix on 0.2.7.1-alpha. Patch by teor.
+
+ o Minor bugfixes (testing):
+ - Disable ASAN's detection of segmentation faults while running
+ test_bt.sh, so that we can make sure that our own backtrace
+ generation code works. Fixes another aspect of bug 18934; bugfix
+ on 0.2.5.2-alpha. Patch from "cypherpunks".
+ - Fix the test-network-all target on out-of-tree builds by using the
+ correct path to the test driver script. Fixes bug 19421; bugfix
+ on 0.2.7.3-rc.
+
+ o Minor bugfixes (time):
+ - Improve overflow checks in tv_udiff and tv_mdiff. Fixes bug 19483;
+ bugfix on all released tor versions.
+
+ o Minor bugfixes (timing):
+ - When computing the difference between two times in milliseconds,
+ we now round to the nearest millisecond correctly. Previously, we
+ could sometimes round in the wrong direction. Fixes bug 19428;
+ bugfix on 0.2.2.2-alpha.
+
+ o Minor bugfixes (user interface):
+ - Fix a typo in the getting passphrase prompt for the ed25519
+ identity key. Fixes bug 19503; bugfix on 0.2.7.2-alpha.
+
+ o Code simplification and refactoring:
+ - Remove redundant declarations of the MIN macro. Closes
+ ticket 18889.
+ - Rename tor_dup_addr() to tor_addr_to_str_dup() to avoid confusion.
+ Closes ticket 18462; patch from "icanhasaccount".
+ - Split the 600-line directory_handle_command_get function into
+ separate functions for different URL types. Closes ticket 16698.
+
+ o Documentation:
+ - Fix spelling of "--enable-tor2web-mode" in the manpage. Closes
+ ticket 19153. Patch from "U+039b".
+
+ o Removed features:
+ - Remove support for "GET /tor/bytes.txt" DirPort request, and
+ "GETINFO dir-usage" controller request, which were only available
+ via a compile-time option in Tor anyway. Feature was added in
+ 0.2.2.1-alpha. Resolves ticket 19035.
+ - There is no longer a compile-time option to disable support for
+ TransPort. (If you don't want TransPort; just don't use it.) Patch
+ from "U+039b". Closes ticket 19449.
+
+ o Testing:
+ - Run more workqueue tests as part of "make check". These had
+ previously been implemented, but you needed to know special
+ command-line options to enable them.
+ - We now have unit tests for our code to reject zlib "compression
+ bombs". (Fortunately, the code works fine.)
Changes in version 0.2.8.6 - 2016-08-02