|
@@ -1,3 +1,192 @@
|
|
|
+Changes in version 0.2.5.1-alpha - 2012-10-0?
|
|
|
+ Tor 0.2.5.1-alpha [...]
|
|
|
+
|
|
|
+ This is the first alpha release in a new series, so expect there to
|
|
|
+ be bugs. Users who would rather test out a more stable branch should
|
|
|
+ stay with 0.2.4.x for now.
|
|
|
+
|
|
|
+ o Major features (security):
|
|
|
+ - Use the seccomp2 syscall filtering facility on Linux to limit
|
|
|
+ which system calls Tor can invoke. This is an experimental,
|
|
|
+ Linux-only feature to provide defense-in-depth against unknown
|
|
|
+ attacks. To try turning it on, set "Sandbox 1" in your torrc
|
|
|
+ file. Please be ready to report bugs. We hope to add support
|
|
|
+ for better sandboxing in the future, including more fine-grained
|
|
|
+ filters, better division of responsibility, and support for more
|
|
|
+ platforms. This work has been done by Cristian-Matei Toader for
|
|
|
+ Google Summer of Code.
|
|
|
+ - Re-enable TLS 1.1 and 1.2 when built with OpenSSL 1.0.1e or later.
|
|
|
+ Resolves ticket 6055. (OpenSSL before 1.0.1 didn't have TLS 1.1 or
|
|
|
+ 1.2, and OpenSSL from 1.0.1 through 1.0.1d had bugs that prevented
|
|
|
+ renegotiation from working with TLS 1.1 or 1.2, so we had disabled
|
|
|
+ them to solve bug 6033.)
|
|
|
+
|
|
|
+ o Major features (other):
|
|
|
+ - Add support for passing arguments to managed pluggable transport
|
|
|
+ proxies. Implements ticket 3594.
|
|
|
+ - Bridges now track GeoIP information and the number of their users
|
|
|
+ even when pluggable transports are in use, and report usage
|
|
|
+ statistics in their extra-info descriptors. Resolves tickets 4773
|
|
|
+ and 5040.
|
|
|
+ - Make testing Tor networks bootstrap better: lower directory fetch
|
|
|
+ retry schedules and maximum interval without directory requests,
|
|
|
+ and raise maximum download tries. Implements ticket 6752.
|
|
|
+ - Add make target 'test-network' to run tests on a Chutney network.
|
|
|
+ Implements ticket 8530.
|
|
|
+ - The ntor handshake is now on-by-default, no matter what the
|
|
|
+ directory authorities recommend. Implements ticket 8561.
|
|
|
+
|
|
|
+ o Major bugfixes:
|
|
|
+ - Instead of writing destroy cells directly to outgoing connection
|
|
|
+ buffers, queue them and intersperse them with other outgoing cells.
|
|
|
+ This can prevent a set of resource starvation conditions where too
|
|
|
+ many pending destroy cells prevent data cells from actually getting
|
|
|
+ delivered. Reported by "oftc_must_be_destroyed". Fixes bug 7912;
|
|
|
+ bugfix on 0.2.0.1-alpha.
|
|
|
+ - If we are unable to save a microdescriptor to the journal, do not
|
|
|
+ drop it from memory and then reattempt downloading it. Fixes bug
|
|
|
+ 9645; bugfix on 0.2.2.6-alpha.
|
|
|
+
|
|
|
+ o Build features:
|
|
|
+ - Tor now builds each source file in two modes: a mode that avoids
|
|
|
+ exposing identifiers needlessly, and another mode that exposes
|
|
|
+ more identifiers for testing. This lets the compiler do better at
|
|
|
+ optimizing the production code, while enabling us to take more
|
|
|
+ radical measures to let the unit tests test things.
|
|
|
+ - The production builds no longer include functions used only in
|
|
|
+ the unit tests; all functions exposed from a module only for
|
|
|
+ unit-testing are now static in production builds.
|
|
|
+ - Add an --enable-coverage configuration option to make the unit
|
|
|
+ tests (and a new src/or/tor-cov target) to build with gcov test
|
|
|
+ coverage support.
|
|
|
+
|
|
|
+ o Testing:
|
|
|
+ - We now have rudimentary function mocking support that our unit
|
|
|
+ tests can use to test functions in isolation. Function mocking
|
|
|
+ lets the tests temporarily replace a function's dependencies with
|
|
|
+ stub functions, so that the tests can check the function without
|
|
|
+ invoking the other functions it calls.
|
|
|
+ - Add more unit tests for the <circid,channel>->circuit map, and
|
|
|
+ the destroy-cell-tracking code to fix bug 7912.
|
|
|
+ - Unit tests for failing cases of the TAP onion handshake.
|
|
|
+ - More unit tests for address-manipulation functions.
|
|
|
+
|
|
|
+ o Minor features (config options):
|
|
|
+ - Config (torrc) lines now handle fingerprints which are missing
|
|
|
+ their initial '$'. Resolves ticket 4341; improvement over 0.0.9pre5.
|
|
|
+ - Support a --dump-config option to print some or all of the
|
|
|
+ configured options. Mainly useful for debugging the command-line
|
|
|
+ option parsing code. Helps resolve ticket 4647.
|
|
|
+ - Raise awareness of safer logging: notify user of potentially
|
|
|
+ unsafe config options, like logging more verbosely than severity
|
|
|
+ "notice" or setting SafeLogging to 0. Resolves ticket 5584.
|
|
|
+ - Add a new configuration option TestingV3AuthVotingStartOffset
|
|
|
+ that bootstraps a network faster by changing the timing for
|
|
|
+ consensus votes. Addresses ticket 8532.
|
|
|
+ - Add a new torrc option "ServerTransportOptions" that allows
|
|
|
+ bridge operators to pass configuration parameters to their
|
|
|
+ pluggable transports. Resolves ticket 8929.
|
|
|
+ - The config (torrc) file now accepts bandwidth and space limits in
|
|
|
+ bits as well as bytes. (Anywhere that you can say "2 Kilobytes",
|
|
|
+ you can now say "16 kilobits", and so on.) Resolves ticket 9214.
|
|
|
+ Patch by CharlieB.
|
|
|
+
|
|
|
+ o Minor features (build):
|
|
|
+ - Add support for `--library-versions` flag. Implements ticket 6384.
|
|
|
+ - Return the "unexpected sendme" warnings to a warn severity, but make
|
|
|
+ them rate limited, to help diagnose ticket 8093.
|
|
|
+ - Detect a missing asciidoc, and warn the user about it, during
|
|
|
+ configure rather than at build time. Fixes issue 6506. Patch from
|
|
|
+ Arlo Breault.
|
|
|
+
|
|
|
+ o Minor features (other):
|
|
|
+ - Use the SOCK_NONBLOCK socket type, if supported, to open nonblocking
|
|
|
+ sockets in a single system call. Implements ticket 5129.
|
|
|
+ - Log current accounting state (bytes sent and received + remaining
|
|
|
+ time for the current accounting period) in the relay's heartbeat
|
|
|
+ message. Implements ticket 5526; patch from Peter Retzlaff.
|
|
|
+ - Implement the TRANSPORT_LAUNCHED control port event that
|
|
|
+ notifies controllers about new launched pluggable
|
|
|
+ transports. Resolves ticket 5609.
|
|
|
+ - If we're using the pure-C 32-bit curve25519_donna implementation
|
|
|
+ of curve25519, build it with the -fomit-frame-pointer option to
|
|
|
+ make it go faster on register-starved hosts. This improves our
|
|
|
+ handshake performance by about 6% on i386 hosts without nacl.
|
|
|
+ Closes ticket 8109.
|
|
|
+
|
|
|
+ o Minor bugfixes:
|
|
|
+ - Set the listen() backlog limit to the largest actually supported
|
|
|
+ on the system, not to the value in a header file. Fixes bug 9716;
|
|
|
+ bugfix on every released Tor.
|
|
|
+ - No longer accept malformed http headers when parsing urls from
|
|
|
+ headers. Now we reply with Bad Request ("400"). Fixes bug 2767;
|
|
|
+ bugfix on 0.0.6pre1.
|
|
|
+ - In munge_extrainfo_into_routerinfo(), check the return value of
|
|
|
+ memchr(). This would have been a serious issue if we ever passed
|
|
|
+ it a non-extrainfo. Fixes bug 8791; bugfix on 0.2.0.6-alpha. Patch
|
|
|
+ from Arlo Breault.
|
|
|
+ - On the chance that somebody manages to build Tor on a
|
|
|
+ platform where time_t is unsigned, correct the way that
|
|
|
+ microdesc_add_to_cache() handles negative time arguments.
|
|
|
+ Fixes bug 8042; bugfix on 0.2.3.1-alpha.
|
|
|
+ - Reject relative control socket paths and emit a warning. Previously,
|
|
|
+ single-component control socket paths would be rejected, but Tor
|
|
|
+ would not log why it could not validate the config. Fixes bug 9258;
|
|
|
+ bugfix on 0.2.3.16-alpha.
|
|
|
+
|
|
|
+ o Minor bugfixes (command line):
|
|
|
+ - Use a single command-line parser for parsing torrc options on the
|
|
|
+ command line and for finding special command-line options to avoid
|
|
|
+ inconsistent behavior for torrc option arguments that have the same
|
|
|
+ names as command-line options. Fixes bugs 4647 and 9578; bugfix on
|
|
|
+ 0.0.9pre5.
|
|
|
+ - No longer allow 'tor --hash-password' with no arguments. Fixes bug
|
|
|
+ 9573; bugfix on 0.0.9pre5.
|
|
|
+
|
|
|
+ o Minor fixes (build, auxiliary programs):
|
|
|
+ - Stop preprocessing the "torify" script with autoconf, since
|
|
|
+ it no longer refers to LOCALSTATEDIR. Fixes bug 5505; patch
|
|
|
+ from Guilhem.
|
|
|
+ - The tor-fw-helper program now follows the standard convention and
|
|
|
+ exits with status code "0" on success. Fixes bug 9030; bugfix on
|
|
|
+ 0.2.3.1-alpha. Patch by Arlo Breault.
|
|
|
+ - Corrected ./configure advice for what openssl dev package you should
|
|
|
+ install on Debian. Fixes bug 9207; bugfix on 0.2.0.1-alpha.
|
|
|
+
|
|
|
+ o Minor code improvements:
|
|
|
+ - Remove constants and tests for PKCS1 padding; it's insecure and
|
|
|
+ shouldn't be used for anything new. Fixes bug 8792; patch
|
|
|
+ from Arlo Breault.
|
|
|
+ - Remove instances of strcpy() from the unit tests. They weren't
|
|
|
+ hurting anything, since they were only in the unit tests, but it's
|
|
|
+ embarassing to have strcpy() in the code at all, and some analysis
|
|
|
+ tools don't like it. Fixes bug 8790; bugfix on 0.2.3.6-alpha and
|
|
|
+ 0.2.3.8-alpha. Patch from Arlo Breault.
|
|
|
+
|
|
|
+ o Removed features:
|
|
|
+ - Remove migration code from when we renamed the "cached-routers"
|
|
|
+ file to "cached-descriptors" back in 0.2.0.8-alpha. This
|
|
|
+ incidentally resolves ticket 6502 by cleaning up the related code
|
|
|
+ a bit. Patch from Akshay Hebbar.
|
|
|
+
|
|
|
+ o Code simplification and refactoring:
|
|
|
+ - Extract the common duplicated code for creating a subdirectory
|
|
|
+ of the data directory and writing to a file in it. Fixes ticket
|
|
|
+ 4282; patch from Peter Retzlaff.
|
|
|
+ - Since OpenSSL 0.9.7, the i2d_*() functions support allocating output
|
|
|
+ buffer. Avoid calling twice: i2d_RSAPublicKey(), i2d_DHparams(),
|
|
|
+ i2d_X509(), and i2d_PublicKey(). Resolves ticket 5170.
|
|
|
+ - Add a set of accessor functions for the circuit timeout data
|
|
|
+ structure. Fixes ticket 6153; patch from "piet".
|
|
|
+ - Clean up exit paths from connection_listener_new(). Closes ticket
|
|
|
+ 8789. Patch from Arlo Breault.
|
|
|
+ - Since we rely on OpenSSL 0.9.8 now, we can use EVP_PKEY_cmp()
|
|
|
+ and drop our own custom pkey_eq() implementation. Fixes bug 9043.
|
|
|
+ - Use a doubly-linked list to implement the global circuit list.
|
|
|
+ Resolves ticket 9108. Patch from Marek Majkowski.
|
|
|
+ - Remove contrib/id_to_fp.c since it wasn't used anywhere.
|
|
|
+
|
|
|
+
|
|
|
Changes in version 0.2.4.17-rc - 2013-09-05
|
|
|
Tor 0.2.4.17-rc is the third release candidate for the Tor 0.2.4.x
|
|
|
series. It adds an emergency step to help us tolerate the massive
|