Bläddra i källkod

use sortChanges to fold changes files into changelog. No additional editing or formatting yet.

Nick Mathewson 10 år sedan
förälder
incheckning
f09d03c384
91 ändrade filer med 456 tillägg och 416 borttagningar
  1. 429 0
      ChangeLog
  2. 0 6
      changes/11150
  3. 0 3
      changes/17004
  4. 0 3
      changes/17075
  5. 0 3
      changes/17078
  6. 0 3
      changes/17082
  7. 0 3
      changes/17084
  8. 0 4
      changes/17573
  9. 0 5
      changes/17826
  10. 0 3
      changes/17926
  11. 0 3
      changes/17944
  12. 0 6
      changes/7419
  13. 0 2
      changes/bug15638
  14. 0 3
      changes/bug16382
  15. 0 6
      changes/bug16563
  16. 0 6
      changes/bug16651
  17. 0 3
      changes/bug16794_ed
  18. 0 3
      changes/bug17003
  19. 0 5
      changes/bug17026
  20. 0 6
      changes/bug17027-reject-private-bind-port
  21. 0 7
      changes/bug17194
  22. 0 4
      changes/bug17347
  23. 0 3
      changes/bug17419
  24. 0 4
      changes/bug17544
  25. 0 3
      changes/bug17549
  26. 0 5
      changes/bug17562-DataDirectoryGroupReadable
  27. 0 7
      changes/bug17562-allow-root-group-read
  28. 0 5
      changes/bug17562-defer-unix-socket-creation
  29. 0 5
      changes/bug17572-fallback-by-digest
  30. 0 4
      changes/bug17583
  31. 0 7
      changes/bug17589
  32. 0 5
      changes/bug17632-no-ipv4-no-localhost
  33. 0 5
      changes/bug17638-ipv6-ersatz-socketpair
  34. 0 4
      changes/bug17675
  35. 0 3
      changes/bug17683
  36. 0 4
      changes/bug17686
  37. 0 6
      changes/bug17694_strongest
  38. 0 4
      changes/bug17753
  39. 0 3
      changes/bug17778
  40. 0 4
      changes/bug17791
  41. 0 3
      changes/bug17804
  42. 0 3
      changes/bug17818
  43. 0 4
      changes/bug17819
  44. 0 3
      changes/bug17827
  45. 0 3
      changes/bug17843
  46. 0 5
      changes/bug17876
  47. 0 4
      changes/bug17892
  48. 0 4
      changes/bug17893
  49. 0 4
      changes/bug17906
  50. 0 4
      changes/bug17923
  51. 0 4
      changes/bug17924
  52. 0 7
      changes/bug18050
  53. 0 5
      changes/bug18089
  54. 0 9
      changes/bug4483-multiple-consensus-downloads
  55. 0 4
      changes/bug6027
  56. 0 4
      changes/check-crypto-errors
  57. 0 3
      changes/cleanup_17587
  58. 0 6
      changes/decouple_circuit_mark
  59. 0 6
      changes/decouple_conn_attach
  60. 0 4
      changes/doc17392
  61. 0 6
      changes/feature12538
  62. 0 3
      changes/feature13696
  63. 0 4
      changes/feature14846
  64. 0 19
      changes/feature15775-fallback
  65. 0 3
      changes/feature16774
  66. 0 3
      changes/feature17076
  67. 0 5
      changes/feature17327
  68. 0 4
      changes/feature17576-UseDefaultFallbackDirs
  69. 0 4
      changes/feature17608
  70. 0 3
      changes/feature17663
  71. 0 6
      changes/feature17796
  72. 0 6
      changes/feature17863
  73. 0 5
      changes/feature17864
  74. 0 5
      changes/feature17950
  75. 0 6
      changes/feature17951
  76. 0 3
      changes/feature17986
  77. 0 6
      changes/feature8195
  78. 0 4
      changes/feature8961-replaycache-sha256
  79. 0 6
      changes/first-hop-no-private
  80. 0 4
      changes/geoip-january2016
  81. 0 6
      changes/getinfo-private-exitpolicy
  82. 0 9
      changes/laplace-edge-cases
  83. 0 6
      changes/log_heartbeat_test
  84. 0 5
      changes/rand-failure-modes
  85. 0 3
      changes/routerset-parse-IPv6-literals
  86. 0 3
      changes/sha-unit-tests
  87. 0 3
      changes/test16831
  88. 0 9
      changes/ticket15989
  89. 0 4
      changes/ticket17158
  90. 0 5
      changes/warn-when-time-goes-backwards
  91. 27 1
      scripts/maint/sortChanges.py

+ 429 - 0
ChangeLog

