| 
					
				 | 
			
			
				@@ -13,26 +13,32 @@ P       - phobos claims 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         D Deferred 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         X Abandoned 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Temporary notations for moving items around: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++      - Make this a task for the current version 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d       - Move this into "nice to have for the current version" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+D       - Move this into "deferred from current version." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+X2      - This is a duplicate; remove it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Documentation and testing on 0.1.2.x-final series 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-N - Test guard unreachable logic; make sure that we actually attempt to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  o Test guard unreachable logic; make sure that we actually attempt to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     connect to guards that we think are unreachable from time to time. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Make sure that we don't freak out when the network is down. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  . Forward compatibility fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++. Forward compatibility fixes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 N   - Hack up a client that gives out weird/no certificates, so we can 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       test to make sure that this doesn't cause servers to crash. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-NR. Write path-spec.txt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++. Finish path-spec.txt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Docs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++- Docs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Tell people about OSX Uninstaller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Quietly document NT Service options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - More prominently, we should have a recommended apps list. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - recommend gaim. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - unrecommend IE because of ftp:// bug. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-N   - we should add a preamble to tor-design saying it's out of date. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-N   . Document transport and natdport 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - we should add a preamble to tor-design saying it's out of date. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    . Document transport and natdport 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       o In man page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - In a good HOWTO. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -85,16 +91,19 @@ Things we'd like to do in 0.2.0.x: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           For now, just require that authorities not be skewed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Start caching consensus documents once authorities make them 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Start downloading and using consensus documents once caches serve them 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      - Controller support 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - GETINFO to get consensus 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - Event when new consensus arrives 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     . 104: Long and Short Router Descriptors 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Drop bandwidth history from router-descriptors 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - 105: Version negotiation for the Tor protocol 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - 113: Simplifying directory authority administration 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - 110: prevent infinite-length circuits (phase one) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d   - 113: Simplifying directory authority administration 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d   - 110: prevent infinite-length circuits (phase one) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - servers should recognize relay_extend cells and pass them 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         on just like relay cells 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Refactoring: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Make resolves no longer use edge_connection_t unless they are actually 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+D   - Make resolves no longer use edge_connection_t unless they are actually 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       _on_ a socks connection: have edge_connection_t and (say) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dns_request_t both extend an edge_stream_t, and have p_streams and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       n_streams both be linked lists of edge_stream_t. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -103,9 +112,9 @@ Things we'd like to do in 0.2.0.x: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         - Benchmark pool-allocation vs straightforward malloc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         - Adjust memory allocation logic in pools to favor a little less 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           slack memory. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - MAYBE kill stalled circuits rather than stalled connections; consider 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d     - MAYBE kill stalled circuits rather than stalled connections; consider 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         anonymity implications. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Move all status info out of routerinfo into local_routerstatus.  Make 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d   - Move all status info out of routerinfo into local_routerstatus.  Make 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       "who can change what" in local_routerstatus explicit.  Make 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       local_routerstatus (or equivalent) subsume all places to go for "what 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       router is this?" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -122,20 +131,23 @@ Things we'd like to do in 0.2.0.x: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       extra-stable case. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Streamline how we pick entry nodes: Make choose_random_entry() have 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       less magic and less control logic. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Implement TLS shutdown properly when possible. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d   - Implement TLS shutdown properly when possible. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Maybe move NT services into their own module. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     . Autoconf cleanups and improvements: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      . Tell the user what -dev package to install based on OS. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - Detect correct version of libraries. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      o Tell the user what -dev package to install based on OS. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d     - Detect correct version of libraries. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Refactor networkstatus generation: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Include "v" line in getinfo values. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Features: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Traffic priorities 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - Ability to prioritize own traffic over relayed traffic. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      . Ability to prioritize own traffic over relayed traffic. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        (Proposal 111.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        . Implement 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - Merge proposal into the spec. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     . DNS Proxy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Document it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - A better UI for authority ops. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d   - A better UI for authority ops. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Follow weasel's proposal, crossed with mixminion dir config format 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Write a proposal 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     . Bridges users (rudimentary version) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -182,30 +194,34 @@ N     - Design/implement the "local-status" or something like it, from the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - More TLS normalization work: make Tor less easily 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         fingerprinted. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Directory system improvements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        - config option to publish what ports you listen on, beyond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d       - config option to publish what ports you listen on, beyond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           ORPort/DirPort.  It should support ranges and bit prefixes (?) too. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Let controller set router flags for authority to transmit, and for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          (This is very similar to proposal 118.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d   - Let controller set router flags for authority to transmit, and for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       client to use. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Support relaying streams to ipv6. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d   - Support relaying streams to ipv6. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Internal code support for ipv6: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         o Clone ipv6 functions (inet_ntop, inet_pton) where they don't exist. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         - Most address variables need to become sockaddrs. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         - Teach resolving code how to handle ipv6. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         - Teach exit policies about ipv6 (consider ipv4/ipv6 interaction!) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         - ... 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Let servers decide to support BEGIN_DIR but not DirPort. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+x2  - Let servers decide to support BEGIN_DIR but not DirPort. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (duplicate of "Ability to act as a dir cache without a dir port.") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Blocking-resistance. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - It would be potentially helpful to https requests on the OR port by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      - Write a proposal; make this part of 105. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+D   - It would be potentially helpful to https requests on the OR port by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       acting like an HTTPS server. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - add an 'exit-address' line in the descriptor for servers that exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d   - add an 'exit-address' line in the descriptor for servers that exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       from something that isn't their published address. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Audit how much RAM we're using for buffers and cell pools; try to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       trim down a lot. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Accept \n as end of lines in the control protocol in addition to \r\n. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Base relative control socket paths in datadir. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Base relative control socket paths on datadir. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   o Deprecations: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - can we deprecate 'getinfo network-status'? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - can we deprecate the FastFirstHopPK config option? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 P - Packaging: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 P   - Can we switch to polipo? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 P   - If we haven't replaced privoxy, lock down its configuration in all 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -219,12 +235,13 @@ P - Consider creating special Tor-Polipo-Vidalia test packages, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     requested by Dmitri Vitalev 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - add an AuthDirBadexit torrc option if we decide we want one. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Deferred from 0.1.2.x: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Deferred from 0.1.2.x:   (Unmarked items will become "Future version") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - BEGIN_DIR items 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - turn the received socks addr:port into a digest for setting .exit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - handle connect-dir streams that don't have a chosen_exit_name set. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - 'networkstatus arrived' event 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - More work on AvoidDiskWrites? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  X 'networkstatus arrived' event 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (Abandoned for simpler version in v3 protocol) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d - More work on AvoidDiskWrites? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - per-conn write buckets 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - separate config options for read vs write limiting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (It's hard to support read > write, since we need better 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -236,16 +253,17 @@ Deferred from 0.1.2.x: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - RAM use in directory authorities. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Memory use improvements: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Look into pulling serverdescs off buffers as they arrive. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Save and mmap v1 directories, and networkstatus docs; store them 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    X Save and mmap v1 directories, and networkstatus docs; store them 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       zipped, not uncompressed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - Switch cached_router_t to use mmap. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - What to do about reference counts on windows?  (On Unix, this is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (Abandoned in favor of dropping v1 directory support.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      X Switch cached_router_t to use mmap. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      X What to do about reference counts on windows?  (On Unix, this is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         easy: unlink works fine.  (Right?)  On Windows, I have doubts.  Do we 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         need to keep multiple files?) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      - What do we do about the fact that people can't read zlib- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      X What do we do about the fact that people can't read zlib- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         compressed files manually? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - If the client's clock is too far in the past, it will drop (or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d - If the client's clock is too far in the past, it will drop (or 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     just not try to get) descriptors, so it'll never build circuits. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Tolerate clock skew on bridge relays. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -256,14 +274,14 @@ Deferred from 0.1.2.x: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     circuit at every step. If we accept exits only at the last hop, we 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     reintroduce Lasse's attacks from the Oakland paper. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - We should ship with a list of stable dir mirrors -- they're not 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++- We should ship with a list of stable dir mirrors -- they're not 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     trusted like the authorities, but they'll provide more robustness 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     and diversity for bootstrapping clients. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - A way to adjust router flags from the controller. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (How do we prevent the authority from clobbering them soon after?) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Better estimates in the directory of whether servers have good uptime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++- Better estimates in the directory of whether servers have good uptime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (high expected time to failure) or good guard qualities (high 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     fractional uptime). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - AKA Track uptime as %-of-time-up, as well as time-since-last-down 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -281,7 +299,7 @@ Deferred from 0.1.2.x: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - We need a getrlimit equivalent on Windows so we can reserve some 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       file descriptors for saving files, etc. Otherwise we'll trigger 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       asserts when we're out of file descriptors and crash. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-M   - rewrite how libevent does select() on win32 so it's not so very slow. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - rewrite how libevent does select() on win32 so it's not so very slow. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       - Add overlapped IO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Add an option (related to AvoidDiskWrites) to disable directory caching. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -308,13 +326,13 @@ M   - rewrite how libevent does select() on win32 so it's not so very slow. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Minor items for 0.1.2.x as time permits: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - include bandwidth breakdown by conn->type in BW events. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Recommend polipo? Please? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Make documentation realize that location of system configuration file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++- Recommend polipo? Please? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++- Make documentation realize that location of system configuration file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     will depend on location of system defaults, and isn't always /etc/torrc. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Review torrc.sample to make it more discursive. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d - Review torrc.sample to make it more discursive. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - a way to generate the website diagrams from source, so we can 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     translate them as utf-8 text rather than with gimp. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-R - add d64 and fp64 along-side d and fp so people can paste status 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  - add d64 and fp64 along-side d and fp so people can paste status 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     entries into a url. since + is a valid base64 char, only allow one 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     at a time. spec and then do. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - The Debian package now uses --verify-config when (re)starting, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -336,7 +354,7 @@ R - add d64 and fp64 along-side d and fp so people can paste status 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Rate limit exit connections to a given destination -- this helps 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     us play nice with websites when Tor users want to crawl them; it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     also introduces DoS opportunities. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Christian Grothoff's attack of infinite-length circuit. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+x2- Christian Grothoff's attack of infinite-length circuit. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     the solution is to have a separate 'extend-data' cell type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     which is used for the first N data cells, and only 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     extend-data cells can be extend requests. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -393,7 +411,7 @@ Future version: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - servers might check certs for known-good ssl websites, and if they 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     come back self-signed, declare themselves to be non-exits. similar 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     to how we test for broken/evil dns now. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - we try to build 4 test circuits to break them over different 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d - we try to build 4 test circuits to break them over different 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     servers. but sometimes our entry node is the same for multiple 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     test circuits. this defeats the point. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - when we hit a funny error from a dir request (eg 403 forbidden), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -412,13 +430,15 @@ Future version: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - capitalize the first sentence in the doxygen comment, except 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       when you shouldn't. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - avoid spelling errors and incorrect comments. ;) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Should TrackHostExits expire TrackHostExitsExpire seconds after their 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++- Should TrackHostExits expire TrackHostExitsExpire seconds after their 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *last* use, not their *first* use? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   X Configuration format really wants sections. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  . Good RBL substitute. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - Play with the implementations; link them from somewhere; add a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++. Good RBL substitute. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    o Play with the implementations; link them from somewhere; add a 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       round-robin link from torel.torproject.org; describe how to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       use them in the FAQ. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    o Torel is now implemented. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Publicize torel.  (What else? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Authorities should try using exits for http to connect to some URLS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     (specified in a configuration file, so as not to make the List Of Things 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Not To Censor completely obvious) and ask them for results.  Exits that 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -440,7 +460,7 @@ Future version: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     to reduce remote sniping attacks. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Have new people be in limbo and need to demonstrate usefulness 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     before we approve them. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Clients should estimate their skew as median of skew from servers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d - Clients should estimate their skew as median of skew from servers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     over last N seconds. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Make router_is_general_exit() a bit smarter once we're sure what it's for. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Audit everything to make sure rend and intro points are just as likely to 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -450,7 +470,9 @@ Future version: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Automatically determine what ports are reachable and start using 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     those, if circuits aren't working and it's a pattern we recognize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ("port 443 worked once and port 9001 keeps not working"). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Limit to 2 dir, 2 OR, N SOCKS connections per IP. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+++- Limit to 2 dir, 2 OR, N SOCKS connections per IP. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Or maybe close connections from same IP when we get a lot from one. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Or maybe block IPs that connect too many times at once. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Handle full buffers without totally borking 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Rate-limit OR and directory connections overall and per-IP and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     maybe per subnet. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -460,17 +482,20 @@ Future version: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Specify? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - hidserv offerers shouldn't need to define a SocksPort 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * figure out what breaks for this, and do it. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - tor should be able to have a pool of outgoing IP addresses 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d - tor should be able to have a pool of outgoing IP addresses 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     that it is able to rotate through. (maybe) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - Specify; implement. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - Probably this is part of proposal 118's stuff. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - let each hidden service (or other thing) specify its own 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     OutboundBindAddress? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 Blue-sky: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Patch privoxy and socks protocol to pass strings to the browser. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Standby/hotswap/redundant hidden services. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - Robust decentralized storage for hidden service descriptors. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  - The "China problem" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+d . Robust decentralized storage for hidden service descriptors. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (Karsten is working on this.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+x2. The "China problem" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (This is bridges.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Allow small cells and large cells on the same network? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   - Cell buffering and resending. This will allow us to handle broken 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     circuits as long as the endpoints don't break, plus will allow 
			 |