[or-cvs] a todo list for 0.0.8

Roger Dingledine arma at seul.org
Sun Aug 15 08:25:51 UTC 2004


Update of /home2/or/cvsroot/doc
In directory moria.mit.edu:/tmp/cvs-serv29738

Modified Files:
	TODO 
Log Message:
a todo list for 0.0.8


Index: TODO
===================================================================
RCS file: /home2/or/cvsroot/doc/TODO,v
retrieving revision 1.147
retrieving revision 1.148
diff -u -d -r1.147 -r1.148
--- TODO	10 Aug 2004 00:20:44 -0000	1.147
+++ TODO	15 Aug 2004 08:25:48 -0000	1.148
@@ -11,50 +11,95 @@
         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 @@
             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 @@
           - 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 @@
         . 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 @@
           - 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 @@
           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?



More information about the tor-commits mailing list