@@ -1,3 +1,432 @@
+Changes in version 0.2.8.1-alpha - 2016-02-0?
+  XXXX Blurb goes here XXXX
+
+  o Major features (consensus downloads):
+    - Schedule multiple in-progress consensus downloads during client
+      bootstrap. Use the first one that starts downloading, close the
+      rest. This reduces failures when authorities are slow or down.
+      Together with the code for feature 15775, it reduces failures due to fallback churn.
+      Implements ticket 4483 (reduce failures when authorities are down).
+      Patch by "teor".
+      Implements IPv4 portions of proposal 210 by "mikeperry" and
+      "teor".
+
+  o Major features (controller):
+    - New "GETINFO hs/service/desc/id/" command to retrieve a hidden service
+      descriptor from a service's local hidden service descriptor cache.
+      Closes ticket 14846.
+
+  o Major features (directory mirrors):
+    - Include an opt-in trial list of Default Fallback Directories in
+      add_default_fallback_dir_servers().
+      "Tor has included a feature to fetch the initial consensus from nodes
+       other than the authorities for a while now. We just haven't shipped a
+       list of alternate locations for clients to go to yet.
+       Reasons why we might want to ship tor with a list of additional places
+       where clients can find the consensus is that it makes authority
+       reachability and BW less important.
+       We want them to have been around and using their current key, address,
+       and port for a while now (120 days), and have been running, a guard,
+       and a v2 directory mirror for most of that time."
+      We exclude BadExits and tor versions that aren't recommended.
+      We include an IPv6 address for each FallbackDir (see ticket 8374).
+      (Tor might not use IPv6 fallbacks until ticket the code for ticket6027 is merged.)
+      The unit test ensures that we successfully load all included
+      default fallback directories.
+      Closes ticket 15775. Patch by "teor".
+      OnionOO script by "weasel", "teor", "gsathya", and "karsten".
+
+  o Major features (relay):
+    - When Tor is started as root on Linux and told to switch user ID, it
+      can now retain the capabilitity to bind to low ports.  By default,
+      Tor will do this only when it's switching user ID and some low
+      ports have been configured.  You can change this behavior with
+      the new option KeepBindCapabilities.  Closes ticket 8195.
+
+  o Minor feature (crypto):
+    - Add SHA512 support to crypto.c. Closes ticket 17663; patch from
+      George Tankersley.
+
+  o Minor feature (directory downloads):
+    - Wait for busy authorities and fallbacks to become non-busy when
+      bootstrapping. (A similar change was made in 6c443e987d for
+      directory servers chosen from the consensus.)
+      Closes ticket 17864; patch by "teor".
+
+  o Minor feature (fallback directories):
+    - Add UseDefaultFallbackDirs, which enables any hard-coded fallback
+      directory mirrors. Default is 1, set it to 0 to disable fallbacks.
+      Implements ticket 17576. Patch by "teor".
+
+  o Minor feature (IPv6):
+    - Add a flag ipv6=address:orport to the DirAuthority and FallbackDir torrc
+      options. Add hard-coded ipv6 addresses for directory authorities with
+      ipv6 lines in their descriptors.
+      Closes ticket 17327; patch from Nick Mathewson / "teor".
+    - Add address policy assume_action support for IPv6 addresses.
+    - Limit IPv6 mask bits to 128.
+    - Warn when comparing against an AF_UNSPEC address in a policy,
+      it's almost always a bug.
+      Closes ticket 17863; patch by "teor".
+
+  o Minor feature (logging):
+    - When logging to syslog, allow a tag to be added to the syslog
+      identity ("Tor"), i.e. the string prepended to every log message.
+      The tag can be configured by setting SyslogIdentityTag and defaults
+      to none.  Setting it to "foo" will cause logs to be tagged as
+      "Tor-foo". Closes ticket 17194.
+
+  o Minor feature (refactoring):
+    - Move logging of redundant policy entries in
+      policies_parse_exit_policy_internal into its own function.
+      Closes ticket 17608; patch from "juce".
+
+  o Minor features (accounting):
+    - Added two modes to AccountingRule in torrc for
+      limiting just input or just output.
+      Closes ticket 15989; patch from "unixninja92".
+
+  o Minor features (authorities):
+    - Update the V3 identity key for dannenberg: it was changed on
+      18 November 2015.
+      Closes task 17906. Patch by "teor".
+
+  o Minor features (build):
+    - Since our build process now uses 'make distcheck', we no longer force
+      "make dist" to depend on "make check". Closes ticket 17893;
+      patch from "cypherpunks."
+
+  o Minor features (compilation):
+    - Repair some compilation issues with some recent (unreleased, alpha)
+      vesions of OpenSSL 1.1. Closes ticket 17549.
+
+  o Minor features (controller):
+    - Adds FallbackDir entries to 'GETINFO config/defaults'. Closes tickets
+      16774 and 17817. Patch by George Tankersley.
+
+  o Minor features (crypto):
+    - When allocating a digest state object, allocate no more space than we
+      actually need.  Previously, we were allocating as much space as the
+      state for the largest algorithm would need.  This change saves up to
+      672 bytes per circuit.  Closes ticket 17796.
+
+  o Minor features (directory system):
+    Previously only relays who explicitly opened a directory port (DirPort)
+    accepted directory requests from clients.  Now all relays, with and without
+    a DirPort, who do not disable the DirCache option accept and serve
+    directory requests sent (tunnelled) through their ORPort.
+    Closes ticket 12538.
+
+  o Minor features (exit policies, controllers):
+    - Add controller getinfo exit-policy/reject-private/[default,relay]
+      for the reject rules added by ExitPolicyRejectPrivate. This makes
+      it easier for stem to display exit policies.
+    - Add unit tests for getinfo exit-policy/*.
+      Finishes implementation for ticket 17183. Patch by "teor".
+
+  o Minor features (fallback directories):
+    - Add a set of default fallback directories for the 0.2.8 alpha releases.
+      Closes ticket 17158.
+      Patch by "teor".
+
+  o Minor features (geoip):
+    - Update geoip and geoip6 to the January 5 2016 Maxmind GeoLite2
+      Country database.
+
+  o Minor features (IPv6 support):
+    - Allow users to configure directory authorities and fallback
+      directory servers with IPv6 addresses and ORPorts.  Resolves
+      ticket 6027.
+
+  o Minor features (portability):
+    - Use timingsafe_memcmp() where available. Closes ticket 17944;
+      patch from <logan@hackers.mu>.
+
+  o Minor features (relay, address discovery):
+    - Add a family argument to get_interface_addresses_raw() and
+      subfunctions to make network interface address interogation more
+      efficient. Now Tor can specifically ask for IPv4, IPv6 or both
+      types of interfaces from the operating system. Resolves ticket 17950.
+    - When get_interface_address6_list(.,AF_UNSPEC,.) is called and fails
+      to enumerate interface addresses using the platform-specific API,
+      have it rely on the UDP socket fallback technique to try and find
+      out what IP addresses (both IPv4 and IPv6) our machine has. Resolves
+      ticket 17951.
+
+  o Minor features (replaycache):
+    - The replay cache now uses SHA256 instead of SHA1.
+      Implements feature 8961.
+      Patch by "teor", issue reported by "rransom".
+
+  o Minor features (security):
+    - Adjust Tor's use of OpenSSL's RNG APIs so that they absolutely,
+      positively are not allowed to fail. Previously we depended on
+      internals about OpenSSL behavior. Closes ticket 17686.
+    - Never use the system entropy output directly for anything besides
+      seeding the PRNG.  When we want to generate important keys, instead
+      of using system entropy directly, hash it with the PRNG stream.
+      This may help resist certain attacks based on broken OS entropy
+      implementations. Closes part of ticket 17694.
+    - Set unused entires in a smartlist to NULL. This helped catch a
+      (harmless) bug, and shouldn't affect performance too much.
+      Implements ticket 17026.
+    - Use SecureMemoryWipe() function to securely clean memory on
+      Windows. Implements feature 17986.
+    - Use explicit_bzero or memset_s when present. Previously, we'd use
+      OpenSSL's OPENSSL_cleanse() function.
+      Closes ticket 7419; patches from <logan@hackers.mu> and <selven@hackers.mu>.
+
+  o Minor features (security, clock):
+    - Warn when the system clock is set back in time (when the
+      state file was last written in the future). Tor doesn't know
+      that consensuses have expired if the clock is in the past.
+      Patch by "teor". Implements ticket 17188.
+
+  o Minor features (security, cryptography):
+    - Use modern system calls to generate strong entropy on platforms that
+      provide them. Closes ticket 13696.
+
+  o Minor features (testing):
+    - Log more information when the backtrace tests fail.
+      Closes ticket 17892. Patch from "cypherpunks."
+
+  o Minor features (unit tests, random number generation):
+    - Add unit tests that check for common RNG failure modes, such as
+      returning all zeroes, identical values, or incrementing values
+      (OpenSSL's rand_predictable feature).
+      Patch by "teor".
+
+  o Minor features (unix permissions):
+    - Defer creation of Unix sockets until after setuid. This avoids needing
+      CAP_CHOWN and CAP_FOWNER when using systemd's CapabilityBoundingSet, or
+      chown and fowner when using SELinux.
+      Implements part of ticket 17562. Patch from Jamie Nguyen.
+    - If any directory created by Tor is marked as group readable, the
+      filesystem group is allowed to be either the default GID or the root
+      user. Allowing root to read the DataDirectory prevents the need for
+      CAP_READ_SEARCH when using systemd's CapabilityBoundingSet, or
+      dac_read_search when using SELinux.
+      Implements part of ticket 17562. Patch from Jamie Nguyen.
+    - Introduce DataDirectoryGroupReadable boolean. If set to 1, the
+      DataDirectory will be made readable by the default GID.
+      Implements part of ticket 17562. Patch from Jamie Nguyen.
+
+  o Minor bugfix (crypto):
+    - Check the return value of HMAC and assert on failure.
+      Fixes bug 17658; bugfix on 0.2.3.6-alpha.
+      Patch by "teor".
+
+  o Minor bugfix (fallback directories):
+    - Mark fallbacks as "too busy" when they return a 503 response,
+      rather than just marking authorities.
+      Fixes bug 17572; bugfix on 5c51b3f1f0d4 released in 0.2.4.7-alpha.
+      Patch by "teor".
+
+  o Minor bugfix (IPv6 compatibility, unit tests):
+    - Make tor_ersatz_socketpair work on IPv6-only systems.
+      Fixes bug 17638; bugfix on 0.0.2pre8.
+      Patch by "teor".
+
+  o Minor bugfix (relays, hidden services):
+    - Refuse connection requests to private OR addresses unless
+      ExtendAllowPrivateAddresses is set. Previously, tor would
+      connect, then refuse to send any cells to a private address.
+      Fixes bugs 17674 and 8976; bugfix on 0.2.3.21-rc.
+      Patch by "teor".
+
+  o Minor bugfix (SipHash-2-4 performance):
+    - Improve performance when hashing non-multiple of 8 sized buffers,
+      based on Andrew Moon's Public Domain SipHash-2-4 implementation.
+      Fixes bug 17544; bugfix on 0.2.5.3-alpha.
+
+  o Minor bugfix (testing):
+    - The test for log_heartbeat was incorrectly failing in timezones
+      with non-integer offsets. Instead of comparing the end of the
+      time string against a constant, compare it to the output of
+      format_local_iso_time when given the correct input.
+      Fixes bug 18039; bugfix on 0.2.5.4-alpha.
+
+  o Minor bugfix (unit tests):
+    - Make unit tests pass on IPv6-only systems, and systems without
+      localhost addresses (like some FreeBSD jails).
+      Fixes bug 17632; bugfix on 0.2.7.3-rc.
+      Patch by "teor".
+
+  o Minor bugfixes (accounting):
+    - The max bandwidth when using AccountRule sum
+      is now correctly logged. Fixes bug 18024; bugfix on 0.2.6.1-alpha.
+      Patch from "unixninja92".
+
+  o Minor bugfixes (build):
+    - Mark all object files that include micro-revision.i as depending on
+      it, so as to make our build more reliable with parallel builds.
+      Fixes bug 17826; bugfix on 0.2.5.1-alpha.
+
+  o Minor bugfixes (client, correctness):
+    - When closing an entry connection, generate a warning if we should
+      have sent an end cell for it but we haven't.  Fixes bug 17876;
+      bugfix on 0.2.3.2-alpha.
+
+  o Minor bugfixes (code correctness):
+    - Assert that allocated memory held by the reputation code is freed
+      according to its internal counters. Fixes bug 17753; bugfix on
+      tor-0.1.1.1-alpha.
+
+  o Minor bugfixes (compilation):
+    - Don't try to use the pthrad_condattr_setclock() function unless
+      it actually exists.  Fixes compilation on NetBSD-6.x. Fixes bug
+      17819; bugfix on 0.2.6.3-alpha.
+    - Fix backtrace compilation on FreeBSD. Fixes bug 17827; bugfix on
+      tor-0.2.5.2-alpha.
+    - Fix compilation of sandbox.c with musl-libc.
+      Fixes bug 17347; bugfix on 0.2.5.1-alpha.
+      Patch from 'jamestk'.
+    - Fix search for libevent libraries on OpenBSD (and similar systems
+      which install libevent 1 and libevent 2 in parallel). Fixes bug
+      16651; bugfix on 0.1.0.7-rc.
+      Patch from "rubiate".
+    - Isolate environment variables meant for tests from the rest of the
+      build system. Fixes bug 17818; bugfix on tor-0.2.7.3-rc.
+    - Replace usage of 'INLINE' with 'inline'. Fixes bug 17804; bugfix
+      on tor-0.0.2pre8.
+
+  o Minor bugfixes (IPv6):
+    - Update the limits in max_dl_per_request for IPv6 address
+      length. Fixes bug 17573; bugfix on 0.2.1.5-alpha.
+
+  o Minor bugfixes (linux seccomp2 sandbox):
+    - Fix a crash when using offline master ed25519 keys with the
+      Linux seccomp2 sandbox enabled. Fixes bug 17675; bugfix on
+      0.2.7.3-alpha.
+
+  o Minor bugfixes (logging):
+    - In log messages that include a function name, use __FUNCTION__ instead
+      of __PRETTY_FUNCTION__.  In GCC, these are synonymous, but with clang
+      __PRETTY_FUNCTION__ has extra information we don't need.
+      Fixes bug 16563; bugfix on 0.0.2pre8. Fix by Tom van der Woerdt.
+    - Remove needless quotes from a log message about unparseable addresses.
+      Fixes bug 17843; bugfix on 0.2.3.3-alpha.
+
+  o Minor bugfixes (makefile):
+    - Remove config.log only from make distclean, not from 
+      make clean. Fixes bug 17924; bugfix on 0.2.4.1-alpha.
+
+  o Minor bugfixes (portability):
+    - Remove an #endif from configure.ac so that we correctly detect
+      the presence of in6_addr.s6_addr32. Fixes bug 17923; bugfix on
+      0.2.0.13-alpha.
+
+  o Minor bugfixes (relays):
+    - Check that both the ORPort and DirPort (if present) are reachable
+      before publishing a relay descriptor. Otherwise, relays publish a
+      descriptor with DirPort 0 when the DirPort reachability test takes
+      longer than the ORPort reachability test.
+      Fixes bug 18050; bugfix on 0.1.0.1-rc.
+      Reported by "starlight", patch by "teor".
+
+  o Minor bugfixes (routersets, IPv6):
+    - routerset_parse now accepts IPv6 literal addresses.
+      Fixes bug 17060; bugfix on 0.2.1.3-alpha. Patch by "teor".
+
+  o Minor bugfixes (safe logging):
+    - When logging a malformed hostname received through socks4, scrub it
+      if SafeLogging says we should. Fixes bug 17419; bugfix on 0.1.1.16-rc.
+
+  o Minor bugfixes (security):
+    - Make memwipe() do nothing when passed a NULL pointer
+      or zero size. Check size argument to memwipe() for underflow.
+      Fixes bug 18089; bugfix on 0.2.3.25 and 0.2.4.6-alpha.
+      Reported by "gk", patch by "teor".
+
+  o Minor bugfixes (security, exit policies):
+    - ExitPolicyRejectPrivate rejects more private addresses by default.
+      Specifically, it rejects
+      the relay's outbound bind addresses (if configured), and
+      the relay's configured port addresses (such as ORPort and DirPort).
+      Fixes bug 17027; bugfix on 0.2.0.11-alpha. Patch by "teor".
+
+  o Minor bugfixes (statistics code):
+    - Consistently check for overflow in round_*_to_next_multiple_of
+      functions, and add unit tests with additional and maximal values.
+      Fixes part of bug 13192; bugfix on 0.2.2.1-alpha.
+    - Handle edge cases in the laplace functions: avoid division by zero,
+      avoid taking the log of zero, and silence clang type conversion
+      warnings using round and trunc.  Add unit tests for edge cases with
+      maximal values. Fixes part of bug 13192; bugfix on 0.2.6.2-alpha.
+
+  o Minor bugfixes (tests):
+    - Fix a memory leak in the ntor test. Fixes bug 17778; bugfix on
+      0.2.4.8-alpha.
+
+  o Minor bugfixes (TLS context):
+    - Assert when the TLS contexts fail to initialize. Fixes bug 17683;
+      bugfix on 0.0.6.
+
+  o Minor bugfixes (unit tests):
+    - Check the full results of SHA256 and SHA512 digests in the
+      unit tests. Bugfix on 0.2.2.4-alpha. Patch by "teor".
+
+  o Code simplification and refactoring:
+     - Extract the more complicated parts of circuit_mark_for_close into
+       a new function run periodically before connections are freed.
+       This change removes more than half of the functions currently
+       in the "blob".
+       Closes ticket 17218.
+    - Clean up a little duplicated code in crypto_expand_key_material_TAP.
+      Closes ticket 17587; patch from "pfrankw".
+    - Decouple the list of streams needing to be attached to circuits
+      from the overall connection list. This change makes it possible to
+      attach streams quickly while both simplifying Tor's callgraph and
+      avoiding O(N) scans of the entire connection list.  Closes ticket
+      17590.
+    - When a direct directory request fails immediately on launch,
+      instead of relaunching that request from inside the code that
+      launches it, instead mark the connection for teardown. This
+      change simplifies Tor's callback and prevents the directory-
+      request launching code from invoking itself recursively.
+      Closes ticket 17589.
+
+  o Documentation:
+    - Add a description of the correct use of the '--keygen' command-line
+      option. Closes ticket 17583; based on text by 's7r'.
+    - Document the minimum HeartbeatPeriod value. Closes ticket 15638.
+    - Explain actual minima for BandwidthRate. Closes ticket 16382.
+    - Fix a minor formatting typo in the manpage. Closes ticket
+      17791.
+    - Mention torspec URL in the manpage and point the reader to it
+      whenever we mention a document that belongs in torspce.
+      Fixes issue 17392.
+
+  o Removed features:
+    - Remove client-side support for connecting to Tor servers running
+      versions of Tor before 0.2.3.6-alpha. These servers didn't
+      support the v3 TLS handshake protocol, and are no longer allowed
+      on the Tor network.  Implements the client side of ticket
+      11150. Based on patches by Tom van der Woerdt.
+    - Remove code for OpenSSL dynamic locks; OpenSSL doesn't use them.
+      Closes ticket 17926.
+
+  o Testing:
+    - Always test both ed25519 backends, so that we can be sure that
+      our batch-open replacement code works. Part of ticket 16794.
+    - Cover dns_resolve_impl() in dns.c with unit tests. Implements a
+      portion of ticket 16831.
+    - More unit tests for compat_libevent.c. Closes ticket 17075.
+      Patch from Ola Bini.
+    - More unit tests for procmon.c. Closes ticket 17078.
+      Patch from Ola Bini.
+    - More unit tests for tortls.c. Closes ticket 17082.
+      Patch from Ola Bini.
+    - More unit tests for util_format.c. Closes ticket 17084.
+      Patch from Ola Bini.
+    - New tests for directory.c functions. Closes ticket 17003.  Patch
+      from Ola Bini.
+    - New tests for options_validate.  Closes ticket 17076. Patch from
+      Ola Bini.
+    - Unit tests for directory_handle_command_get. Closes ticket 17004.
+      Patch from Reinaldo de Souza Jr.
+
+
 Changes in version 0.2.7.6 - 2015-12-10
   Tor version 0.2.7.6 fixes a major bug in entry guard selection, as
   well as a minor bug in hidden service reliability.

+ 0 - 6
changes/11150

@@ -1,6 +0,0 @@
-  o Removed features:
-    - Remove client-side support for connecting to Tor servers running
-      versions of Tor before 0.2.3.6-alpha. These servers didn't
-      support the v3 TLS handshake protocol, and are no longer allowed
-      on the Tor network.  Implements the client side of ticket
-      11150. Based on patches by Tom van der Woerdt.

+ 0 - 3
changes/17004

@@ -1,3 +0,0 @@
-  o Testing:
-    - Unit tests for directory_handle_command_get. Closes ticket 17004.
-      Patch from Reinaldo de Souza Jr.

+ 0 - 3
changes/17075

@@ -1,3 +0,0 @@
-  o Testing:
-    - More unit tests for compat_libevent.c. Closes ticket 17075.
-      Patch from Ola Bini.

+ 0 - 3
changes/17078

@@ -1,3 +0,0 @@
-  o Testing:
-    - More unit tests for procmon.c. Closes ticket 17078.
-      Patch from Ola Bini.

+ 0 - 3
changes/17082

@@ -1,3 +0,0 @@
-  o Testing:
-    - More unit tests for tortls.c. Closes ticket 17082.
-      Patch from Ola Bini.

+ 0 - 3
changes/17084

@@ -1,3 +0,0 @@
-  o Testing:
-    - More unit tests for util_format.c. Closes ticket 17084.
-      Patch from Ola Bini.

+ 0 - 4
changes/17573

@@ -1,4 +0,0 @@
-  o Minor bugfixes (IPv6):
-    - Update the limits in max_dl_per_request for IPv6 address
-      length. Fixes bug 17573; bugfix on 0.2.1.5-alpha.
-

+ 0 - 5
changes/17826

@@ -1,5 +0,0 @@
-  o Minor bugfixes (build):
-    - Mark all object files that include micro-revision.i as depending on
-      it, so as to make our build more reliable with parallel builds.
-      Fixes bug 17826; bugfix on 0.2.5.1-alpha.
-      

+ 0 - 3
changes/17926

@@ -1,3 +0,0 @@
-  o Removed features:
-    - Remove code for OpenSSL dynamic locks; OpenSSL doesn't use them.
-      Closes ticket 17926.

+ 0 - 3
changes/17944

@@ -1,3 +0,0 @@
-  o Minor features (portability):
-    - Use timingsafe_memcmp() where available. Closes ticket 17944;
-      patch from <logan@hackers.mu>.

+ 0 - 6
changes/7419

@@ -1,6 +0,0 @@
-  o Minor features (security):
-    - Use explicit_bzero or memset_s when present. Previously, we'd use
-      OpenSSL's OPENSSL_cleanse() function.
-      Closes ticket 7419; patches from <logan@hackers.mu> and <selven@hackers.mu>.
-
-

+ 0 - 2
changes/bug15638

@@ -1,2 +0,0 @@
-  o Documentation:
-    - Document the minimum HeartbeatPeriod value. Closes ticket 15638.

+ 0 - 3
changes/bug16382

@@ -1,3 +0,0 @@
-  o Documentation:
-    - Explain actual minima for BandwidthRate. Closes ticket 16382.
-

+ 0 - 6
changes/bug16563

@@ -1,6 +0,0 @@
-  o Minor bugfixes (logging):
-    - In log messages that include a function name, use __FUNCTION__ instead
-      of __PRETTY_FUNCTION__.  In GCC, these are synonymous, but with clang
-      __PRETTY_FUNCTION__ has extra information we don't need.
-      Fixes bug 16563; bugfix on 0.0.2pre8. Fix by Tom van der Woerdt.
-      

+ 0 - 6
changes/bug16651

@@ -1,6 +0,0 @@
-  o Minor bugfixes (compilation):
-
-    - Fix search for libevent libraries on OpenBSD (and similar systems
-      which install libevent 1 and libevent 2 in parallel). Fixes bug
-      16651; bugfix on 0.1.0.7-rc.
-      Patch from "rubiate".

+ 0 - 3
changes/bug16794_ed

@@ -1,3 +0,0 @@
-  o Testing:
-    - Always test both ed25519 backends, so that we can be sure that
-      our batch-open replacement code works. Part of ticket 16794.

+ 0 - 3
changes/bug17003

@@ -1,3 +0,0 @@
-  o Testing:
-    - New tests for directory.c functions. Closes ticket 17003.  Patch
-      from Ola Bini.

+ 0 - 5
changes/bug17026

@@ -1,5 +0,0 @@
-  o Minor features (security):
-    - Set unused entires in a smartlist to NULL. This helped catch a
-      (harmless) bug, and shouldn't affect performance too much.
-      Implements ticket 17026.
-

+ 0 - 6
changes/bug17027-reject-private-bind-port

@@ -1,6 +0,0 @@
-  o Minor bugfixes (security, exit policies):
-    - ExitPolicyRejectPrivate rejects more private addresses by default.
-      Specifically, it rejects
-      the relay's outbound bind addresses (if configured), and
-      the relay's configured port addresses (such as ORPort and DirPort).
-      Fixes bug 17027; bugfix on 0.2.0.11-alpha. Patch by "teor".

+ 0 - 7
changes/bug17194

@@ -1,7 +0,0 @@
-  o Minor feature (logging):
-    - When logging to syslog, allow a tag to be added to the syslog
-      identity ("Tor"), i.e. the string prepended to every log message.
-      The tag can be configured by setting SyslogIdentityTag and defaults
-      to none.  Setting it to "foo" will cause logs to be tagged as
-      "Tor-foo". Closes ticket 17194.
-

+ 0 - 4
changes/bug17347

@@ -1,4 +0,0 @@
-  o Minor bugfixes (compilation):
-    - Fix compilation of sandbox.c with musl-libc.
-      Fixes bug 17347; bugfix on 0.2.5.1-alpha.
-      Patch from 'jamestk'.

+ 0 - 3
changes/bug17419

@@ -1,3 +0,0 @@
-  o Minor bugfixes (safe logging):
-    - When logging a malformed hostname received through socks4, scrub it
-      if SafeLogging says we should. Fixes bug 17419; bugfix on 0.1.1.16-rc.

+ 0 - 4
changes/bug17544

@@ -1,4 +0,0 @@
-  o Minor bugfix (SipHash-2-4 performance):
-    - Improve performance when hashing non-multiple of 8 sized buffers,
-      based on Andrew Moon's Public Domain SipHash-2-4 implementation.
-      Fixes bug 17544; bugfix on 0.2.5.3-alpha.

+ 0 - 3
changes/bug17549

@@ -1,3 +0,0 @@
-  o Minor features (compilation):
-    - Repair some compilation issues with some recent (unreleased, alpha)
-      vesions of OpenSSL 1.1. Closes ticket 17549.

+ 0 - 5
changes/bug17562-DataDirectoryGroupReadable

@@ -1,5 +0,0 @@
-  o Minor features (unix permissions):
-    - Introduce DataDirectoryGroupReadable boolean. If set to 1, the
-      DataDirectory will be made readable by the default GID.
-      Implements part of ticket 17562. Patch from Jamie Nguyen.
-

+ 0 - 7
changes/bug17562-allow-root-group-read

@@ -1,7 +0,0 @@
-  o Minor features (unix permissions):
-    - If any directory created by Tor is marked as group readable, the
-      filesystem group is allowed to be either the default GID or the root
-      user. Allowing root to read the DataDirectory prevents the need for
-      CAP_READ_SEARCH when using systemd's CapabilityBoundingSet, or
-      dac_read_search when using SELinux.
-      Implements part of ticket 17562. Patch from Jamie Nguyen.

+ 0 - 5
changes/bug17562-defer-unix-socket-creation

@@ -1,5 +0,0 @@
-  o Minor features (unix permissions):
-    - Defer creation of Unix sockets until after setuid. This avoids needing
-      CAP_CHOWN and CAP_FOWNER when using systemd's CapabilityBoundingSet, or
-      chown and fowner when using SELinux.
-      Implements part of ticket 17562. Patch from Jamie Nguyen.

+ 0 - 5
changes/bug17572-fallback-by-digest

@@ -1,5 +0,0 @@
-  o Minor bugfix (fallback directories):
-    - Mark fallbacks as "too busy" when they return a 503 response,
-      rather than just marking authorities.
-      Fixes bug 17572; bugfix on 5c51b3f1f0d4 released in 0.2.4.7-alpha.
-      Patch by "teor".

+ 0 - 4
changes/bug17583

@@ -1,4 +0,0 @@
-  o Documentation:
-    - Add a description of the correct use of the '--keygen' command-line
-      option. Closes ticket 17583; based on text by 's7r'.
-

+ 0 - 7
changes/bug17589

@@ -1,7 +0,0 @@
-  o Code simplification and refactoring:
-    - When a direct directory request fails immediately on launch,
-      instead of relaunching that request from inside the code that
-      launches it, instead mark the connection for teardown. This
-      change simplifies Tor's callback and prevents the directory-
-      request launching code from invoking itself recursively.
-      Closes ticket 17589.

+ 0 - 5
changes/bug17632-no-ipv4-no-localhost

@@ -1,5 +0,0 @@
-  o Minor bugfix (unit tests):
-    - Make unit tests pass on IPv6-only systems, and systems without
-      localhost addresses (like some FreeBSD jails).
-      Fixes bug 17632; bugfix on 0.2.7.3-rc.
-      Patch by "teor".

+ 0 - 5
changes/bug17638-ipv6-ersatz-socketpair

@@ -1,5 +0,0 @@
-  o Minor bugfix (IPv6 compatibility, unit tests):
-    - Make tor_ersatz_socketpair work on IPv6-only systems.
-      Fixes bug 17638; bugfix on 0.0.2pre8.
-      Patch by "teor".
-

+ 0 - 4
changes/bug17675

@@ -1,4 +0,0 @@
-  o Minor bugfixes (linux seccomp2 sandbox):
-    - Fix a crash when using offline master ed25519 keys with the
-      Linux seccomp2 sandbox enabled. Fixes bug 17675; bugfix on
-      0.2.7.3-alpha.

+ 0 - 3
changes/bug17683

@@ -1,3 +0,0 @@
-  o Minor bugfixes (TLS context):
-    - Assert when the TLS contexts fail to initialize. Fixes bug 17683;
-      bugfix on 0.0.6.

+ 0 - 4
changes/bug17686

@@ -1,4 +0,0 @@
-  o Minor features (security):
-    - Adjust Tor's use of OpenSSL's RNG APIs so that they absolutely,
-      positively are not allowed to fail. Previously we depended on
-      internals about OpenSSL behavior. Closes ticket 17686.

+ 0 - 6
changes/bug17694_strongest

@@ -1,6 +0,0 @@
-  o Minor features (security):
-    - Never use the system entropy output directly for anything besides
-      seeding the PRNG.  When we want to generate important keys, instead
-      of using system entropy directly, hash it with the PRNG stream.
-      This may help resist certain attacks based on broken OS entropy
-      implementations. Closes part of ticket 17694.

+ 0 - 4
changes/bug17753

@@ -1,4 +0,0 @@
-  o Minor bugfixes (code correctness):
-    - Assert that allocated memory held by the reputation code is freed
-      according to its internal counters. Fixes bug 17753; bugfix on
-      tor-0.1.1.1-alpha.

+ 0 - 3
changes/bug17778

@@ -1,3 +0,0 @@
-  o Minor bugfixes (tests):
-    - Fix a memory leak in the ntor test. Fixes bug 17778; bugfix on
-      0.2.4.8-alpha.

+ 0 - 4
changes/bug17791

@@ -1,4 +0,0 @@
-  o Documentation:
-    - Fix a minor formatting typo in the manpage. Closes ticket
-      17791.
-   

+ 0 - 3
changes/bug17804

@@ -1,3 +0,0 @@
-  o Minor bugfixes (compilation):
-    - Replace usage of 'INLINE' with 'inline'. Fixes bug 17804; bugfix
-      on tor-0.0.2pre8.

+ 0 - 3
changes/bug17818

@@ -1,3 +0,0 @@
-  o Minor bugfixes (compilation):
-    - Isolate environment variables meant for tests from the rest of the
-      build system. Fixes bug 17818; bugfix on tor-0.2.7.3-rc.

+ 0 - 4
changes/bug17819

@@ -1,4 +0,0 @@
-  o Minor bugfixes (compilation):
-    - Don't try to use the pthrad_condattr_setclock() function unless
-      it actually exists.  Fixes compilation on NetBSD-6.x. Fixes bug
-      17819; bugfix on 0.2.6.3-alpha.

+ 0 - 3
changes/bug17827

@@ -1,3 +0,0 @@
-  o Minor bugfixes (compilation):
-    - Fix backtrace compilation on FreeBSD. Fixes bug 17827; bugfix on
-      tor-0.2.5.2-alpha.

+ 0 - 3
changes/bug17843

@@ -1,3 +0,0 @@
-  o Minor bugfixes (logging):
-    - Remove needless quotes from a log message about unparseable addresses.
-      Fixes bug 17843; bugfix on 0.2.3.3-alpha.

+ 0 - 5
changes/bug17876

@@ -1,5 +0,0 @@
-  o Minor bugfixes (client, correctness):
-    - When closing an entry connection, generate a warning if we should
-      have sent an end cell for it but we haven't.  Fixes bug 17876;
-      bugfix on 0.2.3.2-alpha.
-

+ 0 - 4
changes/bug17892

@@ -1,4 +0,0 @@
-  o Minor features (testing):
-    - Log more information when the backtrace tests fail.
-      Closes ticket 17892. Patch from "cypherpunks."
-

+ 0 - 4
changes/bug17893

@@ -1,4 +0,0 @@
-  o Minor features (build):
-    - Since our build process now uses 'make distcheck', we no longer force
-      "make dist" to depend on "make check". Closes ticket 17893;
-      patch from "cypherpunks."

+ 0 - 4
changes/bug17906

@@ -1,4 +0,0 @@
-  o Minor features (authorities):
-    - Update the V3 identity key for dannenberg: it was changed on
-      18 November 2015.
-      Closes task 17906. Patch by "teor".

+ 0 - 4
changes/bug17923

@@ -1,4 +0,0 @@
-  o Minor bugfixes (portability):
-    - Remove an #endif from configure.ac so that we correctly detect
-      the presence of in6_addr.s6_addr32. Fixes bug 17923; bugfix on
-      0.2.0.13-alpha.

+ 0 - 4
changes/bug17924

@@ -1,4 +0,0 @@
-  o Minor bugfixes (makefile):
-    - Remove config.log only from make distclean, not from 
-      make clean. Fixes bug 17924; bugfix on 0.2.4.1-alpha.
-

+ 0 - 7
changes/bug18050

@@ -1,7 +0,0 @@
-  o Minor bugfixes (relays):
-    - Check that both the ORPort and DirPort (if present) are reachable
-      before publishing a relay descriptor. Otherwise, relays publish a
-      descriptor with DirPort 0 when the DirPort reachability test takes
-      longer than the ORPort reachability test.
-      Fixes bug 18050; bugfix on 0.1.0.1-rc.
-      Reported by "starlight", patch by "teor".

+ 0 - 5
changes/bug18089

@@ -1,5 +0,0 @@
-  o Minor bugfixes (security):
-    - Make memwipe() do nothing when passed a NULL pointer
-      or zero size. Check size argument to memwipe() for underflow.
-      Fixes bug 18089; bugfix on 0.2.3.25 and 0.2.4.6-alpha.
-      Reported by "gk", patch by "teor".

+ 0 - 9
changes/bug4483-multiple-consensus-downloads

@@ -1,9 +0,0 @@
-  o Major features (consensus downloads):
-    - Schedule multiple in-progress consensus downloads during client
-      bootstrap. Use the first one that starts downloading, close the
-      rest. This reduces failures when authorities are slow or down.
-      Together with the code for feature 15775, it reduces failures due to fallback churn.
-      Implements ticket 4483 (reduce failures when authorities are down).
-      Patch by "teor".
-      Implements IPv4 portions of proposal 210 by "mikeperry" and
-      "teor".

+ 0 - 4
changes/bug6027

@@ -1,4 +0,0 @@
-  o Minor features (IPv6 support):
-    - Allow users to configure directory authorities and fallback
-      directory servers with IPv6 addresses and ORPorts.  Resolves
-      ticket 6027.

+ 0 - 4
changes/check-crypto-errors

@@ -1,4 +0,0 @@
-  o Minor bugfix (crypto):
-    - Check the return value of HMAC and assert on failure.
-      Fixes bug 17658; bugfix on 0.2.3.6-alpha.
-      Patch by "teor".

+ 0 - 3
changes/cleanup_17587

@@ -1,3 +0,0 @@
-  o Code simplification and refactoring:
-    - Clean up a little duplicated code in crypto_expand_key_material_TAP.
-      Closes ticket 17587; patch from "pfrankw".

+ 0 - 6
changes/decouple_circuit_mark

@@ -1,6 +0,0 @@
-  o Code simplification and refactoring:
-     - Extract the more complicated parts of circuit_mark_for_close into
-       a new function run periodically before connections are freed.
-       This change removes more than half of the functions currently
-       in the "blob".
-       Closes ticket 17218.

+ 0 - 6
changes/decouple_conn_attach

@@ -1,6 +0,0 @@
-  o Code simplification and refactoring:
-    - Decouple the list of streams needing to be attached to circuits
-      from the overall connection list. This change makes it possible to
-      attach streams quickly while both simplifying Tor's callgraph and
-      avoiding O(N) scans of the entire connection list.  Closes ticket
-      17590.

+ 0 - 4
changes/doc17392

@@ -1,4 +0,0 @@
-  o Documentation:
-    - Mention torspec URL in the manpage and point the reader to it
-      whenever we mention a document that belongs in torspce.
-      Fixes issue 17392.

+ 0 - 6
changes/feature12538

@@ -1,6 +0,0 @@
-  o Minor features (directory system):
-    Previously only relays who explicitly opened a directory port (DirPort)
-    accepted directory requests from clients.  Now all relays, with and without
-    a DirPort, who do not disable the DirCache option accept and serve
-    directory requests sent (tunnelled) through their ORPort.
-    Closes ticket 12538.

+ 0 - 3
changes/feature13696

@@ -1,3 +0,0 @@
-  o Minor features (security, cryptography):
-    - Use modern system calls to generate strong entropy on platforms that
-      provide them. Closes ticket 13696.

+ 0 - 4
changes/feature14846

@@ -1,4 +0,0 @@
-  o Major features (controller):
-    - New "GETINFO hs/service/desc/id/" command to retrieve a hidden service
-      descriptor from a service's local hidden service descriptor cache.
-      Closes ticket 14846.

+ 0 - 19
changes/feature15775-fallback

@@ -1,19 +0,0 @@
-  o Major features (directory mirrors):
-    - Include an opt-in trial list of Default Fallback Directories in
-      add_default_fallback_dir_servers().
-      "Tor has included a feature to fetch the initial consensus from nodes
-       other than the authorities for a while now. We just haven't shipped a
-       list of alternate locations for clients to go to yet.
-       Reasons why we might want to ship tor with a list of additional places
-       where clients can find the consensus is that it makes authority
-       reachability and BW less important.
-       We want them to have been around and using their current key, address,
-       and port for a while now (120 days), and have been running, a guard,
-       and a v2 directory mirror for most of that time."
-      We exclude BadExits and tor versions that aren't recommended.
-      We include an IPv6 address for each FallbackDir (see ticket 8374).
-      (Tor might not use IPv6 fallbacks until ticket the code for ticket6027 is merged.)
-      The unit test ensures that we successfully load all included
-      default fallback directories.
-      Closes ticket 15775. Patch by "teor".
-      OnionOO script by "weasel", "teor", "gsathya", and "karsten".

+ 0 - 3
changes/feature16774

@@ -1,3 +0,0 @@
-  o Minor features (controller):
-    - Adds FallbackDir entries to 'GETINFO config/defaults'. Closes tickets
-      16774 and 17817. Patch by George Tankersley.

+ 0 - 3
changes/feature17076

@@ -1,3 +0,0 @@
-  o Testing:
-    - New tests for options_validate.  Closes ticket 17076. Patch from
-      Ola Bini.

+ 0 - 5
changes/feature17327

@@ -1,5 +0,0 @@
-  o Minor feature (IPv6):
-    - Add a flag ipv6=address:orport to the DirAuthority and FallbackDir torrc
-      options. Add hard-coded ipv6 addresses for directory authorities with
-      ipv6 lines in their descriptors.
-      Closes ticket 17327; patch from Nick Mathewson / "teor".

+ 0 - 4
changes/feature17576-UseDefaultFallbackDirs

@@ -1,4 +0,0 @@
-  o Minor feature (fallback directories):
-    - Add UseDefaultFallbackDirs, which enables any hard-coded fallback
-      directory mirrors. Default is 1, set it to 0 to disable fallbacks.
-      Implements ticket 17576. Patch by "teor".

+ 0 - 4
changes/feature17608

@@ -1,4 +0,0 @@
-  o Minor feature (refactoring):
-    - Move logging of redundant policy entries in
-      policies_parse_exit_policy_internal into its own function.
-      Closes ticket 17608; patch from "juce".

+ 0 - 3
changes/feature17663

@@ -1,3 +0,0 @@
-  o Minor feature (crypto):
-    - Add SHA512 support to crypto.c. Closes ticket 17663; patch from
-      George Tankersley.

+ 0 - 6
changes/feature17796

@@ -1,6 +0,0 @@
-  o Minor features (crypto):
-    - When allocating a digest state object, allocate no more space than we
-      actually need.  Previously, we were allocating as much space as the
-      state for the largest algorithm would need.  This change saves up to
-      672 bytes per circuit.  Closes ticket 17796.
-

+ 0 - 6
changes/feature17863

@@ -1,6 +0,0 @@
-  o Minor feature (IPv6):
-    - Add address policy assume_action support for IPv6 addresses.
-    - Limit IPv6 mask bits to 128.
-    - Warn when comparing against an AF_UNSPEC address in a policy,
-      it's almost always a bug.
-      Closes ticket 17863; patch by "teor".

+ 0 - 5
changes/feature17864

@@ -1,5 +0,0 @@
-  o Minor feature (directory downloads):
-    - Wait for busy authorities and fallbacks to become non-busy when
-      bootstrapping. (A similar change was made in 6c443e987d for
-      directory servers chosen from the consensus.)
-      Closes ticket 17864; patch by "teor".

+ 0 - 5
changes/feature17950

@@ -1,5 +0,0 @@
-  o Minor features (relay, address discovery):
-    - Add a family argument to get_interface_addresses_raw() and
-      subfunctions to make network interface address interogation more
-      efficient. Now Tor can specifically ask for IPv4, IPv6 or both
-      types of interfaces from the operating system. Resolves ticket 17950.

+ 0 - 6
changes/feature17951

@@ -1,6 +0,0 @@
-  o Minor features (relay, address discovery):
-    - When get_interface_address6_list(.,AF_UNSPEC,.) is called and fails
-      to enumerate interface addresses using the platform-specific API,
-      have it rely on the UDP socket fallback technique to try and find
-      out what IP addresses (both IPv4 and IPv6) our machine has. Resolves
-      ticket 17951.

+ 0 - 3
changes/feature17986

@@ -1,3 +0,0 @@
-  o Minor features (security):
-    - Use SecureMemoryWipe() function to securely clean memory on
-      Windows. Implements feature 17986.

+ 0 - 6
changes/feature8195

@@ -1,6 +0,0 @@
-  o Major features (relay):
-    - When Tor is started as root on Linux and told to switch user ID, it
-      can now retain the capabilitity to bind to low ports.  By default,
-      Tor will do this only when it's switching user ID and some low
-      ports have been configured.  You can change this behavior with
-      the new option KeepBindCapabilities.  Closes ticket 8195.

+ 0 - 4
changes/feature8961-replaycache-sha256

@@ -1,4 +0,0 @@
-  o Minor features (replaycache):
-    - The replay cache now uses SHA256 instead of SHA1.
-      Implements feature 8961.
-      Patch by "teor", issue reported by "rransom".

+ 0 - 6
changes/first-hop-no-private

@@ -1,6 +0,0 @@
-  o Minor bugfix (relays, hidden services):
-    - Refuse connection requests to private OR addresses unless
-      ExtendAllowPrivateAddresses is set. Previously, tor would
-      connect, then refuse to send any cells to a private address.
-      Fixes bugs 17674 and 8976; bugfix on 0.2.3.21-rc.
-      Patch by "teor".

+ 0 - 4
changes/geoip-january2016

@@ -1,4 +0,0 @@
-  o Minor features (geoip):
-    - Update geoip and geoip6 to the January 5 2016 Maxmind GeoLite2
-      Country database.
-

+ 0 - 6
changes/getinfo-private-exitpolicy

@@ -1,6 +0,0 @@
-  o Minor features (exit policies, controllers):
-    - Add controller getinfo exit-policy/reject-private/[default,relay]
-      for the reject rules added by ExitPolicyRejectPrivate. This makes
-      it easier for stem to display exit policies.
-    - Add unit tests for getinfo exit-policy/*.
-      Finishes implementation for ticket 17183. Patch by "teor".

+ 0 - 9
changes/laplace-edge-cases

@@ -1,9 +0,0 @@
-  o Minor bugfixes (statistics code):
-    - Handle edge cases in the laplace functions: avoid division by zero,
-      avoid taking the log of zero, and silence clang type conversion
-      warnings using round and trunc.  Add unit tests for edge cases with
-      maximal values. Fixes part of bug 13192; bugfix on 0.2.6.2-alpha.
-    - Consistently check for overflow in round_*_to_next_multiple_of
-      functions, and add unit tests with additional and maximal values.
-      Fixes part of bug 13192; bugfix on 0.2.2.1-alpha.
-

+ 0 - 6
changes/log_heartbeat_test

@@ -1,6 +0,0 @@
-  o Minor bugfix (testing):
-    - The test for log_heartbeat was incorrectly failing in timezones
-      with non-integer offsets. Instead of comparing the end of the
-      time string against a constant, compare it to the output of
-      format_local_iso_time when given the correct input.
-      Fixes bug 18039; bugfix on 0.2.5.4-alpha.

+ 0 - 5
changes/rand-failure-modes

@@ -1,5 +0,0 @@
-  o Minor features (unit tests, random number generation):
-    - Add unit tests that check for common RNG failure modes, such as
-      returning all zeroes, identical values, or incrementing values
-      (OpenSSL's rand_predictable feature).
-      Patch by "teor".

+ 0 - 3
changes/routerset-parse-IPv6-literals

@@ -1,3 +0,0 @@
-  o Minor bugfixes (routersets, IPv6):
-    - routerset_parse now accepts IPv6 literal addresses.
-      Fixes bug 17060; bugfix on 0.2.1.3-alpha. Patch by "teor".

+ 0 - 3
changes/sha-unit-tests

@@ -1,3 +0,0 @@
-  o Minor bugfixes (unit tests):
-    - Check the full results of SHA256 and SHA512 digests in the
-      unit tests. Bugfix on 0.2.2.4-alpha. Patch by "teor".

+ 0 - 3
changes/test16831

@@ -1,3 +0,0 @@
-  o Testing:
-    - Cover dns_resolve_impl() in dns.c with unit tests. Implements a
-      portion of ticket 16831.

+ 0 - 9
changes/ticket15989

@@ -1,9 +0,0 @@
-  o Minor features (accounting):
-    - Added two modes to AccountingRule in torrc for
-      limiting just input or just output.
-      Closes ticket 15989; patch from "unixninja92".
-
-  o Minor bugfixes (accounting):
-    - The max bandwidth when using AccountRule sum
-      is now correctly logged. Fixes bug 18024; bugfix on 0.2.6.1-alpha.
-      Patch from "unixninja92".

+ 0 - 4
changes/ticket17158

@@ -1,4 +0,0 @@
-  o Minor features (fallback directories):
-    - Add a set of default fallback directories for the 0.2.8 alpha releases.
-      Closes ticket 17158.
-      Patch by "teor".

+ 0 - 5
changes/warn-when-time-goes-backwards

@@ -1,5 +0,0 @@
-  o Minor features (security, clock):
-    - Warn when the system clock is set back in time (when the
-      state file was last written in the future). Tor doesn't know
-      that consensuses have expired if the clock is in the past.
-      Patch by "teor". Implements ticket 17188.

+ 27 - 1
scripts/maint/sortChanges.py

@@ -16,10 +16,36 @@ def fetch(fn):
         s = "%s\n" % s.rstrip()
         return s
 
+CSR='Code simplification and refactoring'
+
+REPLACEMENTS = {
+    # plurals
+    'Minor bugfix' : 'Minor bugfixes',
+    'Major bugfix' : 'Major bugfixes',
+    'Minor feature' : 'Minor features',
+    'Major feature' : 'Major features',
+    'Removed feature' : 'Removed features',
+    'Code simplification and refactorings' : CSR,
+    'Code simplifications and refactoring' : CSR,
+    'Code simplifications and refactorings' : CSR,
+
+    # wrong words
+    'Minor fix' : 'Minor bugfixes',
+    'Major fix' : 'Major bugfixes',
+    'Minor fixes' : 'Minor bugfixes',
+    'Major fixes' : 'Major bugfixes',
+    'Minor enhancement' : 'Minor features',
+    'Minor enhancements' : 'Minor features',
+    'Major enhancement' : 'Major features',
+    'Major enhancements' : 'Major features',
+}
+
 def score(s,fname=None):
     m = re.match(r'^ +o ([^\n]*)\n(.*)', s, re.M|re.S)
     if not m:
         print >>sys.stderr, "Can't score %r from %s"%(s,fname)
+    heading = m.group(1)
+    heading = REPLACEMENTS.get(heading, heading)
     lw = m.group(1).lower()
     if lw.startswith("major feature"):
         score = 0
@@ -36,7 +62,7 @@ def score(s,fname=None):
     else:
         score = 100
 
-    return (score, lw, m.group(1), m.group(2))
+    return (score, lw, heading, m.group(2))
 
 def splitChanges(s):
     this_entry = []