summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2015-09-09 09:44:02 -0400
committerNick Mathewson <nickm@torproject.org>2015-09-09 09:44:31 -0400
commit2f8c0584bf3fa960f2cd1f63f57e5e908699cd1f (patch)
treead978812f9facfdeff515c24f0bfda085198424e /ChangeLog
parent638e5f976b038942043b8f053af7470345e810f5 (diff)
downloadtor-2f8c0584bf3fa960f2cd1f63f57e5e908699cd1f.tar.gz
tor-2f8c0584bf3fa960f2cd1f63f57e5e908699cd1f.zip
Fold changes files into changelog
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog246
1 files changed, 246 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 80f7785a81..6342995c7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,249 @@
+Changes in version 0.2.7.3-????? - 2015-09-1?
+ XXXX write a blurb
+
+ o Major features (security, hidden services):
+ - For an hidden service, it is now prohibited to use one single
+ EntryNodes to avoid a very easy guard discovery attack. For more
+ details, see the ticket description here:
+ https://trac.torproject.org/projects/tor/ticket/14917. Fixes
+ ticket 14917.
+
+ o Major features (relay, Ed25519):
+ - Significant improvements to the usability of relay-side Ed25519
+ key management. Log messages are better, and the code can recover
+ from far more failure conditions. Thanks to "s7r" for reporting
+ and diagnosing so many of these!
+
+ o Major bugfixes (relay, Ed25519):
+ - Avoid crashing on 'tor --keygen'. Fixes bug 16679; bugfix on
+ 0.2.7.2-alpha. Reported by "s7r".
+ - Improve handling of expired signing keys along with offline master
+ keys. Fixes bug 16685; bugfix on 0.2.7.2-alpha. Reported by "s7r".
+
+ o Major enhancements (performance testing):
+ - Add chutney performance testing support to src/test/test-
+ network.sh The following arguments change how chutney verifies the
+ network: "--bytes n" sends n bytes per test connection;
+ "--connections n" makes n test connections per client; and
+ "--hs-multi-client 1" makes each client connect to each HS.
+ Requires the corresponding chutney performance testing changes.
+ Note: using --connections 7 or greater on a HS will trigger issue
+ 15937. Patch by "teor". Closes ticket 14175.
+
+ o Minor features:
+ - Try harder to normalize the exit status of the Tor process to the
+ standard-provided range. Fixes bug 16975; bugfix on every version
+ of Tor ever.
+ - Update geoip and geoip6 to the July 8 2015 Maxmind GeoLite2
+ Country database.
+
+ o Minor features (client-side privacy):
+ - Indefinitely extend circuit lifespan by resetting dirtyness, if
+ IsolateSOCKSAuth is in use, the new `KeepAliveIsolateSOCKSAuth`
+ option is set, and streams with SOCKS authentication are attached
+ to the circuit. Implements feature 15482.
+
+ o Minor features (compilation):
+ - Give a warning as early as possible when trying to build with an
+ unsupported OpenSSL version. Closes ticket 16901.
+
+ o Minor features (Hidden service directory):
+ - Relays need to have the Fast flag to get the HSDir flag. As this
+ is being written, we'll go from 2745 HSDirs down to 2342, a ~14%
+ drop. Fixes ticket 15963.
+
+ o Minor features (hidden Service Statistics):
+ - Turn on hidden service statistics collection by setting the torrc
+ option HiddenServiceStatistics to "1" by default. Closes
+ ticket 15254.
+
+ o Minor features (hidden service):
+ - Client now uses an introduction point failure cache to know when
+ to fetch or keep a descriptor in their cache.
+
+ When fetching a descriptor, for every introduction points in it,
+ we look them up in the failure cache to know if we keep the
+ descriptor or not. For this to work, everytime an introduction
+ points is discarded (ex: receiving a NACK), we note it down in our
+ introduction cache. If all introduction points for an onion
+ service are in our failure cache, we discard the descriptor and
+ fetch a new one.
+
+ See rendcache.c for a detailed explanation of the cache's
+ behavior. Closes ticket 16389.
+
+ o Minor features (performance):
+ - Improve the runtime speed of Ed25519 operations and Curve25519
+ keypair generation when built targeting 32 bit x86 platforms with
+ SSE2 available. Implements ticket 16535.
+ - Improve the runtime speed of Ed25519 signature verification by
+ using Ed25519-donna's batch verification support when there are a
+ lot of signatures to verify at once. Implements ticket 16533.
+
+ o Minor features (testing):
+ - Autodetect CHUTNEY_PATH if the chutney and tor sources are side-
+ by-side in the same parent directory. Closes ticket 16903. Patch
+ by "teor".
+
+ o Minor features (testing, authorities):
+ - New TestingDirAuthVote{Exit,Guard,HSDir}IsStrict flags. "A node
+ will never receive the corresponding flag unless that node is
+ specified in the TestingDirAuthVote{Exit,Guard,HSDir} list,
+ regardless of its uptime, bandwidth, exit policy, or DirPort".
+ Closes ticket 14882. Patch by "robgjansen", modified by "teor" as
+ VoteOnHidServDirectoriesV2 is now obsolete. Commit message and
+ changes file by "teor" & "robgjansen".
+
+ o Minor features (testing, authorities, documentation):
+ - Fix an error in the manual page and comments for
+ TestingDirAuthVoteHSDir[IsStrict], which suggested that a HSDir
+ required "ORPort connectivity". While this is true, it is in no
+ way unique to the HSDir flag. Of all the flags, only HSDirs need a
+ DirPort configured in order for the authorities to assign that
+ particular flag. Fixed as part of 14882. Patch by "teor". Bugfix
+ on 0.2.6.3 (f9d57473e1ff on 10 January 2015).
+
+ o Minor features (testing, bridges, hidden services):
+ - Make "bridges+hs" the default test network. This tests almost all
+ tor functionality during make test-network, while allowing tests
+ to succeed on non-IPv6 systems. Requires chutney commit 396da92 in
+ test-network-bridges-hs. Closes tickets 16945 (tor), 16946
+ (chutney) . Patches by "teor".
+
+ o Minor bugfixes:
+ - Check correctly for windows socket errors in the workqueue
+ backend. Fixes bug 16741; bugfix on 0.2.6.3-alpha.
+ - Ensure that worker threads actually exit when a fatal error or
+ shutdown is indicated. This doesn't currently affect the behaviour
+ of Tor, because Tor never indicates fatal error or shutdown except
+ in its unit tests. Fixes bug 16868; bugfix on 0.2.6.3-alpha.
+ - Fix an usage message of tor-resolve(1) so that it no longer lists
+ the removed -F option. Fixes bug 16913; bugfix on
+ Tor 0.2.2.28-beta.
+ - Fix the behavior of crypto_time_t when told to consider times
+ before 1970. (These times were possible when running in a
+ simulated network environment where time()'s output starts at
+ zero.) Fixes bug 16980; bugfix on 0.2.7.1-alpha.
+ - When calling channel_free_list(), avoid calling smartlist_remove()
+ while inside a FOREACH loop. This partially reverts commit
+ 17356fe7fd96af where the correct SMARTLIST_DEL_CURRENT was
+ removed. Fixes bug 16924; bugfix on 0.2.4.4-alpha.
+ - When logging malformed hostnames in socks5 requests, respect
+ SafeLogging configuration. Fixes bug 16891; bugfix on 0.1.1.16-rc.
+ - include the TUNING document in our source tarball. It is referred
+ to in the ChangeLog and an error message. Fixes bug 16929; bugfix
+ on 0.2.6.1-alpha.
+
+ o Minor bugfix (open file limit):
+ - Fix set_max_file_descriptors() to set by default the max open file
+ limit to the current limit in case setrlimit() fails so we at
+ least have a usable value; Fixes bug 16274; bugfix on tor-
+ 0.2.0.10-alpha. Patch by dgoulet.
+
+ o Minor bugfixes (authority):
+ - Don't assign "HSDir" to a router if it isn't Valid and Running.
+ Fixes bug 16524; bugfix on 0.2.7.2-alpha.
+ - Downgrade log messages about Ed25519 key issues, if they are in
+ old cached router descriptors. Fixes part of bug 16286; bugfix
+ on 0.2.7.2-alpha.
+ - When we find an Ed25519 key issue in a cached descriptor, stop
+ saying the descriptor was just "uploaded". Fixes another part of
+ bug 16286; bugfix on 0.2.7.2-alpha.
+
+ o Minor bugfixes (control port):
+ - Control port was using set_max_file_descriptors() with a limit set
+ to 0 to get the max value. A recent fix made this use case return
+ an error and introduced dead code in that function. This triggered
+ a warning that our limit (ConnLimit) was invalid but in reality it
+ was not.
+
+ Now, to the control port uses a specific getter function to query
+ the value and set_max_file_descriptors() should never be used
+ again for that purpose. Fixes bug 16697; bugfix on 0.2.7.2-alpha.
+
+ o Minor bugfixes (Ed25519):
+ - Fix a memory leak when reading router descriptors with expired
+ Ed25519 certificate. Fixes bug 16539; bugfix on 0.2.7.2-alpha.
+
+ o Minor bugfixes (linux seccomp2 sandbox):
+ - Allow bridge authorities to run correctly under the seccomp2
+ sandbox. Fixes bug 16964; bugfix on 0.2.5.1-alpha.
+ - Allow routers with ed25519 keys to run correctly under the
+ seccomp2 sandbox. Fixes bug 16965; bugfix on 0.2.7.2-alpha.
+
+ o Minor bugfixes (relay):
+ - Unblock threads before releasing the mutex to ensure predictable
+ scheduling behavior. Fixes bug 16644; bugfix on 0.2.6.3-alpha.
+
+ o Code simplification and refactoring:
+ - Change the function that's called when we need to retry all
+ downloads so that it only reschedules the downloads to happen
+ immediately, rather than launching them all at once itself. This
+ further simplifies Tor's callgraph.
+ - Move some format-parsing functions out of crypto.c and
+ crypto_curve25519.c into crypto_format.c and/or util_format.c.
+ - Move the client-only parts of init_keys() into a separate
+ function. Closes ticket 16763.
+ - Simplify the microdesc_free() implementation so that it no longer
+ appears (to code analysis tools) to potentially invoke a huge
+ suite of other microdesc functions.
+ - Simply the control graph further by deferring the inner body of
+ directory_all_unreachable() into a callback. Closes ticket 16762.
+ - Treat the loss of an owning controller as equivalent to a SIGTERM
+ signal. This removes a tiny amount of duplicated code, and
+ simplifies our callgraph. Closes ticekt 16788.
+ - When generating an event to send to the controller, we no longer
+ put the event over the network immediately. Instead, we queue
+ these events, and use a Libevent callback to deliver them. This
+ change simplifies Tor's callgraph by reducing the number of
+ functions from which all other Tor functions are reachable. Closes
+ ticket 16695.
+ - Wrap windows-only C files inside '#ifdef _WIN32' so that tools
+ that try to scan or compile every file on Unix won't decide that
+ they are broken.
+
+ o Code simplifications and refactoring:
+ - Remove the unused "nulterminate" argument from buf_pullup().
+
+ o Documentation:
+ - Recommend a 40 GB example AccountingMax in torrc.sample rather
+ than a 4 GB max. Closes ticket 16742.
+
+ o Removed code:
+ - The internal pure-C tor-fw-helper tool is now removed from the Tor
+ distribution, in favor of the pure-Go clone available from
+ https://github.com/Yawning/tor-fw-helper . The libraries used by
+ the C tor-fw-helper are not, in our opinion, very confidence-
+ inspiring in their secure-proggramming techniques. Closes
+ ticket 13338.
+
+ o Removed features:
+ - Remove the code that would try to aggressively flush controller
+ connections while writing to them. This code was introduced in
+ 0.1.2.7-alpha, in order to keep output buffers from exceeding
+ their limits. But there is no longer a maximum output buffer size,
+ and flushing data in this way caused some undesirable recursions
+ in our call graph. Closes ticket 16480.
+
+ o Testing:
+ - Add a new set of callgraph analysis scripts that use clang to
+ produce a list of which Tor functions are reachable from which
+ other Tor functions. We're planning to use these to help simplify
+ our code structure by identifying illogical dependencies.
+ - Add new 'test-full' and 'test-full-online' targets to run all
+ tests, including integration tests with stem and chutney.
+ - Make the test-workqueue test work on windows by initializing the
+ network before we begin.
+ - New make target (make test-network-all) to run multiple applicable
+ chutney test cases. Patch from Teor; closes 16953.
+ - Unit test dns_resolve(), dns_clip_ttl() and dns_get_expiry_ttl()
+ functions in dns.c. Implements a portion of ticket 16831.
+ - When building Tor with testing coverage enabled, run Chutney tests
+ (if any) using the 'tor-cov' coverage binary.
+ - When running test-network or test-stem, check for the absence of
+ stem/chutney before doing any build operations.
+
+
Changes in version 0.2.7.2-alpha - 2015-07-27
This, the second alpha in the Tor 0.2.7 series, has a number of new
features, including a way to manually pick the number of introduction