From c77d1b7bda554d80c309c1d448d32f3220537b4f Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Wed, 5 Sep 2012 04:46:44 -0400 Subject: [PATCH] fold in the changes files in-progress due to various bugs i uncovered in the ipv6 config option meanings. --- ChangeLog | 116 ++++++++++++++++++++++++++++++++++++++ changes/bug2385 | 9 --- changes/bug3589 | 3 - changes/bug3842 | 3 - changes/bug4195 | 6 -- changes/bug4620 | 3 - changes/bug4971 | 2 - changes/bug5124 | 4 -- changes/bug5529 | 3 - changes/bug5534 | 4 -- changes/bug5535 | 5 -- changes/bug5974 | 4 -- changes/bug6177 | 5 -- changes/bug6271-related | 6 -- changes/bug6362 | 3 - changes/bug6363 | 3 - changes/bug6364 | 3 - changes/bug6468 | 8 --- changes/bug6647 | 7 --- changes/bug6759 | 6 -- changes/enh6406 | 4 -- changes/feature6758 | 5 -- changes/feature6760 | 6 -- changes/no_malloc_roundup | 8 --- changes/nonrecursive_make | 16 ------ changes/tkt6522 | 5 -- 26 files changed, 116 insertions(+), 131 deletions(-) delete mode 100644 changes/bug2385 delete mode 100644 changes/bug3589 delete mode 100644 changes/bug3842 delete mode 100644 changes/bug4195 delete mode 100644 changes/bug4620 delete mode 100644 changes/bug4971 delete mode 100644 changes/bug5124 delete mode 100644 changes/bug5529 delete mode 100644 changes/bug5534 delete mode 100644 changes/bug5535 delete mode 100644 changes/bug5974 delete mode 100644 changes/bug6177 delete mode 100644 changes/bug6271-related delete mode 100644 changes/bug6362 delete mode 100644 changes/bug6363 delete mode 100644 changes/bug6364 delete mode 100644 changes/bug6468 delete mode 100644 changes/bug6647 delete mode 100644 changes/bug6759 delete mode 100644 changes/enh6406 delete mode 100644 changes/feature6758 delete mode 100644 changes/feature6760 delete mode 100644 changes/no_malloc_roundup delete mode 100644 changes/nonrecursive_make delete mode 100644 changes/tkt6522 diff --git a/ChangeLog b/ChangeLog index 3c63e10093..ab0fd256ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,119 @@ +Changes in version 0.2.4.1-alpha - 2012-09-05 + Tor 0.2.4.1-alpha adds ... XXX + + 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.3.x for now. + + o Major features (bridges): + - Bridges now report the pluggable transports they support to the + bridge authority, so it can pass the supported transports on to + bridgedb and/or eventually do reachability testing. Implements + ticket 3589. + + o Major features (IPv6): + - Bridge authorities now accept IPv6 bridge addresses and include + them in network status documents. Implements ticket 5534. + - Clients who set "ClientUseIPv6 1" may connect to entry nodes over + IPv6. Set "ClientPreferIPv6ORPort 1" to make this even more likely + to happen. Implements ticket 5535. + - All kind of relays, not just bridges, can now advertise an IPv6 + OR port. Implements ticket 6362. + - Directory authorities vote on IPv6 OR ports using the new consensus + method 14. Implements ticket 6363. + + o Major features (build): + - Switch to a nonrecursive Makefile structure. Now instead of each + Makefile.am invoking other Makefile.am's, there is a master + Makefile.am that includes the others. This change makes our build + process slightly more maintainable, and improves parallelism for + building with make -j. Original patch by Stewart Smith; various + fixes by Jim Meyering. + - Where available, we now use automake's "silent" make rules by + default, so that warnings are easier to spot. You can get the old + behavior with "make V=1". Patch by Stewart Smith for ticket 6522. + + o Minor features (code security and spec conformance): + - Clear keys and key-derived material left on the stack in + rendservice.c and rendclient.c. Check return value of + crypto_pk_write_private_key_to_string() in end_service_load_keys(). + These fixes should make us more forward-secure against cold-boot + attacks and the like. Fixes bug 2385. + - Reject EXTEND cells sent to nonexistent streams. According to the + spec, an EXTEND cell sent to _any_ nonzero stream ID is invalid, but + we were only checking for stream IDs that were currently in use. + Found while hunting for more instances of bug 6271. Bugfix on + 0.0.2pre8, which introduced incremental circuit construction. + + o Minor features (streamlining); + - No longer include the "opt" prefix when generating routerinfos + or v2 directories: it has been needless since Tor 0.1.2. Closes + ticket 5124. + - Remove some now-needless code that tried to aggressively flush + OR connections as data was added to them. Since 0.2.0.1-alpha, our + cell queue logic has saved us from the failure mode that this code + was supposed to prevent. Removing this code will limit the number + of baroque control flow paths through Tor's network logic. Reported + pseudonymously on IRC. Fixes bug 6468; bugfix on 0.2.0.1-alpha. + + o Minor features (controller): + - Add a "GETINFO signal/names" control port command. Implements + ticket 3842. + - Provide default values for all options via "GETINFO config/defaults". + Implements ticket 4971. + + o Minor features (IPv6): + - New config option "AuthDirHasIPv6Connectivity auto" that ... XXX + Implements feature 5974. + - A relay with an IPv6 OR port now sends that address in NETINFO + cells (in addition to its other address). Implements ticket 6364. + - New config option AuthDirPublishIPv6. Implements ticket 6406. + + o Minor features (log messages): + - Omit the first heartbeat log message, because it never has anything + useful to say, and it clutters up the bootstrapping messages. + Resolves ticket 6758. + - Don't log about reloading the microdescriptor cache at startup. Our + bootstrap warnings are supposed to tell the user when there's a + problem, and our bootstrap notices say when there isn't. Resolves + ticket 6759; bugfix on 0.2.2.6-alpha. + - Don't log "I learned some more directory information" when we're + reading cached directory information. Reserve it for when new + directory information arrives in response to a fetch. Resolves + ticket 6760. + - Prevent rounding error in path bias counts when scaling + them down, and use the correct scale factor default. Also demote + some path bias related log messages down a level and make others + less scary sounding. Fixes bug 6647. Bugfix against 0.2.3.17-beta. + - We no longer warn so much when generating manpages from their + asciidoc source. + + o Code simplifications and refactoring: + - Enhance our internal sscanf replacement so that we can eliminate + the last remaining uses of the system sscanf. (Though those uses + of sscanf were safe, sscanf itself is generally error prone, so + we want to eliminate when we can.) Fixes ticket 4195 and Coverity + CID 448. + - Move ipv6_preferred from routerinfo_t to node_t. Addresses bug 4620. + - Move last_reachable and testing_since from routerinfo_t to node_t. + Implements ticket 5529. + - Add replaycache_t structure, functions and unit tests, then refactor + rend_service_introduce() to be more clear to read, improve, debug, + and test. Resolves bug 6177. + - Finally remove support for malloc_good_size and malloc_usable_size. + We had hoped that these functions would let us eke a little more + memory out of our malloc implementation. Unfortunately, the only + implementations that provided these functions are also ones that + are already efficient about not overallocation: they never got us + more than 7 or so bytes per allocation. Removing them saves us a + little code complexity and a nontrivial amount of build complexity. + + o New requirements: + - Tor maintainers now require Automake version 1.9 or later to build + Tor from the Git repository. (Automake is not required when building + from a source distribution.) + + Changes in version 0.2.3.21-rc - 2012-09-05 Tor 0.2.3.21-rc is the fourth release candidate for the Tor 0.2.3.x series. It fixes a trio of potential security bugs, fixes a bug where diff --git a/changes/bug2385 b/changes/bug2385 deleted file mode 100644 index 5d571d910f..0000000000 --- a/changes/bug2385 +++ /dev/null @@ -1,9 +0,0 @@ - o Minor features (security): - - Clear keys and key-derived material left on the stack in - rendservice.c and rendclient.c. This should make us more - forward-secure against cold-boot attacks and the like. Fix for - bug 2385. - - - Check return value of crypto_pk_write_private_key_to_string() in - end_service_load_keys(). This should make us more forward-secure - against cold-boot attacks and the like. Fix for bug 2385. diff --git a/changes/bug3589 b/changes/bug3589 deleted file mode 100644 index eff2650ff8..0000000000 --- a/changes/bug3589 +++ /dev/null @@ -1,3 +0,0 @@ - o Major features: - - Bridges now report the pluggable transports they support to the - bridge authority. Implements ticket 3589. diff --git a/changes/bug3842 b/changes/bug3842 deleted file mode 100644 index 9a67b0d454..0000000000 --- a/changes/bug3842 +++ /dev/null @@ -1,3 +0,0 @@ - o Minor feature: - - Add a "GETINFO signal/names" command to control port. - diff --git a/changes/bug4195 b/changes/bug4195 deleted file mode 100644 index 2e7a724871..0000000000 --- a/changes/bug4195 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor features: - - Enhance our internal sscanf replacement so that we can eliminate - the last remaining uses of the system sscanf. (Though those uses - of sscanf were safe, sscanf itself is generally error prone, so - we want to eliminate when we can.) Fixes ticket 4195 and Coverity - CID 448. diff --git a/changes/bug4620 b/changes/bug4620 deleted file mode 100644 index 05bc8bc1b4..0000000000 --- a/changes/bug4620 +++ /dev/null @@ -1,3 +0,0 @@ - o Code simplifications and refactoring - - Move ipv6_preferred from routerinfo_t to node_t. - Addresses bug 4620. diff --git a/changes/bug4971 b/changes/bug4971 deleted file mode 100644 index 8c7d830ca4..0000000000 --- a/changes/bug4971 +++ /dev/null @@ -1,2 +0,0 @@ - o Minor Feature: - - Provide default values for all options via "GETINFO config/defaults" diff --git a/changes/bug5124 b/changes/bug5124 deleted file mode 100644 index 5999f7e450..0000000000 --- a/changes/bug5124 +++ /dev/null @@ -1,4 +0,0 @@ - o Removed code: - - No longer include the "opt" prefix when generating routerinfos - or v2 directories: it has been needless since Tor 0.1.2. Closes - ticket 5124. \ No newline at end of file diff --git a/changes/bug5529 b/changes/bug5529 deleted file mode 100644 index 3f56e82047..0000000000 --- a/changes/bug5529 +++ /dev/null @@ -1,3 +0,0 @@ - o Code refactoring: - - Move last_reachable and testing_since from routerinfo_t to - node_t. Implements enhancement 5529. diff --git a/changes/bug5534 b/changes/bug5534 deleted file mode 100644 index 1518317497..0000000000 --- a/changes/bug5534 +++ /dev/null @@ -1,4 +0,0 @@ - o Major features (IPv6): - Add support for bridge authorities to accept IPv6 bridge addresses - and include them in network status documents. Implements - enhancement 5534. diff --git a/changes/bug5535 b/changes/bug5535 deleted file mode 100644 index b5fa0d7ab7..0000000000 --- a/changes/bug5535 +++ /dev/null @@ -1,5 +0,0 @@ - o Major features: - - If configured with ClientUseIPv6, clients may connect to entry - nodes over IPv6. Another new config option, ClientPreferIPv6ORPort, - can be set to make this even more likely to happen. - Implements ticket 5535. diff --git a/changes/bug5974 b/changes/bug5974 deleted file mode 100644 index c016be13b5..0000000000 --- a/changes/bug5974 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor features: - - - Add new configure option AuthDirHasIPv6Connectivity. Implements - feature #5974. diff --git a/changes/bug6177 b/changes/bug6177 deleted file mode 100644 index 12ab43aa4c..0000000000 --- a/changes/bug6177 +++ /dev/null @@ -1,5 +0,0 @@ - o Code simplification and refactoring: - - Add replaycache_t structure, functions and unit tests, for future use - in refactoring rend_service_introduce() for bug 6177. - - Refactor rend_service_introduce() to be more clear to read, improve, - debug, and test. Bug 6177. diff --git a/changes/bug6271-related b/changes/bug6271-related deleted file mode 100644 index 78e53c8887..0000000000 --- a/changes/bug6271-related +++ /dev/null @@ -1,6 +0,0 @@ - o Minor bugfixes (spec conformance): - - Reject EXTEND cells sent to nonexistent streams. According to the - spec, an EXTEND cell sent to _any_ nonzero stream ID is invalid, but - we were only checking for stream IDs that were currenty in use. - Found while hunting for more instances of bug 6271. Bugfix on - 0.0.2pre8, which introduced incremental circuit construction. diff --git a/changes/bug6362 b/changes/bug6362 deleted file mode 100644 index 95149690a8..0000000000 --- a/changes/bug6362 +++ /dev/null @@ -1,3 +0,0 @@ - o Major features: - - All kind of relays, not only bridges, can now advertise an IPv6 - OR port. Implements ticket 6362. diff --git a/changes/bug6363 b/changes/bug6363 deleted file mode 100644 index de99b72ac5..0000000000 --- a/changes/bug6363 +++ /dev/null @@ -1,3 +0,0 @@ - o Major features: - - Directory authorities vote on IPv6 OR ports using new consensus - method 14. Implements ticket 6363. diff --git a/changes/bug6364 b/changes/bug6364 deleted file mode 100644 index c0eb453959..0000000000 --- a/changes/bug6364 +++ /dev/null @@ -1,3 +0,0 @@ - o Minor features: - - A relay with an IPv6 OR port now sends that address in NETINFO - cells. Fix for bug 6364. diff --git a/changes/bug6468 b/changes/bug6468 deleted file mode 100644 index fb624da988..0000000000 --- a/changes/bug6468 +++ /dev/null @@ -1,8 +0,0 @@ - o Minor bugfixes: - - Remove some now-needless code that tried to aggressively flush - OR connections as data was added to them. Since 0.2.0.1-alpha, - our cell queue logic has saved us from the failure mode that - this code was supposed to prevent. Removing this code will limit - the number of baroque control flow paths through Tor's network - logic. Reported pseudonymously on IRC. Fix for bug 6468; - bigfix on 0.2.0.1-alpha. \ No newline at end of file diff --git a/changes/bug6647 b/changes/bug6647 deleted file mode 100644 index ef29ae3309..0000000000 --- a/changes/bug6647 +++ /dev/null @@ -1,7 +0,0 @@ - o Minor bugfixes: - - Prevent rounding error in path bias counts when scaling - them down, and use the correct scale factor default. - Bugfix against 0.2.3.17-beta. - - Demote some path bias related log messages down a level - and make others less scary sounding. - Bugfix against 0.2.3.17-beta. diff --git a/changes/bug6759 b/changes/bug6759 deleted file mode 100644 index b0092d01a3..0000000000 --- a/changes/bug6759 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor bugfixes: - - Don't log about reloading the microdescriptor cache at startup. Our - bootstrap warnings are supposed to tell the user when there's a - problem, and our bootstrap notices say when there isn't. Fixes - bug 6759; bugfix on 0.2.2.6-alpha. - diff --git a/changes/enh6406 b/changes/enh6406 deleted file mode 100644 index 08349b2e32..0000000000 --- a/changes/enh6406 +++ /dev/null @@ -1,4 +0,0 @@ - o Minor features: - - - Add new configure option AuthDirPublishIPv6. Implements - enhancement #6406. diff --git a/changes/feature6758 b/changes/feature6758 deleted file mode 100644 index 049f05ea12..0000000000 --- a/changes/feature6758 +++ /dev/null @@ -1,5 +0,0 @@ - o Minor features: - - Omit the first heartbeat log message, because it never has anything - useful to say, and it clutters up the bootstrapping messages. - Resolves ticket 6758. - diff --git a/changes/feature6760 b/changes/feature6760 deleted file mode 100644 index cd94d4e8c4..0000000000 --- a/changes/feature6760 +++ /dev/null @@ -1,6 +0,0 @@ - o Minor features: - - Don't log "I learned some more directory information" when we're - reading cached directory information. Reserve it for when new - directory information arrives in response to a fetch. Resolves - ticket 6760. - diff --git a/changes/no_malloc_roundup b/changes/no_malloc_roundup deleted file mode 100644 index 3a54fa7b79..0000000000 --- a/changes/no_malloc_roundup +++ /dev/null @@ -1,8 +0,0 @@ - o Code simplification and refactoring: - - Finally remove support for malloc_good_size and malloc_usable_size. - We had hoped that these functions would let us eke a little more - memory out of our malloc implementation. Unfortunately, the only - implementations that provided these functions are also ones that - are already efficient about not overallocation: they never got us - more than 7 or so bytes per allocation. Removing them saves us - a little code complexity and a nontrivial amount of build complexity. diff --git a/changes/nonrecursive_make b/changes/nonrecursive_make deleted file mode 100644 index 71120a5453..0000000000 --- a/changes/nonrecursive_make +++ /dev/null @@ -1,16 +0,0 @@ - o Major features (build): - - Switch to a nonrecursive Makefile structure. Now instead of each - Makefile.am invoking other Makefile.ams, there is a master - Makefile.am that includes the others. This makes our build process - slightly more maintainable, and improves parallelism for building - with make -j. Original patch by Stewart Smith; various fixes by - Jim Meyering. - - o Minor bugfixes (documentation): - - We no longer warn so much when generating manpages from their - asciidoc source. - - o New requirements: - - Tor maintainers now require Automake version 1.9 or later to build - Tor from the Git repository. (Automake is not required when building - from a source distribution.) diff --git a/changes/tkt6522 b/changes/tkt6522 deleted file mode 100644 index 5a8295ae1f..0000000000 --- a/changes/tkt6522 +++ /dev/null @@ -1,5 +0,0 @@ - o Build changes: - - Where available, we now use automake's "silent" make rules by - default, so that warnings are easier to spot. You can get the - old behavior with "make V=1". Patch by Stewart Smith for ticket - 6522.