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

[minion-cvs] Update documentation for upcoming release



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

Modified Files:
	HACKING README TODO 
Log Message:
Update documentation for upcoming release

Index: HACKING
===================================================================
RCS file: /home/minion/cvsroot/src/minion/HACKING,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- HACKING	28 Jul 2003 00:53:55 -0000	1.21
+++ HACKING	31 Aug 2003 19:22:21 -0000	1.22
@@ -13,11 +13,9 @@
 
 - We need documentation.
 
-- We need a man page.
+- We need a better man page.
 
 - See the spec for open issues.
-
-- We need a better web page.
 
 - We need a logo.  (An alien with an eggbeater or an alien at a DJ's mixer
   are two ideas.)

Index: README
===================================================================
RCS file: /home/minion/cvsroot/src/minion/README,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -d -r1.54 -r1.55
--- README	28 Aug 2003 08:55:54 -0000	1.54
+++ README	31 Aug 2003 19:22:21 -0000	1.55
@@ -38,82 +38,84 @@
 II. WHAT'S NEW IN THIS VERSION?
 ===============================
 
+NEW IN VERSION 0.0.5rc1: <INCOMPLETE>
+   - Support for email headers.  'Subject', 'In-Reply-To', and 'References'
+     are fully supported.  'From' support is limited, as documented in
+     'E2E-spec.txt'.
+
+   - Limited support for K-of-N message fragmentation and reassembly.  Right
+     now, clients can send large fragmented messages for servers to
+     reassemble them.  Not yet supported are independent paths, fragmented
+     reply messages, and client-side fragment reassembly.
+
+   - UI improvements
+      - Path generation can now create random-length paths
+      - Support for removing old messages from client queues.
+      - 'Mixminion shell' command to wrap other commands on platforms with
+        iffy terminals or shells.  Poor substitute for a real GUI.
+
+   - Improved portability
+      - All client and server functionality works properly on Cygwin.
+      - Everything should work on win32 too.  (But it won't be supported till
+        I can get Py2Exe working.)
+      - The build system should work on more unixes.
+
+   - Improved configurability
+      - Support for suppressing directory permission messages.
+
+   - Improved performance
+      - Server RAM usage should be way down, except while reassembling large
+        messages.
+
+   - Improved testability
+      - Server descriptors now describe the server's platform and
+        configuration. 
+
+   - Bugfixes too numerous to mention.  Server pools in general should be
+     significantly more robust.
+
 <See HISTORY file for changes in earlier versions.>
 
 STILL NOT IN THIS VERSION:
-   - We could use some man pages.
+   - There's a man page, but it's not included yet because I want it to
+     work cross-platform.  
    - IP-based restrictions don't work.
    - No support for distributed directories.
    - Other stuff too numerous to mention; see TODO.
 
-III. HOW TO UPGRADE FROM MIXMINION 0.0.3
+III. HOW TO UPGRADE FROM MIXMINION 0.0.4
 ========================================
 
 First, follow the installation instructions from section IV to install the
 new version of the software.
 
-If you're running a server, you will need to upgrade your server's files.
+If you're running a server, you may need to upgrade your configuration file.
 Follow these steps:
 
     1. Your configuration file may be out of date.  The following options
        are new (but not required):
-          "Publish"
-          "LogStats"
-          "StatsInterval"
-          "StatsFile"
-
-       The following options have been renamed:
-          "PublicKeySloppiness" -> "PublicKeyOverlap".
-
-       The following options, formerly optional, are now mandatory:
-          "Nickname"
+          "FileParanoia"
+          "TrusedUser"
+          "MaximumSize"
+          "FromTag"
 
-       Because key rotation is now implemented, you may want to decrease the
-       value you've chosen for PublicKeyLifetime.  Formerly, "3 months" was
-       typical.  Now, something on the order of one to three weeks is
-       probably in order.
+       There is a new configuration section "[Delivery/Fragmented]"; add this
+       section if you want your server to unfragment and deliver large
+       messages.
 
        See etc/mixminiond.conf for an example.
 
-    2. Run 'mixminion server-upgrade' to delete keys and packets in obsolete
-       formats.  (If you forget this step, the server will remind you when
-       you try to start it.)
-
-    3. Start your server as usual ('mixminion server-start') and try sending
-       some messages through it.  (You can find the filename(s) of the
-       currently live server descriptors stored in $HOMEDIR/current-desc.)
-
-       Example:
-          % mixminion server-start
-            [wait for server to start]
-
-          % cat $HOMEDIR/current-desc
-          $HOMEDIR/keys/key_0022/ServerDesc
-
-          % cp `cat $HOMEDIR/current-desc` myserver
-          % mixminion send -t <your email> -P './myserver,?,?'
-            [Type your message, followed by Ctrl-D.]
-          
-            [Wait a while, and see if your message gets sent.]
-
-    4. When you're confident your server is working correctly, and you want
-       to advertise your server to the rest of the world, edit your
-       mixminiond.conf, and set the "Publish" option to 'yes'.
-
-    5. Restart your server.  It will now advertise itself to the (still,
-       alas!) central directory.  The first time you do this, I have to
-       update the directory manually (to prevent pseudospoofing).  Once your
-       server is listed, future updates will be get into the directory
-       automatically.
+    2. Start your server as usual ('mixminion server-start') and try sending
+       some messages through it.
 
 IV. HOW TO INSTALL MIXMINION
 ============================
 
 The quick version.
 ------------------
