| 
					
				 | 
			
			
				@@ -2,6 +2,731 @@ This document summarizes new features and bugfixes in each stable release 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 of Tor. If you want to see more detailed descriptions of the changes in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 each development snapshot, see the ChangeLog file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Changes in version 0.2.8.6 - 2016-08-02 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  Tor 0.2.8.6 is the first stable version of the Tor 0.2.8 series. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  The Tor 0.2.8 series improves client bootstrapping performance, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  completes the authority-side implementation of improved identity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  keys for relays, and includes numerous bugfixes and performance 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  improvements throughout the program. This release continues to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  improve the coverage of Tor's test suite.  For a full list of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  changes since Tor 0.2.7, see the ReleaseNotes file. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  Below is a list of the changes since Tor 0.2.7. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o New system requirements: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Tor no longer attempts to support platforms where the "time_t" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type is unsigned. (To the best of our knowledge, only OpenVMS does 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this, and Tor has never actually built on OpenVMS.) Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 18184. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Tor no longer supports versions of OpenSSL with a broken 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      implementation of counter mode. (This bug was present in OpenSSL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      1.0.0, and was fixed in OpenSSL 1.0.0a.) Tor still detects, but no 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      longer runs with, these versions. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Tor now uses Autoconf version 2.63 or later, and Automake 1.11 or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      later (released in 2008 and 2009 respectively). If you are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      building Tor from the git repository instead of from the source 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      distribution, and your tools are older than this, you will need to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      upgrade. Closes ticket 17732. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Directory authority changes: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Update the V3 identity key for the dannenberg directory authority: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      it was changed on 18 November 2015. Closes task 17906. Patch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Urras is no longer a directory authority. Closes ticket 19271. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major features (directory system): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Include a trial list of default fallback directories, based on an 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      opt-in survey of suitable relays. Doing this should make clients 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bootstrap more quickly and reliably, and reduce the load on the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      directory authorities. Closes ticket 15775. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Candidates identified using an OnionOO script by weasel, teor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      gsathya, and karsten. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Previously only relays that explicitly opened a directory port 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (DirPort) accepted directory requests from clients. Now all 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      relays, with and without a DirPort, accept and serve tunneled 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      directory requests that they receive through their ORPort. You can 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      disable this behavior using the new DirCache option. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 12538. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When bootstrapping multiple consensus downloads at a time, use the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      first one that starts downloading, and close the rest. This 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      reduces failures when authorities or fallback directories are slow 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      or down. Together with the code for feature 15775, this feature 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      should reduces failures due to fallback churn. Implements ticket 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      4483. Patch by teor. Implements IPv4 portions of proposal 210 by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      mikeperry and teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major features (security, Linux): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When Tor starts as root on Linux and is told to switch user ID, it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      can now retain the capability 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 Major bugfixes (client, bootstrapping): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Check if bootstrap consensus downloads are still needed when the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      linked connection attaches. This prevents tor making unnecessary 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      begindir-style connections, which are the only directory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      connections tor clients make since the fix for 18483 was merged. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix some edge cases where consensus download connections may not 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      have been closed, even though they were not needed. Related to fix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for 18809. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Make relays retry consensus downloads the correct number of times, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      rather than the more aggressive client retry count. Fixes part of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 18809. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major bugfixes (dns proxy mode, crash): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Avoid crashing when running as a DNS proxy. Fixes bug 16248; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bugfix on 0.2.0.1-alpha. Patch from "cypherpunks". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major bugfixes (ed25519, voting): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Actually enable support for authorities to match routers by their 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Ed25519 identities. Previously, the code had been written, but 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      some debugging code that had accidentally been left in the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      codebase made it stay turned off. Fixes bug 17702; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.7.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When collating votes by Ed25519 identities, authorities now 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      include a "NoEdConsensus" flag if the ed25519 value (or lack 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      thereof) for a server does not reflect the majority consensus. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Related to bug 17668; bugfix on 0.2.7.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When generating a vote with keypinning disabled, never include two 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      entries for the same ed25519 identity. This bug was causing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      authorities to generate votes that they could not parse when a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      router violated key pinning by changing its RSA identity but 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      keeping its Ed25519 identity. Fixes bug 17668; fixes part of bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      18318. Bugfix on 0.2.7.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major bugfixes (key management): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - If OpenSSL fails to generate an RSA key, do not retain a dangling 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pointer to the previous (uninitialized) key value. The impact here 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      should be limited to a difficult-to-trigger crash, if OpenSSL is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      running an engine that makes key generation failures possible, or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if OpenSSL runs out of memory. Fixes bug 19152; bugfix on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      0.2.1.10-alpha. Found by Yuan Jochen Kang, Suman Jana, and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Baishakhi Ray. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major bugfixes (security, client, DNS proxy): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Stop a crash that could occur when a client running with DNSPort 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      received a query with multiple address types, and the first 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      address type was not supported. Found and fixed by Scott Dial. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 18710; bugfix on 0.2.5.4-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major bugfixes (security, compilation): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Correctly detect compiler flags on systems where _FORTIFY_SOURCE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      is predefined. Previously, our use of -D_FORTIFY_SOURCE would 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cause a compiler warning, thereby making other checks fail, and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      needlessly disabling compiler-hardening support. Fixes one case of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bug 18841; bugfix on 0.2.3.17-beta. Patch from "trudokal". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Repair hardened builds under the clang compiler. Previously, our 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      use of _FORTIFY_SOURCE would conflict with clang's address 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sanitizer. Fixes bug 14821; bugfix on 0.2.5.4-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major bugfixes (security, pointers): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Avoid a difficult-to-trigger heap corruption attack when extending 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      a smartlist to contain over 16GB of pointers. Fixes bug 18162; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bugfix on 0.1.1.11-alpha, which fixed a related bug incompletely. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Reported by Guido Vranken. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major bugfixes (testing): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a bug that would block 'make test-network-all' on systems where 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      IPv6 packets were lost. Fixes bug 19008; bugfix on 0.2.7.3-rc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Major bugfixes (user interface): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Correctly give a warning in the cases where a relay is specified 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      by nickname, and one such relay is found, but it is not officially 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Named. Fixes bug 19203; bugfix on 0.2.3.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (accounting): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Added two modes to the AccountingRule option: One for limiting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      only the number of bytes sent ("AccountingRule out"), and one for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      limiting only the number of bytes received ("AccountingRule in"). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Closes ticket 15989; patch from "unixninja92". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (bug-resistance): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Make Tor survive errors involving connections without a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      corresponding event object. Previously we'd fail with an 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      assertion; now we produce a log message. Related to bug 16248. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Use tor_snprintf() and tor_vsnprintf() even in external and low- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      level code, to harden against accidental failures to NUL- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      terminate. Part of ticket 17852. Patch from jsturgix. Found 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      with Flawfinder. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (build): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Detect systems with FreeBSD-derived kernels (such as GNU/kFreeBSD) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      as having possible IPFW support. Closes ticket 18448. Patch from 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Steven Chamberlain. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Tor now builds once again with the recent OpenSSL 1.1 development 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      branch (tested against 1.1.0-pre5 and 1.1.0-pre6-dev). We have been 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tracking OpenSSL 1.1 development as it has progressed, and fixing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      numerous compatibility issues as they arose. See tickets 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      17549, 17921, 17984, 19499, and 18286. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When building manual pages, set the timezone to "UTC", so that the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      output is reproducible. Fixes bug 19558; bugfix on 0.2.2.9-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Patch from intrigeri. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (clients): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Make clients, onion services, and bridge relays always use an 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      encrypted begindir connection for directory requests. Resolves 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 18483. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (controller): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add 'GETINFO exit-policy/reject-private/[default,relay]', so 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      controllers can examine the the reject rules added by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ExitPolicyRejectPrivate. This makes it easier for stem to display 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      exit policies. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Adds the FallbackDir entries to 'GETINFO config/defaults'. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tickets 16774 and 17817. Patch by George Tankersley. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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 Minor features (crypto): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add SHA3 and SHAKE support to crypto.c. Closes ticket 17783. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add SHA512 support to crypto.c. Closes ticket 17663; patch from 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      George Tankersley. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Validate the hard-coded Diffie-Hellman parameters and ensure that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      p is a safe prime, and g is a suitable generator. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 18221. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When allocating a digest state object, allocate no more space than 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      we actually need. Previously, we would allocate 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 downloads): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add UseDefaultFallbackDirs, which enables any hard-coded fallback 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      directory mirrors. The default is 1; set it to 0 to disable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      fallbacks. Implements ticket 17576. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Wait for busy authorities and fallback directories to become non- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      busy when bootstrapping. (A similar change was made in 6c443e987d 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for directory caches chosen from the consensus.) Closes ticket 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      17864; patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (geoip): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Update geoip and geoip6 to the July 6 2016 Maxmind GeoLite2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Country database. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (hidden service directory): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Streamline relay-side hsdir handling: when relays consider whether 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      to accept an uploaded hidden service descriptor, they no longer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      check whether they are one of the relays in the network that is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "supposed" to handle that descriptor. Implements ticket 18332. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (IPv6): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add ClientPreferIPv6DirPort, which is set to 0 by default. If set 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      to 1, tor prefers IPv6 directory addresses. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add ClientUseIPv4, which is set to 1 by default. If set to 0, tor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      avoids using IPv4 for client OR and directory connections. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add address policy assume_action support for IPv6 addresses. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add an argument 'ipv6=address:orport' to the DirAuthority and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      FallbackDir torrc options, to specify an IPv6 address for an 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      authority or fallback directory. Add hard-coded ipv6 addresses for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      directory authorities that have them. Closes ticket 17327; patch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      from Nick Mathewson and teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Allow users to configure directory authorities and fallback 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      directory servers with IPv6 addresses and ORPorts. Resolves 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 6027. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Limit IPv6 mask bits to 128. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Make tor_ersatz_socketpair work on IPv6-only systems. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      17638; bugfix on 0.0.2pre8. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Try harder to obey the IP version restrictions "ClientUseIPv4 0", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "ClientUseIPv6 0", "ClientPreferIPv6ORPort", and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "ClientPreferIPv6DirPort". Closes ticket 17840; patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Warn when comparing against an AF_UNSPEC address in a policy, it's 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      almost always a bug. Closes ticket 17863; patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - routerset_parse now accepts IPv6 literal addresses. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      17060; bugfix on 0.2.1.3-alpha. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (Linux seccomp2 sandbox): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Reject attempts to change our Address with "Sandbox 1" enabled. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Changing Address with Sandbox turned on would never actually work, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      but previously it would fail in strange and confusing ways. Found 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      while fixing 18548. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (logging): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When logging to syslog, allow a tag to be added to the syslog 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      identity (the string prepended to every log message). The tag can 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      be configured with SyslogIdentityTag and defaults to none. Setting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      it to "foo" will cause logs to be tagged as "Tor-foo". Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 17194. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  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 (replay cache): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - The replay cache now uses SHA256 instead of SHA1. Implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      feature 8961. Patch by teor, issue reported by rransom. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (robustness): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Exit immediately with an error message if the code attempts to use 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Libevent without having initialized it. This should resolve some 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      frequently-made mistakes in our unit tests. Closes ticket 18241. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (security, clock): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Warn when the system clock appears to move 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, exit policies): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - ExitPolicyRejectPrivate now rejects more private addresses by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default. Specifically, it now 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 features (security, memory erasure): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Make memwipe() do nothing when passed a NULL pointer or buffer of 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Set the unused entries 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. Previously we'd use OpenSSL's OPENSSL_cleanse() function. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      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, RNG): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Adjust Tor's use of OpenSSL's RNG APIs so that they absolutely, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      positively are not allowed to fail. Previously we depended on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      internal details of OpenSSL's 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, we now hash it with the PRNG 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      stream. This may help resist certain attacks based on broken OS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      entropy implementations. Closes part of ticket 17694. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Use modern system calls (like getentropy() or getrandom()) to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      generate strong entropy on platforms that have them. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 13696. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (security, win32): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Set SO_EXCLUSIVEADDRUSE on Win32 to avoid a local port-stealing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      attack. Fixes bug 18123; bugfix on all tor versions. Patch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (unix domain sockets): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add a new per-socket option, RelaxDirModeCheck, to allow creating 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Unix domain sockets without checking the permissions on the parent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      directory. (Tor checks permissions by default because some 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      operating systems only check permissions on the parent directory. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      However, some operating systems do look at permissions on the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      socket, and tor's default check is unneeded.) Closes ticket 18458. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Patch by weasel. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor features (unix file 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 a new DataDirectoryGroupReadable option. If it is set to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      1, the DataDirectory will be made readable by the default GID. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Implements part of ticket 17562. Patch from Jamie Nguyen. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  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 (assert, portability): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix an assertion failure in memarea.c on systems where "long" is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      shorter than the size of a pointer. Fixes bug 18716; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.1.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (bootstrap): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Consistently use the consensus download schedule for authority 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      certificates. Fixes bug 18816; bugfix on 0.2.4.13-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (build): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Avoid spurious failures from configure files related to calling 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      exit(0) in TOR_SEARCH_LIBRARY. Fixes bug 18625; bugfix on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      0.2.0.1-alpha. Patch from "cypherpunks". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Do not link the unit tests against both the testing and non- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      testing versions of the static libraries. Fixes bug 18490; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.7.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Resolve warnings when building on systems that are concerned with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      signed char. Fixes bug 18728; bugfix on 0.2.7.2-alpha 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      and 0.2.6.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Silence spurious clang-scan warnings in the ed25519_donna code by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      explicitly initializing some objects. Fixes bug 18384; bugfix on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      0.2.7.2-alpha. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When libscrypt.h is found, but no libscrypt library can be linked, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      treat libscrypt as absent. Fixes bug 19161; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.6.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Cause the unit tests to compile correctly on mingw64 versions that 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      lack sscanf. Fixes bug 19213; bugfix on 0.2.7.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Don't try to use the pthread_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 0.2.5.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix search for libevent libraries on OpenBSD (and other systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      that 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 0.2.7.3-rc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Mark all object files that include micro-revision.i as depending 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on it, so as to make parallel builds more reliable. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      17826; bugfix on 0.2.5.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Remove config.log only from make distclean, not from make clean. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 17924; bugfix on 0.2.4.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Replace usage of 'INLINE' with 'inline'. Fixes bug 17804; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.0.2pre8. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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 (client, bootstrap): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Count receipt of new microdescriptors as progress towards 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bootstrapping. Previously, with EntryNodes set, Tor might not 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      successfully repopulate the guard set on bootstrapping. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      16825; bugfix on 0.2.3.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (code correctness): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a bad memory handling bug that would occur if we had queued a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cell on a channel's incoming queue. Fortunately, we can't actually 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      queue a cell like that as our code is constructed today, but it's 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      best to avoid this kind of error, even if there isn't any code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      that triggers it today. Fixes bug 18570; bugfix on 0.2.4.4-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Assert that allocated memory held by the reputation code is freed 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      according to its internal counters. Fixes bug 17753; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.1.1.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Assert when the TLS contexts fail to initialize. Fixes bug 17683; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bugfix on 0.0.6. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Update to the latest version of Trunnel, which tries harder to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      avoid generating code that can invoke memcpy(p,NULL,0). Bug found 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      by clang address sanitizer. Fixes bug 18373; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.7.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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 (configuration): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a tiny memory leak when parsing a port configuration ending in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ":auto". Fixes bug 18374; bugfix on 0.2.3.3-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (containers): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - If we somehow attempt to construct a heap with more than 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      1073741822 elements, avoid an integer overflow when maintaining 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      the heap property. Fixes bug 18296; bugfix on 0.1.2.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (controller, microdescriptors): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Make GETINFO dir/status-vote/current/consensus conform to the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      control specification by returning "551 Could not open cached 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      consensus..." when not caching consensuses. Fixes bug 18920; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bugfix on 0.2.2.6-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (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 bugfixes (directories): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When fetching extrainfo documents, compare their SHA256 digests 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      and Ed25519 signing key certificates with the routerinfo that led 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      us to fetch them, rather than with the most recent routerinfo. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Otherwise we generate many spurious warnings about mismatches. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 17150; bugfix on 0.2.7.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When generating a URL for a directory server on an IPv6 address, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      wrap the IPv6 address in square brackets. Fixes bug 18051; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.3.9-alpha. Patch from Malek. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (downloading): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Predict more correctly whether we'll be downloading over HTTP when 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      we determine the maximum length of a URL. This should avoid a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "BUG" warning about the Squid HTTP proxy and its URL limits. Fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bug 19191. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (exit policies, security): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Refresh an exit relay's exit policy when interface addresses 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      change. Previously, tor only refreshed the exit policy when the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      configured external address changed. Fixes bug 18208; bugfix on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      0.2.7.3-rc. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (fallback directories): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Mark fallbacks as "too busy" when they return a 503 response, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      rather than just marking authorities. Fixes bug 17572; bugfix on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      0.2.4.7-alpha. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When requesting extrainfo descriptors from a trusted directory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      server, check whether it is an authority or a fallback directory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      which supports extrainfo descriptors. Fixes bug 18489; bugfix on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      0.2.4.7-alpha. Reported by atagar, patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (hidden service, client): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Handle the case where the user makes several fast consecutive 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      requests to the same .onion address. Previously, the first six 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      requests would each trigger a descriptor fetch, each picking a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      directory (there are 6 overall) and the seventh one would fail 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      because no directories were left, thereby triggering a close on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      all current directory connections asking for the hidden service. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      The solution here is to not close the connections if we have 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pending directory fetches. Fixes bug 15937; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.7.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (hidden service, control port): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add the onion address to the HS_DESC event for the UPLOADED action 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      both on success or failure. It was previously hardcoded with 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      UNKNOWN. Fixes bug 16023; bugfix on 0.2.7.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (hidden service, directory): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Bridges now refuse "rendezvous2" (hidden service descriptor) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      publish attempts. Suggested by ticket 18332. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  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): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Allow more syscalls when running with "Sandbox 1" enabled: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sysinfo, getsockopt(SO_SNDBUF), and setsockopt(SO_SNDBUFFORCE). On 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      some systems, these are required for Tor to start. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      18397; bugfix on 0.2.5.1-alpha. Patch from Daniel Pinto. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Allow IPPROTO_UDP datagram sockets when running with "Sandbox 1", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      so that get_interface_address6_via_udp_socket_hack() can work. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 19660; bugfix on 0.2.5.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Allow the setrlimit syscall, and the prlimit and prlimit64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      syscalls, which some libc implementations use under the hood. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 15221; bugfix on 0.2.5.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Avoid a 10-second delay when starting as a client with "Sandbox 1" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      enabled and no DNS resolvers configured. This should help TAILS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      start up faster. Fixes bug 18548; bugfix on 0.2.5.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a crash when using offline master ed25519 keys with the Linux 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      seccomp2 sandbox enabled. Fixes bug 17675; bugfix on 0.2.7.3-rc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Allow statistics to be written to disk when "Sandbox 1" is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      enabled. Fixes bugs 19556 and 19957; bugfix on 0.2.5.1-alpha and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      0.2.6.1-alpha respectively. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Scrub service name in "unrecognized service ID" log messages. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 18600; bugfix on 0.2.4.11-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When logging information about an unparsable networkstatus vote or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      consensus, do not say "vote" when we mean consensus. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      18368; bugfix on 0.2.0.8-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When we can't generate a signing key because OfflineMasterKey is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      set, do not imply that we should have been able to load it. Fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bug 18133; bugfix on 0.2.7.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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 (memory safety): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Avoid freeing an uninitialized pointer when opening a socket fails 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      in get_interface_addresses_ioctl(). Fixes bug 18454; bugfix on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      0.2.3.11-alpha. Reported by toralf and "cypherpunks", patch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a memory leak in "tor --list-fingerprint". Fixes part of bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      18672; bugfix on 0.2.5.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a memory leak in tor-gencert. Fixes part of bug 18672; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.0.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (pluggable transports): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Avoid reporting a spurious error when we decide that we don't need 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      to terminate a pluggable transport because it has already exited. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 18686; bugfix on 0.2.5.5-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (pointer arithmetic): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a bug in memarea_alloc() that could have resulted in remote 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      heap write access, if Tor had ever passed an unchecked size to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      memarea_alloc(). Fortunately, all the sizes we pass to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      memarea_alloc() are pre-checked to be less than 128 kilobytes. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 19150; bugfix on 0.2.1.1-alpha. Bug found by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Guido Vranken. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (private directory): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Prevent a race condition when creating private directories. Fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      part of bug 17852; bugfix on 0.0.2pre13. Part of ticket 17852. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Patch from jsturgix. Found with Flawfinder. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Resolve some edge cases where we might launch an ORPort 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      reachability check even when DisableNetwork is set. Noticed while 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      fixing bug 18616; bugfix on 0.2.3.9-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (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 bugfixes (security, hidden services): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Prevent hidden services connecting to client-supplied rendezvous 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      addresses that are reserved as internal or multicast. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      8976; bugfix on 0.2.3.21-rc. Patch by dgoulet and teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (statistics): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - We now include consensus downloads via IPv6 in our directory- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      request statistics. Fixes bug 18460; bugfix on 0.2.3.14-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (test networks, IPv6): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Allow internal IPv6 addresses in descriptors in test networks. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 17153; bugfix on 0.2.3.16-alpha. Patch by teor, reported 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      by karsten. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (testing): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Check the full results of SHA256 and SHA512 digests in the unit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      tests. Bugfix on 0.2.2.4-alpha. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a memory leak in the ntor test. Fixes bug 17778; bugfix 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on 0.2.4.8-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix a small memory leak that would occur when the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      TestingEnableCellStatsEvent option was turned on. Fixes bug 18673; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bugfix on 0.2.5.2-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - We no longer disable assertions in the unit tests when coverage is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      enabled. Instead, we require you to say --disable-asserts-in-tests 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      to the configure script if you need assertions disabled in the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      unit tests (for example, if you want to perform branch coverage). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Fixes bug 18242; bugfix on 0.2.7.1-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (time handling): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - When correcting a corrupt 'struct tm' value, fill in the tm_wday 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      field. Otherwise, our unit tests crash on Windows. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      18977; bugfix on 0.2.2.25-alpha. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Avoid overflow in tor_timegm when parsing dates in and after 2038 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      on platforms with 32-bit time_t. Fixes bug 18479; bugfix on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      0.0.2pre14. Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Minor bugfixes (tor-gencert): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Correctly handle the case where an authority operator enters a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      passphrase but sends an EOF before sending a newline. Fixes bug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      17443; bugfix on 0.2.0.20-rc. Found by junglefowl. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Code simplification and refactoring: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Clean up a little duplicated code in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      crypto_expand_key_material_TAP(). Closes ticket 17587; patch 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      from "pfrankw". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Decouple the list of streams waiting to be attached to circuits 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      from the overall connection list. This change makes it possible to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      attach streams quickly while simplifying Tor's callgraph and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      avoiding O(N) scans of the entire connection list. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 17590. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Extract the more complicated parts of circuit_mark_for_close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      into a new function that we run periodically before circuits are 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      freed. This change removes more than half of the functions 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      currently in the "blob". Closes ticket 17218. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Move logging of redundant policy entries in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      policies_parse_exit_policy_internal into its own function. Closes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ticket 17608; patch from "juce". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Quote all the string interpolations in configure.ac -- even those 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      which we are pretty sure can't contain spaces. Closes ticket 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      17744. Patch from zerosion. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Remove code for configuring OpenSSL dynamic locks; OpenSSL doesn't 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      use them. Closes ticket 17926. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Remove specialized code for non-inplace AES_CTR. 99% of our AES is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      inplace, so there's no need to have a separate implementation for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      the non-inplace code. Closes ticket 18258. Patch from Malek. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Simplify return types for some crypto functions that can't 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      actually fail. Patch from Hassan Alsibyani. Closes ticket 18259. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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'. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Change build messages to refer to "Fedora" instead of "Fedora 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Core", and "dnf" instead of "yum". Closes tickets 18459 and 18426. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Patches from "icanhasaccount" and "cypherpunks". 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Document the contents of the 'datadir/keys' subdirectory in the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      manual page. Closes ticket 17621. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Stop recommending use of nicknames to identify relays in our 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      MapAddress documentation. Closes ticket 18312. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Removed features: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Remove client-side support for connecting to Tor relays running 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      versions of Tor before 0.2.3.6-alpha. These relays 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - We no longer maintain an internal freelist in memarea.c. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Allocators should be good enough to make this code unnecessary, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      and it's doubtful that it ever had any performance benefit. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Testing: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Add unit tests to check for common RNG failure modes, such as 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      returning all zeroes, identical values, or incrementing values 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (OpenSSL's rand_predictable feature). Patch by teor. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Fix several warnings from clang's address sanitizer produced in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      the unit tests. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Log more information when the backtrace tests fail. Closes ticket 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      17892. Patch from "cypherpunks." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - More unit tests for compat_libevent.c, procmon.c, tortls.c, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      util_format.c, directory.c, and options_validate.c. Closes tickets 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      17075, 17082, 17084, 17003, and 17076 respectively. Patches from 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      Ola Bini. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Treat backtrace test failures as expected on FreeBSD until we 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      solve bug 17808. Closes ticket 18204. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 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. 
			 |