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

[minion-cvs] Update README for 0.0.6rc1



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

Modified Files:
	README 
Log Message:
Update README for 0.0.6rc1

Index: README
===================================================================
RCS file: /home/minion/cvsroot/src/minion/README,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -d -r1.61 -r1.62
--- README	28 Nov 2003 04:14:03 -0000	1.61
+++ README	8 Dec 2003 02:20:00 -0000	1.62
@@ -38,6 +38,73 @@
 II. WHAT'S NEW IN THIS VERSION?
 ===============================
 
+NEW IN VERSION 0.0.6rc1:
+   - Windows support
+       - The Mixminion command-line interface now works on MS Windows, at
+         least for me.  It has been tested on Windows 2000, and should work
+         on any platform running Windows 98 or later.  There are probably
+         some lingering bugs, especially when running a server.
+
+   - Improved security
+       - SURB keys are now rotated periodically.
+
+       - The client now _always_ shuffles packets before delivery, and sends
+         them in a random order.
+
+   - Improved robustness
+       - Servers are now addressed by hostname rather than IP.  It is now
+         feasible to run a Mixminion server with a dynamic IP address.
+         Support for old-style routing will be deprecated in 0.0.7.
+         (Servers use a DNS-farm abstraction to avoid blocking on slow
+         DNS lookups.  MMTP connections are still authenticated, so attacks
+         against DNS can at worst delay packets from arriving.)
+
+       - The path generation logic has been largely rewritten to use the
+         optimal routing method for each server-to-server pair.
+
+       - The path generation code now chooses good paths for fragmented
+         messages and messages with specific requirements on their exit
+         nodes.
+
+       - Client queues are generally less buggy.
+
+       - Consistency enforcement between fragmentation and other modules.
+
+       - Better spec compliance.
+
+   - Improved performance
+       - When flushing messages from the client queue, it is no longer
+         necessary to load them all into RAM at once.
+
+   - User interface tweaks
+       - When running as a client, Mixminion now displays servers by nickname
+         in addition to IP:port whenever possible.  Servers will gain this
+         behavior in a later version, once they begin downloading
+         directories.
+
+       - The behavior of 'mixminion list-servers' has been changed: its
+         default output is far terser and easier to parse than before, though
+         output _even more_ verbose than previous can be selected.  Also,
+         whereas the old implementation only listed servers by their
+         lifetime, capabilities, and status, it is now possible to list
+         arbitrary 'features' of the servers in the directory.
+
+       - Error messages for timeouts are more reasonable; timeouts themselves
+         should now work a little better than before.
+
+       - A longstanding typo in the MMTP server's logging code has been
+         resolved: running at DEBUG should be far terser and more reasonable
+         than before.
+
+       - Users can now send fragmented messages for reassembly by their
+         recipients rather than exit servers.  (Client side reassembly is
+         not yet implemented, however.)
+
+       - Many error messages have been cleaned up, including a few related to
+         SSL errors, Windows internals, corrupt databases, unsupported
+         databases.
+
+   - Other bugfixes too numerous to mention.
 
 <See HISTORY file for changes in earlier versions.>
 
@@ -48,39 +115,39 @@
    - No support for distributed directories.
    - Other stuff too numerous to mention; see TODO.
 
-III. HOW TO UPGRADE FROM MIXMINION 0.0.4
+III. HOW TO UPGRADE FROM MIXMINION 0.0.5
 ========================================
 
 First, follow the installation instructions from section IV to install the
 new version of the software.
 
+If you aren't running a server, you are done.  (Compatibility note: SURB
+keyrings used by version 0.0.5 are _not_ compatible with keyrings used by
+0.0.6!)
+
 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):
-          "FileParanoia"
-          "TrusedUser"
-          "MaximumSize"
-          "FromTag"
-
-       There is a new configuration section "[Delivery/Fragmented]"; add this
-       section if you want your server to unfragment and deliver large
-       messages.
+    1. Your configuration file may be out of date.  You will need to add
+        a 'Hostname' entry to the 'Incoming/MMTP' section of your
+        configuration.  It _must_ contain a valid DNS name for your server.
+        (You can use a static IP instead, if your server's IP will never
+        change.)
 