-  <download and unpack http://www.mixminion.net/dist/Mixminion-0.0.4.tar.gz>
+  <download and unpack http://www.mixminion.net/dist/Mixminion-0.0.5rc1.tar.gz>
 
-  % cd Mixminion-0.0.4
+  % cd Mixminion-0.0.5rc1
   % make download-openssl
   % make build-openssl
   % make
@@ -244,6 +246,10 @@
       You can specify a sequence of N random servers like this:
              -P 'Foo,*3,Bar'      [Foo, three random servers, then Bar.]
 
+      You can specify a random-length sequence of *about* N servers like
+      this:
+             -P 'Foo,~3,Bar'      [Foo, about three random servers, then Bar.]
+
       If you have specified a path length (explicitly or in ~/.mixminionrc)
       you can use a '*' to indicate as many random servers as are needed to
       make your path long enough:
@@ -264,8 +270,8 @@
 edit the  ~/.mixminionrc and change the ForwardPath line:
 
       # By default, use the same servers for entry and exit each time,
-      # with three randomly chosen servers in the middle.
-      ForwardPath: FavoriteEntry,?,?,?,FavoriteExit
+      # with about three randomly chosen servers in the middle.
+      ForwardPath: FavoriteEntry,~3,FavoriteExit
 
 To send a dummy message, specify "drop" instead of an email address, as in:
 
@@ -289,6 +295,11 @@
       To attempt to deliver no more than 16 messages:
 
       mixminion flush -n 16
+
+      To remove messages that have been waiting in the queue for more than
+      seven days:
+
+      mixminion clean-queue -d 7
 
       (QUEUE NOTE: By default, when "mixminion send" fails to deliver a
       message, it leaves that message in the queue to be reattempted later.

Index: TODO
===================================================================
RCS file: /home/minion/cvsroot/src/minion/TODO,v
retrieving revision 1.145
retrieving revision 1.146
diff -u -d -r1.145 -r1.146
--- TODO	28 Aug 2003 18:43:44 -0000	1.145
+++ TODO	31 Aug 2003 19:22:21 -0000	1.146
@@ -73,7 +73,7 @@
                 o Give a reasonable error when client is passed
                   server configuration.
                 o Audit exceptions: which should be UIError?
-        . Support for large messages and K-of-N in fwd messages
+        o Support for large messages and K-of-N in fwd messages
                 o fec backend code
                 o Tests and timing for fec backend
                 o FRAGMENT routing type
@@ -85,28 +85,24 @@
                 o Fragment-pool logic for server
                 o Advertise fragment reassembly in server descriptors
                 o Check server descriptors when fragmenting
-                - Tests
-                        - Client-side fragmentation
-                        - Server-side reassembly in pools
-                        - Message-size maxima
-                        - Cleaning out dead messages
-                        - Fragmented cap in server descriptors
-        . Bugfixes
+                o Tests
+                        o Server-side reassembly in pools
+                        o Cleaning out dead messages
+                        o Message-size maxima
+                        o Fragmented capability in server descriptors
+        o Bugfixes
                 o Make AttemptedRelay ~~ SuccessfulRelay+FailedRelay.
                 o Solve CPU infinite loop bug
                 o Notice [...]s in test encoded messages
                 o Handle corrupt pickled data
-                - Handle server time moving backward
-        - Installer and distribution
-                - Include man page.
-        - Release
-                - Fix all XXXX005 and DOCDOC comments
-                - Redact E2E-spec.txt
-                - Update README
-                - Manually test all new functionality
-                - Manually test all old functionality
-                - Test old servers with new client code
-                - Test old clients with new servers
+                D Handle server time moving backward
+        . Release
+                o Fix all XXXX005 and DOCDOC comments
+                o Update README
+                . Manually test all new functionality
+                . Manually test all old functionality
+                . Test old servers with new client code
+                . Test old clients with new servers
 
 For 0.0.6:
         - Infrastructure -- low level
@@ -142,6 +138,9 @@
                 - Change IPv4/IPv6 delivery methods to use DNS if desired.
                 - Servers redirect to latest IP if old IP is down.  (Dynamic
                   IP support, after a fashion)
+        - Installer and distribution
+                - Re-do man page to be generated from common source
+                  on all platforms.
         - Make 'SIGHUP' reload, (and 'SIGUSR' dump).
                 - SIGHUP should reconfigure everything:
                         - Logs