diff options
author | Roger Dingledine <arma@torproject.org> | 2004-08-15 08:25:48 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2004-08-15 08:25:48 +0000 |
commit | 5be81903987fdc8c493ad01a70389db62e6840e3 (patch) | |
tree | ecafee7468551a19e487512d15f4f0d14e105361 /doc/TODO | |
parent | cd3da3fc12602eb4b4c60ce18f88b1dbb3586d14 (diff) | |
download | tor-5be81903987fdc8c493ad01a70389db62e6840e3.tar tor-5be81903987fdc8c493ad01a70389db62e6840e3.tar.gz |
a todo list for 0.0.8
svn:r2232
Diffstat (limited to 'doc/TODO')
-rw-r--r-- | doc/TODO | 111 |
1 files changed, 87 insertions, 24 deletions
@@ -11,50 +11,95 @@ ARMA - arma claims D Deferred X Abandoned - 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 ? + 0.0.8: +NICK - Why is the first entry of kill -USR1 a router with a 0 key? +NICK - why does common/util.c build-depend on or/or.h ? +NICK? - Tors deal appropriately when a newly-verified router has the + same nickname as another router they know about +NICK? - Add '[...truncated]' or similar to truncated log entries (like the directory + in connection_dir_process_inbuf()). +NICK? - put ip:port:keyhash in intro points, rendezvous points, + and hidserv descriptors. +* implement parsing and stuff, but don't switch over the cells until + sometime in the future. +NICK - unify similar config entries that need to be split. put them + into a smartlist, and have things take a smartlist. + + o 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. + o tor-resolve needs a man page + - "AllowUnverifiedRouters" config option +NICK - Parse it into 3 bits +ARMA - Consider it when picking nodes for your path +ARMA - if there's only one entrynode preference and multiple exit node + choices, don't pick the desired entrynode as exit. + o 'fascistfirewall' option to pick dirservers on port 80 and + ORs on port 443. +NICK - extend it to take a range of ports +ARMA - don't replace options->Address with the resolved one at startup. + keep the old one and also have a new one. +ARMA - detect our address right before we make a routerinfo each time? +ARMA - external IP vs bind-IP +NICK - parse uptime into router->uptime + o clients choose nodes proportional to advertised bandwidth + o and/or while avoiding unreliable nodes, depending on goals + + - figure out what to do when somebody asks to extend to + ip:port:differentkey +* reject it. assuming this is as dumb as it sounds. + - make loglevel info less noisy + - defining an ORPort isn't necessary anymore, if you use + ORAddress:port. Same with DirPort, SocksPort. +* fix is-a-server macro to look at *bindaddress too. + + + + bug fixes, might be handy: + - the directory servers complain a lot about people using the + old key. does 0.0.7 use dirservers before it's pulled down + the directory? - put expiry date on onion-key, so people don't keep trying old ones that they could know are expired? +* Leave on todo list, see if pre3 onion fixes helped enough. - should the running-routers list put unverified routers at the end? +* Cosmetic, don't do it yet. - 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. - - Tors deal appropriately when a newly-verified router has the - same nickname as another router they know about +* not necessary yet. + - Add a notion of nickname->Pubkey binding that's not 'verification' +* eventually, only when needed - ORs use uniquer default nicknames +* Don't worry about this for now - Handle full buffers without totally borking - - Add '[...truncated]' or similar to truncated log entries (like the directory - in connection_dir_process_inbuf()). - - protocol changes and design work: - - put ip:port in intro points, rendezvous points, and hidserv - descriptors. - - figure out what to do when somebody asks to extend to - ip:port:differentkey +* do this eventually, no rush. more features, easy: - check the date in the http headers, compare for clock skew. +* nick should do this - requiredentrynode vs preferredentrynode +* nick can do this, and will figure out what it should be called - per-month byte allowances - - tor-resolve needs a man page - - "AllowUnverifiedRouters" config option - - Parse it into a bitvector - - Consider it when picking nodes for your path +* nick will spec something. - have a pool of circuits available, cannibalize them for your purposes (e.g. rendezvous, etc). +* hold off on that. + - node 'groups' that are known to be in the same zone of control +* nick and roger will talk about it + - do resolve before trying to attach the stream +* don't do this for now. + - if destination IP is running a tor node, extend a circuit there + before sending begin. +* don't do this for now. figure out how enclaves work. but do enclaves soon. 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. +* nick will look into this. not critical priority. - Switch dirservers entries to config lines: - read in and parse each TrustedDir config line. - stop reading dirservers file. @@ -67,15 +112,19 @@ ARMA - arma claims options.TrustedDirs, and make sure there's a descriptor with that nickname, whose key hashes to the fingerprint, and who correctly signed the directory. +* nick will do the above - when fetching a directory, if you want a trusted one, choose from the trusteddir list. - 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. +* roger will do the above - add a listener for a ui +* nick chats with weasel - and a basic gui - Have clients and dirservers preserve reputation info over reboots. +* continue not doing until we have something we need to preserve - 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 @@ -90,11 +139,12 @@ ARMA - arma claims - start counting again if your IP ever changes. - never regenerate identity keys, for now. - you can set a bit for not-being-an-OR. - - clients choose nodes proportional to advertised bandwidth +* no need to do this yet. few people define their ORPort. - authdirserver lists you as running iff: - he can connect to you - he has successfully extended to you - you have sufficient mean-time-between-failures +* keep doing nothing for now. blue sky: - Possible to get autoconf to easily install things into ~/.tor? @@ -103,6 +153,7 @@ ARMA - arma claims . rename/rearrange functions for what file they're in - generalize our transport: add transport.c in preparation for http, airhook, etc transport. +NICK - investigate sctp for alternate transport. For September: NICK . Windows port @@ -117,28 +168,39 @@ NICK . Windows port - installer - Docs - - FAQ + . FAQ o overview of tor. how does it work, what's it do, pros and cons of using it, why should I use it, etc. - a howto tutorial with examples +* put a stub on the wiki o tutorial: how to set up your own tor network - (need to not hardcode dirservers file in config.c) +* this will be solved when we put dirservers in config lines + - port forwarding howto for ipchains, etc +* roger add to wiki of requests . correct, update, polish spec - document the exposed function api? o document what we mean by socks. NICK . packages . rpm +* nick will look at the spec file - find a long-term rpm maintainer +* roger will start guilting people - code - better warn/info messages o let tor do resolves. o extend socks4 to do resolves? o make script to ask tor for resolves + - write howto for setting up tsocks, socat. + - including on osx and win32 + - freecap handling - tsocks o gather patches, submit to maintainer +* send him a reminder mail and see what's up. - intercept gethostbyname and others +* add this to tsocks o do resolve via tor - redesign and thorough code revamp, with particular eye toward: - support half-open tcp connections @@ -152,6 +214,7 @@ Other details and small and hard things: that it is able to rotate through. (maybe) - tie into squid - hidserv offerers shouldn't need to define a SocksPort +* figure out what breaks for this, and do it. - when the client fails to pick an intro point for a hidserv, it should refetch the hidserv desc. . should maybe make clients exit(1) when bad things happen? |