Преглед изворни кода

Start on a changelog for 0.2.6.2-alpha

Nick Mathewson пре 9 година
родитељ
комит
f645564778

+ 220 - 1
ChangeLog

@@ -1,4 +1,223 @@
-Changes in version 0.2.6.2-alpha - 2014-1?-??
+Changes in version 0.2.6.2-alpha - 2014-12-??
+
+  Tor 0.2.6.2-alpha is the second alpha release in the 0.2.6.x series.
+
+  o Major features (hidden services):
+    - Add a HiddenServiceStatistics option that allows Tor relays to
+      gather and publish statistics about hidden service usage, to
+      better understand the size and volume of the hidden service
+      network. Specifically, if a Tor relay is an HSDir it will
+      publish the approximate number of hidden services that have
+      published descriptors to it the past 24 hours. Also, if a relay
+      has acted as a hidden service rendezvous point, it will publish
+      the approximate amount of rendezvous cells it has relayed the
+      past 24 hours. The statistics themselves are obfuscated so that
+      the exact values cannot be derived. For more details see
+      proposal 238 "Better hidden service stats from Tor relays". This
+      feature is currently disabled by default. Implements feature 13192.
+
+ o Major features (relay, infrastructure):
+   - Implement a new inter-cmux comparison API, a global high/low watermark
+     mechanism and a global scheduler loop for transmission prioritization
+     across all channels as well as among circuits on one channel. This
+     schedule is currently tuned to (tolerantly) avoid making changes
+     in the current network performance, but it should form the basis
+     major circuit performance increases.  Code by Andrea; implements
+     ticket 9262.
+
+ o Testing:
+   - New tests for many parts of channel, relay, and circuit mux
+     functionality.  Code by Andrea; part of 9262.
+
+  o Major bugfixes:
+    - When closing an introduction circuit that was opened in
+      parallel, don't mark the introduction point as
+      unreachable. Previously, the first successful connection to an
+      introduction point would make the other uintroduction points get
+      marked as having timed out. Fixes bug 13698; bugfix on 0.0.6rc2.
+
+  o Minor feature:
+    - When re-enabling the network, don't try to build introduction circuits
+      until we have successfully built a circuit.  This makes hidden services
+      come up faster when the network is re-enabled. Patch from
+      "akwizgran". Closes ticket 13447.
+
+  o Minor features (controller):
+    - Add a "SIGNAL HEARTBEAT" Tor controller command that provokes
+      writing unscheduled heartbeat message to the log. Implements
+      feature 9503.
+
+  o Minor features (hidden services):
+    - Inform Tor controller about nature of failure to retrieve
+      hidden service descriptor by sending reason string with HS_DESC
+      FAILED controller event. Implements feature 13212.
+
+  o Minor features (hidden services):
+    - New HiddenServiceDirGroupReadable option to cause hidden service
+      directories and hostname files to be created group-readable.
+      Patch from "anon", David Stainton, and "meejah".
+      Closes ticket 11291.
+
+  o Minor features:
+    - OS X uses ipfw (FreeBSD) or pf (OpenBSD). Update the transparent
+      proxy option checks to allow for both ipfw and pf on OS X.
+      Closes ticket 14002.
+
+  o Minor features:
+    - Update geoip to the November 15 2014 Maxmind GeoLite2 Country database.
+
+  o Minor features:
+    - Update geoip6 to the November 15 2014 Maxmind GeoLite2 Country database.
+
+  o Minor features:
+    - Validate hostnames in SOCKS5 requests more strictly. If SafeSocks
+      is enabled, reject requests with IP addresses as hostnames. Resolves
+      ticket 13315.
+
+  o Minor bugfixes (hidden services):
+    - Pre-check directory permissions for new hidden-services to avoid
+      at least one case of "Bug: Acting on config options left us in a
+      broken state. Dying." Fixes bug 13942; bugfix on 0.0.6pre1.
+
+  o Minor bugfixes (hidden services):
+    - When adding a new hidden-service (for example, via SETCONF) Tor
+      no longer logs a congratulations for running a relay. Fixes bug
+      13941; bugfix on 0.2.6.1-alpha.
+
+  o Minor bugfixes (hidden services):
+    - When fetching hidden service descriptors, check not only for
+      whether we got the hidden service we had in mind, but also
+      whether we got the particular descriptors we wanted. This
+      prevents a class of inefficient but annoying DoS attacks by
+      hidden service directories. Fixes bug 13214; bugfix on
+      0.2.1.6-alpha. Reported by "special".
+
+  o Minor bugfixes (logging):
+    - Downgrade warnings about RSA signature failures to info log
+      level. Emit a warning when extra info document is found 
+      incompatible with a corresponding router descriptor. Fixes bug
+      9812; bugfix on 0.0.6rc3.
+
+  o Minor bugfixes (logging):
+    - Log the circuit identifier correctly in
+      connection_ap_handshake_attach_circuit().  Fixes bug 13701;
+      bugfix on 0.0.6.
+
+  o Minor bugfixes:
+    - Silence clang warnings under --enable-expensive-hardening, including:
+      implicit truncation of 64 bit values to 32 bit;
+      const char assignment to self;
+      tautological compare; and
+      additional parentheses around equality tests.
+      Fixes bug 13577; bugfix on 0.2.5.4-alpha.
+
+  o Minor bugfixes:
+    - Stop allowing invalid address patterns containing both a wildcard
+      address and a bit prefix length. This affects all our
+      address-range parsing code. Fixes bug 7484; bugfix on 0.0.2pre14.
+
+  o Minor bugfixes:
+    - The address of an array in the middle of a structure will
+      always be non-NULL. clang recognises this and complains.
+      Disable the tautologous and redundant check to silence
+      this warning.
+      Fixes bug 14001; bugfix on 0.2.1.2-alpha.
+
+  o Minor bugfixes:
+    - Use a full 256 bits of the SHA256 digest of a microdescriptor when
+      computing which microdescriptors to download.  This keeps us from
+      erroneous download behavior if two microdescriptor digests ever have
+      the same first 160 bits. Fixes part of bug 13399; bugfix on
+      0.2.3.1-alpha.
+
+    - Reset a router's status if its microdescriptor digest changes,
+      even if the first 160 bits remain the same.  Fixes part of bug
+      13399; bugfix on 0.2.3.1-alpha.
+
+  o Minor bugfixes:
+    - Use circuit_has_opened() instead of rend_client_rendcirc_has_opened()
+      when a rendezvous circuit is opened because circuit_has_opened() jobs
+      is to call a specialized function depending on the circuit purpose.
+      Furthermore, a controller event will be triggered here where the
+      former did not. Fixes bug 13936; bugfix on 0.1.1.5-alpha.
+
+  o Code Simplification and Refactoring:
+    - Stop using can_complete_circuits as a global variable; access it with
+      a function instead.
+
+  o Code simplification and refactoring:
+
+    - Remove our old, non-weighted bandwidth-based node selection code.
+      Previously, we used it as a fallback when we couldn't perform
+      weighted bandwidth-based node selection.  But that would only
+      happen in the cases where we had no consensus, or when we had a
+      consensus generated by buggy or ancient directory authorities.  In
+      either case, it's better to use the more modern, better maintained
+      algorithm, with reasonable defaults for the weights. Closes
+      ticket 13126.
+
+  o Code simplification and refactoring:
+    - Avoid using operators directly as macro arguments: this lets us
+      apply coccinelle transformations to our codebase more
+      directly. Closes ticket 13172.
+
+  o Code simplification and refactoring:
+    - Combine the functions used to parse ClientTransportPlugin and
+      ServerTransportPlugin into a single function. Closes ticket 6456.
+
+  o Testing:
+    - New tests for parse_transport_line(). Part of ticket 6456.
+
+  o Code simplifications and refactoring:
+    - Add inline functions and convenience macros for quick lookup of
+      state component of channel_t structure. Refactor various parts of
+      codebase to use convenience macros instead of checking state
+      member of channel_t directly. Fixes issue 7356.
+
+  o Code simplifications and refactoring:
+    - Document all members of was_router_added_t enum and rename 
+      ROUTER_WAS_NOT_NEW to ROUTER_IS_ALREADY_KNOWN to make it less
+      confusable with ROUTER_WAS_TOO_OLD. Fixes issue 13644.
+
+  o Code simplifications and refactoring:
+    - In connection_exit_begin_conn(), use END_CIRC_REASON_TORPROTOCOL
+      constant instead of hardcoded value. Fixes issue 13840.
+
+  o Code simplifications and refactoring:
+    - Refactor our generic strmap and digestmap types into a single
+      implementation, so that we can add a new digest256map type trivially.
+
+  o Directory authority changes:
+    - Remove turtles as a directory authority.
+    - Add longclaw as a new (v3) directory authority. This implements
+      ticket 13296. This keeps the directory authority count at 9.
+
+  o Documentation:
+    - Document the bridge-authority-only 'networkstatus-bridges'
+      file. Closes ticket 13713; patch from "tom".
+
+  o Documentation:
+    - Fix typo in PredictedPortsRelevanceTime option description in 
+      manpage. Resolves issue 13707.
+
+  o Documentation:
+    - Stop suggesting that users specify nodes by nickname: it isn't a
+      good idea. Also, properly cross-reference how to specify nodes
+      in all parts of the manual for options that take a list of
+      nodes. Closes ticket 13381.
+
+  o Removed features:
+    - Tor clients no longer support connecting to hidden services running on
+      Tor 0.2.2.x and earlier; the Support022HiddenServices option has been
+      removed.  (There shouldn't be any hidden services running these
+      versions on the network.)  Closes ticket 7803.
+
+  o Testing:
+    - In the unit tests, use 'chgrp' to change the group of the unit test
+      temporary directory to the current user, so that the sticky bit doesn't
+      interfere with tests that check directory groups. Closes 13678.
+
+
 
 
 Changes in version 0.2.6.1-alpha - 2014-10-30