-       See etc/mixminiond.conf for an example.
+        The 'IP' configuration entry is still required, too, in order to
+        support older clients.
 
     2. Start your server as usual ('mixminion server-start') and try sending
-       some messages through it.
+       some messages through it.  Check your configuration log for warnings.
 
 IV. HOW TO INSTALL MIXMINION
 ============================
 
-The quick version.
-------------------
-  <download and unpack http://www.mixminion.net/dist/Mixminion-0.0.5.tar.gz>
+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>
 
-  % cd Mixminion-0.0.5
+  % cd Mixminion-0.0.6rc1
   % make download-openssl
   % make build-openssl
   % make
@@ -92,8 +159,8 @@
  OR:
     % make install PREFIX=~
 
-The verbose version.
---------------------
+The verbose version: For Unix-clones, Max OS X, or Windows with Cygwin
+-----------------------------------------------------------------------
 
   1) You must have Python version 2.0 or later installed on your system.  The
      binary may be called "python", "python2", "python2.X", or something else.
@@ -142,6 +209,83 @@
      executable if no prefix is provided.  To make sure that everything was
      installed correctly, you can run "mixminion unittests".
 
+The very easy version: For Windows
+----------------------------------
+
+   First, make sure that you're running Win98 or later.
+
+   Download XXXX, and unpack it anywhere you like.  It will create a
+   directory named 'XXXX'.
+
+   Use mixminion.exe as your command-line client.
+
+   NOTE TO ALL WINDOWS USERS:  This is the first version of Mixminion to
+   support native Win32 operations.  As such, you should consider it even
+   more experimental than usual.  If you find any bugs, or any places where
+   its behavior is stupid for a Windows environment, please let me know.
+   (See section VII below for information on how to report bugs.)
+
+The slightly harder version: For Windows with Python 2.3
+--------------------------------------------------------
+
+   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 XXXX.  It will unpack its files into your Python
+   directory.
+
+   The script to invoke Mixminion will be stored in the 'Scripts'
+   subdirectory of your Python directory.  Whenever the instructions below
+   tell you to run 'mixminion', run "python Scripts\mixminion.py' instead,
+   from the python directory.  (Future releases may include a batch file
+   to make this easier, especially if somebody else contributes one.)
+
+   Be sure to read the "NOTE TO ALL WINDOWS USERS" above.
+
+The verbose version: How to build on Windows
+--------------------------------------------
+
+   (I have only tried this with Visual Studio 6 and Python 2.3.  Let me know
+   if you succeed with any other compilers.  Also, let me know if these
+   instructions don't work.)
+
+   First, install Python version 2.0 or later, either from the official
+   binary or by building it yourself.  When you build Mixminion, you will
+   need to use the same compiler as was used to build Python: the standard
+   distribution uses Visual Studio 6.
+
+   Second, download an unpack the Mixminion source distribution.
+
+   Third, get a compiled copy of OpenSSL version 0.9.7 or later (as of 5 Dec
+   2003, the latest stable version is 0.9.7c).  You can either compile it
+   yourself, or use a set of precompiled binaries (such as are available from
+   XXXX).  Place the compiled libraries under the "contrib" directory in the
+   Mixminion source directory, so that the include files are in
+   "contrib\OpenSSL\include" and the libraries are in
+   "contrib\OpenSSL\lib\VC".
+
+   Now you are ready to build Mixminion!  Make sure that python.exe is on
+   your path, then run:
+
+         python setup.py build
+         python setup.py run --subcommand=unittests
+
+   If all the unit tests pass, you can either install the software locally
+   and use it as described in 'the slightly harder version' above:
+
+         python setup.py install
+
+   Or you can make a windows installer for users with Python:
+
+         python setup.py bdist_windows
+
+   Or, if you have the py2exe package installed, you can make a standalone
+   binary that people can run without installing Python:
+
+         python setup.py py2exe
+
+   Finally, be sure to read the "NOTE TO ALL WINDOWS USERS" above.
+
 V. HOW TO SEND MESSAGES VIA MIXMINION
 =====================================
 
@@ -177,6 +321,9 @@
 To see a list of currently known servers, type:
 
       mixminion list-servers
+
+      You can change the format and contents of this listing.  For more
+      information, run 'mixminion list-servers --help'.
 
 To force a reload of the server directory, type: