[or-cvs] reorganize todo to be a bit clearer about what"s not done
arma at seul.org
Mon Aug 9 09:38:20 UTC 2004
Update of /home/or/cvsroot/doc
In directory moria.mit.edu:/home2/arma/work/onion/cvs/doc
reorganize todo to be a bit clearer about what's not done
RCS file: /home/or/cvsroot/doc/TODO,v
retrieving revision 1.145
retrieving revision 1.146
diff -u -d -r1.145 -r1.146
--- TODO 9 Aug 2004 07:41:25 -0000 1.145
+++ TODO 9 Aug 2004 09:38:18 -0000 1.146
@@ -11,39 +11,11 @@
- - Slightly smarter bandwidth management: use link capacity
- - Handle full buffers without totally borking
- milestone 2:
. refer to things by key:
- o extend cells need ip:port:identitykeyhash.
- o Lookup routers and connections by key digest; accept hex
- key digest in place of nicknames.
- o Audit all uses of lookup-by-hostname and lookup-by-addr-port
- to search by digest when appropriate.
- o make sure to use addr/port in cpuworker tasks, because
- OPs don't have keys.
- o and fix the function comments in rephist
- o Rep-hist functions need to store info by keyid
- also use this in intro points and rendezvous points, and
hidserv descs. [XXXX This isn't enough.]
- figure out what to do about ip:port:differentkey
- o ORs connect on demand. attach circuits to new connections, keep
- create cells around somewhere, send destroy if fail.
- o nickname defaults to first piece of hostname
- o running-routers list refers to nickname if verified, else
- o Mark routers as verified or unverified based on whether
- running-routers list includes nickname or id hash.
- o put OR uptime in descriptor
- o name the secret-key directory something to discourage people
- from mailing their identity key to tor-ops
- milestone 3:
- users can set their bandwidth, or we auto-detect it:
- advertised bandwidth defaults to 10KB
o advertised bandwidth is the min of max seen in each direction
@@ -63,50 +35,54 @@
- Have clients and dirservers preserve reputation info over
- clients choose nodes proportional to advertised bandwidth
- o authdirserver includes descriptor.
- and lists as running iff:
- he can connect to you
- he has successfully extended to you
- you have sufficient mean-time-between-failures
- - Don't accept ORs with nicknames same as verified ORs' nicknames.
- - add new "Middleman 1" config variable?
- o if torrc not found, exitpolicy reject *:*
- o change if(options.ORPort) to what we really mean.
- o same with socksport.
- o get contrib/tor_resolve into the tarball and installed
- o and working
- post pre1:
- - Possible to get autoconf to easily install things into ~/.tor?
- o when we sigint tor, the dns/cpuworkers don't intercept sigint?
- - "AcceptOnlyVerifiedRouters" config option?
+ - faq and doc-wiki
+ - knoppix distro
+ - win32 installer using privoxy's installer
+ bug fixes, necessary:
+ - Why is the first entry of kill -USR1 a router with a 0 key?
- why does common/util.c build-depend on or/or.h ?
- - ORs use uniquer default nicknames
- - Tors deal appropriately when a newly-verified router has the
- same nickname as another router they know about
- X 007 can't extend to unverified 008. they will never be able to.
+ bug fixes, might be handy:
+ - put expiry date on onion-key, so people don't keep trying
+ old ones that they could know are expired?
+ - should the running-routers list put unverified routers at the
+ - make advertised_server_mode() ORs fetch dirs more often.
- if a begin failed due to exit policy, but we believe the IP
should have been allowed, switch that router to exitpolicy
reject *:* until we get our next directory.
- - make advertised_server_mode() ORs fetch dirs more often.
- - should the running-routers list put unverified routers at the
- - tor-resolve needs a man page
- o tor-resolve should make use of cached answers?
- - defining an ORPort isn't necessary anymore, if you use
- ORAddress:port. Same with DirPort, SocksPort.
+ - Tors deal appropriately when a newly-verified router has the
+ same nickname as another router they know about
+ - ORs use uniquer default nicknames
+ - Handle full buffers without totally borking
+ - Add '[...truncated]' or similar to truncated log entries (like the directory
+ in connection_dir_process_inbuf()).
+ more features, easy:
+ - check the date in the http headers, compare for clock skew.
- requiredentrynode vs preferredentrynode
- per-month byte allowances
- o if using not-socks4a then warn, once.
- o if unverified server then warn, once.
- - add a listener for a ui
- - and a basic gui
- - faq and doc-wiki
- - knoppix distro
- - win32 installer using privoxy's installer
+ - tor-resolve needs a man page
+ - "AllowUnverifiedRouters" config option
+ - Parse it into a bitvector
+ - Consider it when picking nodes for your path
+ - have a pool of circuits available, cannibalize them
+ for your purposes (e.g. rendezvous, etc).
- o win32 problems with pre1
- o asn.1 issues?
+ more features, complex:
+ - defining an ORPort isn't necessary anymore, if you use
+ ORAddress:port. Same with DirPort, SocksPort.
+ - compress the directory. client sends http header
+ "accept-transfer-encoding: gzip", server might send http header
+ "transfer-encoding: gzip". ta-da.
+ - grow a zlib dependency. keep a cached compressed directory.
- Switch dirservers entries to config lines:
- read in and parse each TrustedDir config line.
- stop reading dirservers file.
@@ -124,17 +100,11 @@
- which means keeping track of which ones are "up"
- if you don't need a trusted one, choose from the routerinfo
list if you have one, else from the trusteddir list.
- - compress the directory. client sends http header
- "accept-transfer-encoding: gzip", server might send http header
- "transfer-encoding: gzip". ta-da.
- - grow a zlib dependency. keep a cached compressed directory.
- - Why is the first entry of kill -USR1 a router with a 0 key?
- o don't warn about being unverified if you're not in the
- running-routers list at all.
- - put expiry date on onion-key, so people don't keep trying
- old ones that they could know are expired?
- - check the date in the http headers, compare for clock skew.
+ - add a listener for a ui
+ - and a basic gui
+ blue sky:
+ - Possible to get autoconf to easily install things into ~/.tor?
. rename/rearrange functions for what file they're in
@@ -162,7 +132,7 @@
- (need to not hardcode dirservers file in config.c)
. correct, update, polish spec
- document the exposed function api?
- - document what we mean by socks.
+ o document what we mean by socks.
NICK . packages
@@ -174,8 +144,9 @@
o extend socks4 to do resolves?
o make script to ask tor for resolves
- - gather patches, submit to maintainer
- - intercept gethostbyname and others, do resolve via tor
+ o gather patches, submit to maintainer
+ - intercept gethostbyname and others
+ o do resolve via tor
- redesign and thorough code revamp, with particular eye toward:
- support half-open tcp connections
- conn key rotation
@@ -187,8 +158,6 @@
- tor should be able to have a pool of outgoing IP addresses
that it is able to rotate through. (maybe)
- tie into squid
- - buffer size pool, to let a few buffers grow huge or many buffers
- grow a bit
- hidserv offerers shouldn't need to define a SocksPort
- when the client fails to pick an intro point for a hidserv,
it should refetch the hidserv desc.
@@ -196,8 +165,6 @@
e.g. clock skew.
- should retry exitpolicy end streams even if the end cell didn't
resolve the address for you
- - Add '[...truncated]' or similar to truncated log entries (like the directory
- in connection_dir_process_inbuf()).
. Make logs handle it better when writing to them fails.
o Dirserver shouldn't put you in running-routers list if you haven't
uploaded a descriptor recently
@@ -207,7 +174,6 @@
. Scrubbing proxies
- Find an smtp proxy?
. Get socks4a support into Mozilla
- - Extend by hostname, not by IP.
- Need a relay teardown cell, separate from one-way ends.
- Make it harder to circumvent bandwidth caps: look at number of bytes
sent across sockets, not number sent inside TLS stream.
More information about the tor-commits