+ 0 - 10
changes/bug13126

@@ -1,10 +0,0 @@
-  o Code simplification and refactoring:
-
-    - Remove our old, non-weighted bandwidth-based node selection code.
-      Previously, we used it as a fallback when we couldn't perform
-      weighted bandwidth-based node selection.  But that would only
-      happen in the cases where we had no consensus, or when we had a
-      consensus generated by buggy or ancient directory authorities.  In
-      either case, it's better to use the more modern, better maintained
-      algorithm, with reasonable defaults for the weights. Closes
-      ticket 13126.

+ 0 - 7
changes/bug13214

@@ -1,7 +0,0 @@
-  o Minor bugfixes (hidden services):
-    - When fetching hidden service descriptors, check not only for
-      whether we got the hidden service we had in mind, but also
-      whether we got the particular descriptors we wanted. This
-      prevents a class of inefficient but annoying DoS attacks by
-      hidden service directories. Fixes bug 13214; bugfix on
-      0.2.1.6-alpha. Reported by "special".

+ 0 - 5
changes/bug13296

@@ -1,5 +0,0 @@
-  o Directory authority changes:
-    - Remove turtles as a directory authority.
-    - Add longclaw as a new (v3) directory authority. This implements
-      ticket 13296. This keeps the directory authority count at 9.
-

