[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[minion-cvs] Rearrange sections; reflect state of work



Update of /home/minion/cvsroot/src/minion
In directory moria.mit.edu:/tmp/cvs-serv19809

Modified Files:
	TODO 
Log Message:
Rearrange sections; reflect state of work

Index: TODO
===================================================================
RCS file: /home/minion/cvsroot/src/minion/TODO,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -d -r1.67 -r1.68
--- TODO	17 Jan 2003 06:18:05 -0000	1.67
+++ TODO	4 Feb 2003 02:01:23 -0000	1.68
@@ -14,27 +14,7 @@
 
 For 0.0.3:
         o Write a list of good introductory projects
-        - Client
-                - Add "don't use me for anonymity" boilerplate.
-                - Client support for reply blocks.
-                        - Recheck spec on external reply block format
-                        - Implement and test external reply block format
-                        - Generate a reply block
-                        - Send message to reply block
-                        - Remember used reply blocks??
-                        - Read message from reply block
-                        - Examine reply block
-                - Read Base64-encoded messages and zbomb messages.
-                o Faster (adjustable?) timeout on client connect
-                  failure.
-                        o Implement client timeout (sigalrm?)
-                        o Add configuration options and reasonable default.
-                        o Unit tests
-                - Client-side pooling.
-                - Make client code multiprocess-safe: locking on
-                  cache (if needed!); locking on pool.
-                        - Move lock functionality into Common.
-        . Multithreaded server for better network behavior (no 10ms
+        o Multithreaded server for better network behavior (no 10ms
           hiccups when receiving; no pauses to shred files or deliver
           messages.)
                 o Make all C functions use Py_BEGIN_ALLOW_THREADS and
@@ -55,7 +35,7 @@
                 o Make delivery happen in a separate thread.
                 o Make packet processing happen in a separate thread. 
                 o Move message decoding into packet handler thread.
-                - Document
+                o Document
                 o Refactor until sane -- possibly along with
                   DeliveryQueue refactoring.
                 	o Refactor
@@ -70,20 +50,15 @@
                   down explicitly so they can't die halfway.
                 o Processing thread should be thunk-based so it can
                   do more than handle packets.
-                . Test like crazy
-        . Signals
+        o Signals
                 o Cleaner shutdown on TERM.
                         o Implement
                         o Test
-                . Good reset handling for HUP.
+                o Good reset handling for HUP.
 			o Don't die
                         o Reset logs
-                        - Check configuration file for changeable
-                          things.  (First, decide what's changeable on
-                          the fly.)
         X Support maybe (for the alpha cycle only!) to get the mixminion
           version remotely ????
-        . Directories include an "allowable version" section.
         o Saner retry logic: right now we retry once at each of the 10
           next Mix intervals, regardless of interval length.  (Have a 
           separate retry timer that gets rounded to the nearest mix
@@ -99,37 +74,7 @@
                 o Validation code for retry intervals.
                 o Test for validation code
                 o Test for module configuration
-        - Statistics of some kind (with a server: count messages
-          received, errors, etc.)
         o Tests for stdout/stderr replacement
-        - Separate error/other log files. ????
-        . UI
-                - Good user error reporting strategy.
-                - Better error message when path+routinginfo won't fit 
-                  into header.
-                - Better concept of too-short paths.
-                - Beautify list-servers output.
-                o Make path parsing accept space around the commas and colon.
-                o Make paths print more cleanly.
-                o Better command breakdown for pulling directories.
-        - Key management:
-                . Ability to generate new serverdesc with old keys.
-                - Ability to notice discrepancies between SD and
-                  server configuration.
-                - Consider linewrap protection on server descriptors, 
-                  if demand warrants.
-        - Build/install:
-                . Uninstall support?
-                o Perhaps 'make install' should nuke dead files. (Queue.py)
-                - Support people who _do_ have OpenSSL 0.9.7 installed.
-        - Security:
-        	- Password-protect dirserver keys
-                - Code to generate dummy packets. ????
-        - Configurability
-                - Put pid and lock and key and queues in different
-                  places; coalesce pid and lock.
-                - Make all filenames in server config relative to
-                  server home, if not absolute.
         o MMTP
                 o Code to send junk (connection padding)
                         o Implement for client
@@ -154,12 +99,69 @@
                   be random, and there should be no tag.
                         o Implement
                         o Test
-        - SMTP
-                - Add an extra "this is anonymous" header.
+        . Client
+                o Faster (adjustable?) timeout on client connect
+                  failure.
+                        o Implement client timeout (sigalrm?)
+                        o Add configuration options and reasonable default.
+                        o Unit tests
+                . Add "don't use me for anonymity" boilerplate.
+                . Client support for reply blocks.
+                        o Recheck spec on external reply block format
+                        o Implement external reply block format
+                        o Test external reply block format
+                        . Generate a reply block
+                        - Send message to reply block
+                        - Remember used reply blocks??
+                        - Read message from reply block
+                        - Examine reply block
+                . Read Base64-encoded messages and zbomb messages.
+                        o Implement backend
+                        - Test backend
+                        - Implement frontend
+                        - Refactor until clean
+                - Client-side pooling.
+                - Make client code multiprocess-safe: locking on
+                  cache (if needed!); locking on pool.
+                        - Move lock functionality into Common.
+        . Directories include an "allowable version" section.
+        . UI
+                o Make path parsing accept space around the commas and colon.
+                o Make paths print more cleanly.
+                o Better command breakdown for pulling directories.
+                - Good user error reporting strategy.
+                - Better error message when path+routinginfo won't fit 
+                  into header.
+                - Better concept of too-short paths.
+                - Beautify list-servers output.
+        . Build/install:
+                o Uninstall support? (Right now, we take a cowardly
+                  approach that may be good enough.)
+                o Perhaps 'make install' should nuke dead files. (Queue.py)
+                - Support people who _do_ have OpenSSL 0.9.7 installed.
         . Make ServerInfo more forward-compatible.
                 - Skip sections completely if the version number isn't
                   recognized.
                 o Support unrecognized keys
+        - Statistics of some kind (with a server: count messages
+          received, errors, etc.)
+        - Separate error/other log files. ????
+        - Key management:
+                . Ability to generate new serverdesc with old keys.
+                - Ability to notice discrepancies between SD and
+                  server configuration.
+                - Consider linewrap protection on server descriptors, 
+                  if demand warrants.  (None yet.)
+        - Security:
+        	- Password-protect dirserver keys
+                - Code to generate dummy packets. ????
+        - Configurability
+                - Put pid and lock and key and queues in different
+                  places; coalesce pid and lock.
+                - Make all filenames in server config relative to
+                  server home, if not absolute.
+        - SMTP
+                - Add an extra "this is anonymous" header.
         - COME UP WITH A REAL TESTING STRATEGY FOR PERFORMANCE AND
            CLI'S AND MULTI-SERVER SITUATIONS.
         - Tests for packet addressed to server with bogus IP.
@@ -171,7 +173,6 @@
                 - Add fields to serverinfo, server directory.
                 - Make client check 'Recommended-Software' against
                   current version.
-                
         - ????
 
 Required for "1.0":
@@ -221,6 +222,7 @@
         - Configurability
                 - Better, documented support for http proxies for
                   downloading directories.
+                - Reload configuration on SIGHUP
                 - Support for one-side-only MMTP configurations.
                 - Add 'ALLOW' lines to blacklist.
                 . Freak out properly on missing/unpublishable IP.
@@ -262,7 +264,8 @@
                         - Bad recipients
                         - Hunt down leaks
         - Build and install process
-                . Well-tested 'make install'
+                o Well-tested 'make install'
+                - A well-tested 'make uninstall'
                 - RPMS, debs, and so on
                 . Make sure we run on solaris and *BSD.
                 - "Somebody" should do a Windows port of the client code