[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[minion-cvs] Update TODO plans for 0.1.0; bump version to 0.0.6rc2; ...



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

Modified Files:
	HACKING README TODO setup.py 
Log Message:
Update TODO plans for 0.1.0; bump version to 0.0.6rc2; fix benchmark code

Index: HACKING
===================================================================
RCS file: /home/minion/cvsroot/src/minion/HACKING,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- HACKING	31 Aug 2003 19:22:21 -0000	1.22
+++ HACKING	12 Dec 2003 22:37:12 -0000	1.23
@@ -23,25 +23,6 @@
 THINGS TO HACK:  (Good introductory projects that I won't get to myself for
   at least a version or two.)
 
-- Last time I checked, the client and server could run okay on Cygwin.  More
-  people should try it out, and see what needs to be done.
-
-- We need a native (non-Cygwin) windows port!  (Right now, I can make the
-  client work, but the server needs to be tested, and we need an installer.)
-  Most of the code is in Python, and what C we have builds fine.  Some known
-  issues in the source are marked with comments labeled WWWW.  Other areas of
-  potential difficulty are:
-      - Binaries and installer.  (We should provide two versions: one that
-        comes with a Python interpreter, and one that doesn't. They should
-        both be easy to generate.)
-      - The signal code may not be correct; Windows signals may work
-        differently in subtle ways.  [This is mostly a server issue, but the
-        client code uses SIGALRM to timeout dead connections.]
-      - The 'daemonize' code in ServerMain.py is almost certainly not
-        right on windows.
-      - There will be other, as-yet-unexpected issues. :)
-  (Difficulty: moderate.  Invasiveness: moderate)
-
 - We need some distributed stress-test code.  Ideally, it should use SSH to
   build Mixminion on a number of machines and start servers on those
   machines, then run a bunch of clients to send messages through the system.

Index: README
===================================================================
RCS file: /home/minion/cvsroot/src/minion/README,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -d -r1.64 -r1.65
--- README	8 Dec 2003 06:45:28 -0000	1.64
+++ README	12 Dec 2003 22:37:12 -0000	1.65
@@ -1,6 +1,6 @@
 $Id$
 ======================================================================
-This is Mixminion version 0.0.6rc1, from the Mixminion CVS repository.
+This is Mixminion version 0.0.6rc2, from the Mixminion CVS repository.
 
 CONTENTS:
         I.    Overview
@@ -38,6 +38,15 @@
 II. WHAT'S NEW IN THIS VERSION?
 ===============================
 
+NEW IN VERSION 0.0.6rc2:
+   - Fixed a couple of bugs that would prevent Mixminion from running on
+     Python 2.0 or Python 2.1.
+
+   - Fixed a build problem with stand-alone Windows builds: the 'bsddb'
+     module was not included, so we were defaulting to the slow and
+     inefficient 'dumbdbm' module to store hash logs, SURB logs, and fragment
+     indexes.
+
 NEW IN VERSION 0.0.6rc1:
    - Windows support
        - The Mixminion command-line interface now works on MS Windows, at
@@ -154,9 +163,9 @@
 
 The quick version: For Unix-clones, Mac OS X, or Windows with Cygwin
 ---------------------------------------------------------------------
-  <download and unpack http://www.mixminion.net/dist/Mixminion-0.0.6rc1.tar.gz>
+  <download and unpack http://www.mixminion.net/dist/Mixminion-0.0.6rc2.tar.gz>
 
-  % cd Mixminion-0.0.6rc1
+  % cd Mixminion-0.0.6rc2
   % make download-openssl
   % make build-openssl
   % make
@@ -223,7 +232,7 @@
 
    First, make sure that you're running Win98 or later.
 
-   Download 'mixminion-v006rc1-win32.zip", and unpack it anywhere you like.
+   Download 'mixminion-v0.0.6rc2-win32.zip", and unpack it anywhere you like.
    It will create a directory named 'mixminion'.
 
    Use mixminion.exe from that directory as your command-line client.
@@ -240,7 +249,7 @@
    First, make sure that you have the latest official release of Python 2.3
    installed.  As of 5 Dec 2003, this is 2.3.2.
 
-   Download and run "mixminion-v0.0.6rc1.win32-py2.3.exe".  It will unpack
+   Download and run "mixminion-v0.0.6rc2.win32-py2.3.exe".  It will unpack
    its files into your Python directory.
 
    The script to invoke Mixminion will be stored in the 'Scripts'