+ 0 - 5
changes/bug13315

@@ -1,5 +0,0 @@
-  o Minor features:
-    - Validate hostnames in SOCKS5 requests more strictly. If SafeSocks
-      is enabled, reject requests with IP addresses as hostnames. Resolves
-      ticket 13315.
-

+ 0 - 12
changes/bug13399

@@ -1,12 +0,0 @@
-  o Minor bugfixes:
-    - Use a full 256 bits of the SHA256 digest of a microdescriptor when
-      computing which microdescriptors to download.  This keeps us from
-      erroneous download behavior if two microdescriptor digests ever have
-      the same first 160 bits. Fixes part of bug 13399; bugfix on
-      0.2.3.1-alpha.
-
-    - Reset a router's status if its microdescriptor digest changes,
-      even if the first 160 bits remain the same.  Fixes part of bug
-      13399; bugfix on 0.2.3.1-alpha.
-
-

+ 0 - 3
changes/bug13399_part1

@@ -1,3 +0,0 @@
-  o Code simplifications and refactoring:
-    - Refactor our generic strmap and digestmap types into a single
-      implementation, so that we can add a new digest256map type trivially.

+ 0 - 5
changes/bug13447

@@ -1,5 +0,0 @@
-  o Minor feature:
-    - When re-enabling the network, don't try to build introduction circuits
-      until we have successfully built a circuit.  This makes hidden services
-      come up faster when the network is re-enabled. Patch from
-      "akwizgran". Closes ticket 13447.

+ 0 - 4
changes/bug13644

@@ -1,4 +0,0 @@
-  o Code simplifications and refactoring:
-    - Document all members of was_router_added_t enum and rename 
-      ROUTER_WAS_NOT_NEW to ROUTER_IS_ALREADY_KNOWN to make it less
-      confusable with ROUTER_WAS_TOO_OLD. Fixes issue 13644.

+ 0 - 5
changes/bug13678

@@ -1,5 +0,0 @@
-  o Testing:
-    - In the unit tests, use 'chgrp' to change the group of the unit test
-      temporary directory to the current user, so that the sticky bit doesn't
-      interfere with tests that check directory groups. Closes 13678.
-

