[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