Index: TODO
===================================================================
RCS file: /home/minion/cvsroot/src/minion/TODO,v
retrieving revision 1.173
retrieving revision 1.174
diff -u -d -r1.173 -r1.174
--- TODO	8 Dec 2003 04:55:43 -0000	1.173
+++ TODO	12 Dec 2003 22:37:12 -0000	1.174
@@ -158,24 +158,22 @@
                 D Tests for ServerInbox and Directory.py
                 D Tests for checkConsistency
                 o What happens when Overlap > Lifetime? (Test manually.)
-        . Cleanup for release
+        o Cleanup for release
                 o Resolve all XXXX006 and DOCDOC items
                 o Resolve all pending bugzilla bugs
                 o Resolve all pending mail bugs
                 o Make README accurate again
-                - Document new 'server-start' switches
+                o Document new 'server-start' switches
 
-For 0.0.7: [Incomplete list: right now, mostly contains 0.0.6 stuff.]
+For 0.0.7:
         - Specification
                 - Clear up specification for payload versions.
                 - Clear up specification for NEWS
-                - Clear up specification for multiple addrs on MAIL
-                - Implement changes as needed, depending on migration
-                  plans.
-                - Add versioning to payload format? (Migration code as
-                  needed.)
+                o Clear up specification for multiple addrs on MAIL
         - Infrastructure -- high level
                 - Servers need to download and use directories
+                - Servers should use downloaded directories to print useful
+                  nicknames for other servers rather than just IP addresses.
                 - Have callers of Packet/BuildMessage/DeliveryPacket
                   decide whether to look for a tag in the RI field.
                 - Make processing thread and module thread general
@@ -183,10 +181,6 @@
         - UI improvements
                 - RFC822 interface and maildir-style exit module to help
                   integrators.
-        - MMTP
-                - Make MMTP bursty
-                - There's no need to ever store MMTP keys to disk; we should
-                  also rotate them more often.
         - Large reply messages and efwd messages
                 - Fragment-pool logic for client
         - Manual pages
@@ -201,30 +195,17 @@
                 - Maybe add a page for Mixminion integration.
 
 Require for "0.1.0" (the in-theory-as-good-as-type-II release):
-[Release criteria: Workable replacement for type II.  At least as
-anonymous, usable, secure, and portable.  Nymservers aren't in, so
-not yet ready to replace type I.]
-
+  [Release criteria: Workable replacement for type II.  At least as
+  anonymous, usable, secure, and portable.  Other than lack of nymservers,
+  also ready to replace type I.  Interfaces are stable enough that
+  integrators can start building GUIs and nymservers without expecting large
+  incompatible changes.  Target: first half of 2004.  (No guarantees!)]
         - Dummies and pinging
-        - Key management
-                - Document "DELKEYS"
-                - Password-protected private identity keys
-                - Password-protected private link/packet keys
-                - Password-protected dirserver keys
         - Security
-                - Add ability to mark nodes as having same
-                  administrative domain.
-                - Change pathgen to avoid two nodes with same domain
-                  in a row.
-                - Change pathgen to avoid using same node for entry
-                  and exit?
-                - Add jurisdictions to pathgen?
                 - Make createPrivateDirs gripe about group-writable parent
                   dirs
         - Modules and module support
-                - Use STARTTLS as available
-                - Move boilerplate into outside files.  Add some generic
-                  'Boilerplate' functionality.
+                - Use STARTTLS as available, it it's not too hard.
                 - Real SMTP module
                         - Support multiple exit addresses. (cc, bcc, etc.)
                           Needs to be bandwidth-limited.
@@ -235,15 +216,12 @@
                   downloading directories.
                 - Make client-side pooling configurable and more
                   sophisticated.
-                - Reload configuration on SIGHUP
-                - Support for one-side-only MMTP configurations.
                 . Freak out properly on missing/unpublishable IP.
                 . Full validation function for client
                 . Full validation function for server
                 - Support for non-clique topologies (cliques with a few
                   missing links would be sufficient.)
         - Client support
-                - Support for sending multiple copies of a packet?
                 - Automatically remove old messages from client queue. (Add
                   'warn after' and 'delete after' configuration options'.)
                 - Flush messages to a single mix, or set of mixes.
@@ -264,20 +242,7 @@
                         o flock
                         - Installing to relative path
                 . An init.d script.
-        - Testing
-                - Test on other (non-redhat, non-linux) systems
-                - COME UP WITH A REAL TESTING STRATEGY FOR PERFORMANCE AND
-                  CLI'S AND MULTI-SERVER SITUATIONS.
-                - Integration tests
-                        - Automated tests for several servers running
-                          on one machine.
-                        - Tests for servers on several different
-                          machines.
-                - Repeatable CLI tests.
-                        - For client
-                        - For server
-        - Support for multiple directories, no automated agreement. [But do
-          automated agreement if it's specified!]
+        - Support for multiple directories, with automated agreement.
                 - Configurable dirserver fingerprints and URLs.
         - Full documentation
                 - Complete docs for all code, with comments and examples.
@@ -309,9 +274,26 @@
 Other features for "1.0" (no research required):
         - Full statistics
                 - Full statistics (ask Len what the list is.)
+        - Security
+                - Add ability to mark nodes as having same
+                  administrative domain.
+                - Change pathgen to avoid two nodes with same domain
+                  in a row.
+                - Change pathgen to avoid using same node for entry
+                  and exit?
+                - Add jurisdictions to pathgen?
+        - Key management
+                - Document "server-DELKEYS"
+                - Password-protected private identity keys
+                - Password-protected private link/packet keys
+                - Password-protected dirserver keys
+                - There's no need to ever store MMTP keys to disk; we should
+                  also rotate them more often.  (Only if identity key is
+                  unencrytped.)
         - Better CLIs
                 - Add a --status-fd option similar to GPG's so that
                   we can be more easily embedded.
+                - Support for sending multiple copies of a packet?
         - ClientAPI correctness
                 - Port ClientAPI from C API document.
                 - Move other functionality into ClientSupport module.
@@ -325,26 +307,26 @@
         o Refactoring/cleanup
                 o Put 'address' someplace more reasonable.
         - Configurability
-                - Put pid and lock and key and queues in different
+                o 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.
+                - Support for one-side-only MMTP configurations.
                 X Make zlib bomb prevention configurable.
                 - Separate error/other log files.
+                - Move boilerplate into outside files.  Add some generic
+                  'Boilerplate' functionality.
                 - Make SURB logging configurable.
                 - Add 'ALLOW' lines to blacklist.
         - Client support
                 - Some way to read a reply block *and* a message from
                 stdin?
-        - Directory support
-                - Servers should download directories
-                - Servers should use downloaded directories to print useful
-                  nicknames for other servers rather than just IP addresses.
         - Port to Twisted, if reasonable (see HACKING)
         - Send/receive large messages without having to suck them all
           into RAM at once.
                 - Fragment and unfragment large messages on disk.
         - MMTP / async
+               - Make MMTP bursty, at least on client side.
                - Tests for all cases:
                         - Packet to server with bogus IP
                         - Junk
@@ -353,6 +335,18 @@
                         - Bad senders
                         - Bad recipients
                         - Hunt down leaks
+        - Testing
+                - Test on other (non-redhat, non-linux) systems
+                - COME UP WITH A REAL TESTING STRATEGY FOR PERFORMANCE AND
+                  CLI'S AND MULTI-SERVER SITUATIONS.
+                - Integration tests
+                        - Automated tests for several servers running
+                          on one machine.
+                        - Tests for servers on several different
+                          machines.
+                - Repeatable CLI tests.
+                        - For client
+                        - For server
 
 Features for "1.0" (some research/specification required):
         - Nymservers
@@ -388,7 +382,6 @@
         - Notice active attacks and block IPs dynamically.
         - Abuse prevention of some undetermined kind.
 
-
 WHEN WE GET THE CHANCE:
         [This stuff could be for any version 1.0 or later; it's not a
          requirement for 1.0.]

Index: setup.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/setup.py,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -d -r1.85 -r1.86
--- setup.py	8 Dec 2003 16:18:11 -0000	1.85
+++ setup.py	12 Dec 2003 22:37:12 -0000	1.86
@@ -6,9 +6,9 @@
 #
 #   Current Mixminion version
 #
-VERSION = '0.0.6rc1'
+VERSION = '0.0.6rc2'
 # System: 0==alpha, 50==beta, 98=pre, 99==release candidate, 100==release
-VERSION_INFO = (0,0,6,99,1)
+VERSION_INFO = (0,0,6,99,2)
 
 # Check the version.  We need to make sure version_info exists before we
 # compare to it: it was only added as of Python version 1.6.