+ 0 - 6
changes/bug13698

@@ -1,6 +0,0 @@
-  o Major bugfixes:
-    - When closing an introduction circuit that was opened in
-      parallel, don't mark the introduction point as
-      unreachable. Previously, the first successful connection to an
-      introduction point would make the other uintroduction points get
-      marked as having timed out. Fixes bug 13698; bugfix on 0.0.6rc2.

+ 0 - 4
changes/bug13701

@@ -1,4 +0,0 @@
-  o Minor bugfixes (logging):
-    - Log the circuit identifier correctly in
-      connection_ap_handshake_attach_circuit().  Fixes bug 13701;
-      bugfix on 0.0.6.

+ 0 - 4
changes/bug13707

@@ -1,4 +0,0 @@
-  o Documentation:
-    - Fix typo in PredictedPortsRelevanceTime option description in 
-      manpage. Resolves issue 13707.
-

+ 0 - 3
changes/bug13713

@@ -1,3 +0,0 @@
-  o Documentation:
-    - Document the bridge-authority-only 'networkstatus-bridges'
-      file. Closes ticket 13713; patch from "tom".

+ 0 - 3
changes/bug13840

@@ -1,3 +0,0 @@
-  o Code simplifications and refactoring:
-    - In connection_exit_begin_conn(), use END_CIRC_REASON_TORPROTOCOL
-      constant instead of hardcoded value. Fixes issue 13840.

+ 0 - 7
changes/bug13936

@@ -1,7 +0,0 @@
-  o Minor bugfixes:
-    - Use circuit_has_opened() instead of rend_client_rendcirc_has_opened()
-      when a rendezvous circuit is opened because circuit_has_opened() jobs
-      is to call a specialized function depending on the circuit purpose.
-      Furthermore, a controller event will be triggered here where the
-      former did not. Fixes bug 13936; bugfix on 0.1.1.5-alpha.
-

+ 0 - 6
changes/bug13941

@@ -1,6 +0,0 @@
-  o Minor bugfixes (hidden services):
-    - When adding a new hidden-service (for example, via SETCONF) Tor
-      no longer logs a congratulations for running a relay. Fixes bug
-      13941; bugfix on 0.2.6.1-alpha.
-
-

+ 0 - 6
changes/bug13942

@@ -1,6 +0,0 @@
-  o Minor bugfixes (hidden services):
-    - Pre-check directory permissions for new hidden-services to avoid
-      at least one case of "Bug: Acting on config options left us in a
-      broken state. Dying." Fixes bug 13942; bugfix on 0.0.6pre1.
-
-

+ 0 - 6
changes/bug14001-clang-warning

@@ -1,6 +0,0 @@
-  o Minor bugfixes:
-    - The address of an array in the middle of a structure will
-      always be non-NULL. clang recognises this and complains.
-      Disable the tautologous and redundant check to silence
-      this warning.
-      Fixes bug 14001; bugfix on 0.2.1.2-alpha.

+ 0 - 4
changes/bug14002-osx-transproxy-ipfw-pf

@@ -1,4 +0,0 @@
-  o Minor features:
-    - OS X uses ipfw (FreeBSD) or pf (OpenBSD). Update the transparent
-      proxy option checks to allow for both ipfw and pf on OS X.
-      Closes ticket 14002.

+ 0 - 5
changes/bug7356

@@ -1,5 +0,0 @@
-  o Code simplifications and refactoring:
-    - Add inline functions and convenience macros for quick lookup of
-      state component of channel_t structure. Refactor various parts of
-      codebase to use convenience macros instead of checking state
-      member of channel_t directly. Fixes issue 7356.

+ 0 - 4
changes/bug7484

@@ -1,4 +0,0 @@
-  o Minor bugfixes:
-    - Stop allowing invalid address patterns containing both a wildcard
-      address and a bit prefix length. This affects all our
-      address-range parsing code. Fixes bug 7484; bugfix on 0.0.2pre14.

+ 0 - 5
changes/bug7803

@@ -1,5 +0,0 @@
-  o Removed features:
-    - Tor clients no longer support connecting to hidden services running on
-      Tor 0.2.2.x and earlier; the Support022HiddenServices option has been
-      removed.  (There shouldn't be any hidden services running these
-      versions on the network.)  Closes ticket 7803.

+ 0 - 6
changes/bug9812

@@ -1,6 +0,0 @@
-  o Minor bugfixes (logging):
-    - Downgrade warnings about RSA signature failures to info log
-      level. Emit a warning when extra info document is found 
-      incompatible with a corresponding router descriptor. Fixes bug
-      9812; bugfix on 0.0.6rc3.
-

+ 0 - 5
changes/doc13381

@@ -1,5 +0,0 @@
-  o Documentation:
-    - Stop suggesting that users specify nodes by nickname: it isn't a
-      good idea. Also, properly cross-reference how to specify nodes
-      in all parts of the manual for options that take a list of
-      nodes. Closes ticket 13381.

+ 0 - 13
changes/feature13192

@@ -1,13 +0,0 @@
-  o Major features (hidden services):
-    - Add a HiddenServiceStatistics option that allows Tor relays to
-      gather and publish statistics about hidden service usage, to
-      better understand the size and volume of the hidden service
-      network. Specifically, if a Tor relay is an HSDir it will
-      publish the approximate number of hidden services that have
-      published descriptors to it the past 24 hours. Also, if a relay
-      has acted as a hidden service rendezvous point, it will publish
-      the approximate amount of rendezvous cells it has relayed the
-      past 24 hours. The statistics themselves are obfuscated so that
-      the exact values cannot be derived. For more details see
-      proposal 238 "Better hidden service stats from Tor relays". This
-      feature is currently disabled by default. Implements feature 13192.

+ 0 - 4
changes/feature13212

@@ -1,4 +0,0 @@
-  o Minor features (hidden services):
-    - Inform Tor controller about nature of failure to retrieve
-      hidden service descriptor by sending reason string with HS_DESC
-      FAILED controller event. Implements feature 13212.

+ 0 - 4
changes/feature9503

@@ -1,4 +0,0 @@
-  o Minor features (controller):
-    - Add a "SIGNAL HEARTBEAT" Tor controller command that provokes
-      writing unscheduled heartbeat message to the log. Implements
-      feature 9503.

+ 0 - 3
changes/geoip-november2014

@@ -1,3 +0,0 @@
-  o Minor features:
-    - Update geoip to the November 15 2014 Maxmind GeoLite2 Country database.
-

+ 0 - 3
changes/geoip6-november2014

@@ -1,3 +0,0 @@
-  o Minor features:
-    - Update geoip6 to the November 15 2014 Maxmind GeoLite2 Country database.
-

+ 0 - 12
changes/global_scheduler

@@ -1,12 +0,0 @@
- o Major features (relay, infrastructure):
-   - Implement a new inter-cmux comparison API, a global high/low watermark
-     mechanism and a global scheduler loop for transmission prioritization
-     across all channels as well as among circuits on one channel. This
-     schedule is currently tuned to (tolerantly) avoid making changes
-     in the current network performance, but it should form the basis
-     major circuit performance increases.  Code by Andrea; implements
-     ticket 9262.
-
- o Testing:
-   - New tests for many parts of channel, relay, and circuit mux
-     functionality.  Code by Andrea; part of 9262.

+ 0 - 3
changes/no_global_ccc

@@ -1,3 +0,0 @@
-  o Code Simplification and Refactoring:
-    - Stop using can_complete_circuits as a global variable; access it with
-      a function instead.

+ 0 - 8
changes/spurious-clang-warnings

@@ -1,8 +0,0 @@
-  o Minor bugfixes:
-    - Silence clang warnings under --enable-expensive-hardening, including:
-      implicit truncation of 64 bit values to 32 bit;
-      const char assignment to self;
-      tautological compare; and
-      additional parentheses around equality tests.
-      Fixes bug 13577; bugfix on 0.2.5.4-alpha.
-

+ 0 - 5
changes/ticket-11291

@@ -1,5 +0,0 @@
-  o Minor features (hidden services):
-    - New HiddenServiceDirGroupReadable option to cause hidden service
-      directories and hostname files to be created group-readable.
-      Patch from "anon", David Stainton, and "meejah".
-      Closes ticket 11291.

+ 0 - 4
changes/ticket13172

@@ -1,4 +0,0 @@
-  o Code simplification and refactoring:
-    - Avoid using operators directly as macro arguments: this lets us
-      apply coccinelle transformations to our codebase more
-      directly. Closes ticket 13172.

+ 0 - 6
changes/tickets6456

@@ -1,6 +0,0 @@
-  o Code simplification and refactoring:
-    - Combine the functions used to parse ClientTransportPlugin and
-      ServerTransportPlugin into a single function. Closes ticket 6456.
-
-  o Testing:
-    - New tests for parse_transport_line(). Part of ticket 6456.