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

[minion-cvs] A few minor changes, one of them with little tentacles ...



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

Modified Files:
	TODO setup.py 
Log Message:
A few minor changes, one of them with little tentacles throughout the code.

- Make the presence/absence of a tag decided by users of
  DeliverableMessage/Subheader, not (as before) by DM/S on the basis of 
  exit types.  This allows extension types to exist without deliverhandles.

- Add a 'mixminiond' script and entrypoint.  Should work.

- Fix a bug: when no workable exit server is found, we shouldn't crash.



Index: TODO
===================================================================
RCS file: /home/minion/cvsroot/src/minion/TODO,v
retrieving revision 1.192
retrieving revision 1.193
diff -u -d -r1.192 -r1.193
--- TODO	16 Feb 2004 22:30:03 -0000	1.192
+++ TODO	21 Feb 2004 00:02:09 -0000	1.193
@@ -17,14 +17,14 @@
                 - Clear up specification for payload versions.
                 - Clear up specification for NEWS
                 o Clear up specification for multiple addrs on MAIL
-        . Infrastructure -- high level
+        o Infrastructure -- high level
                 o Servers need to download and use directories
                 o Servers should use downloaded directories to print useful
                   nicknames for other servers rather than just IP addresses.
                         o For outgoing connections
                         o For incoming connections
                         o Test
-                - Have callers of Packet/BuildMessage/DeliveryPacket
+                o Have callers of Packet/BuildMessage/DeliveryPacket
                   decide whether to look for a tag in the RI field.
                 D Make processing thread and module thread general
                   cases of a thread pool abstraction.?
@@ -48,8 +48,7 @@
                   servers from directory.
                         o Implement
                         - Test
-                - Maildir-style exit module to help integrators.
-                - "mixminiond" frontend
+                o "mixminiond" frontend
         . MMTP
                 o Make MMTP bursty.
                 . Bandwidth throttling
@@ -80,11 +79,9 @@
                   'mixminiond.conf'.
                 - Maybe add a page for Mixminion integration.
 
-Reach for 0.0.7:
-        - Dummies and pinging
-        - RFC822 interface and maildir-style exit module to help
-          integrators.
-        - Make 'SIGHUP' reload, (and 'SIGUSR' dump).
+Deferred from 0.0.7:
+        - Dummies and pinging [Rationale: no time]
+        - Make 'SIGHUP' reload, (and 'SIGUSR' dump). [Rationale: no time]
                 - SIGHUP should reconfigure everything:
                         - Logs
                         - EventStats
@@ -98,15 +95,23 @@
                 - SIGHUP should check whether serverinfo should be
                   regenerated.
                 - Add SIGUSR1 to do rotate-and-dump only.
-        - MMTP
+        - MMTP [Rationale: more design needed]
                 - Retrying should be per-destination, not per-packet.
                   Otherwise, we can leak which packets were first attempted
                   when.
                 - Limit number of packets sent over single client
                   connection.
-        - UI
+        - UI [Rationale: don't build stuff for integrators till after
+              codecon, when I'll talk with 2 potential integrators.]
+                - RFC822 interface to help integrators.
                 - "-o" option for queue
                 - "-i" option for flush.
+                - Maildir-style exit module to help integrators.
+                        - Implement MH/Maildir modes
+                        - Text/binary modes
+                        - With/without decoding handle
+                        - Attach to any type.
+
 
 Require for "0.1.0" (the in-theory-as-good-as-type-II release):
   [Release criteria: Workable replacement for type II.  At least as

Index: setup.py
===================================================================
RCS file: /home/minion/cvsroot/src/minion/setup.py,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -d -r1.88 -r1.89
--- setup.py	15 Dec 2003 05:16:47 -0000	1.88
+++ setup.py	21 Feb 2004 00:02:09 -0000	1.89
@@ -326,28 +326,34 @@
 else:
     pathextra = ""
 
-SCRIPT_PATH = os.path.join("build", "mixminion")
-if sys.platform == 'win32':
-    SCRIPT_PATH += ".py"
 if not os.path.exists("build"):
     os.mkdir("build")
 
-f = open(SCRIPT_PATH, 'wt')
-# Distutils will take care of the executable path, and actually gets angry
-# if we try to be smart on our own. *sigh*.
-f.write("#!python\n")
-f.write("import sys\n")
-if pathextra and 'py2exe' not in sys.argv:
-    f.write("sys.path[0:0] = [%r]\n"%pathextra)
-f.write("""\
+
+if sys.platform == 'win32':
+    SCRIPT_SUFFIX = ".py"
+else:
+    SCRIPT_SUFFIX = ""
+
+SCRIPTS = []
+for name in "mixminion", "mixminiond":
+    SCRIPT_PATH = os.path.join("build", name+SCRIPT_SUFFIX)
+    f = open(SCRIPT_PATH, 'wt')
+    # Distutils will take care of the executable path, and actually gets angry
+    # if we try to be smart on our own. *sigh*.
+    f.write("#!python\n")
+    f.write("import sys\n")
+    if pathextra and 'py2exe' not in sys.argv:
+        f.write("sys.path[0:0] = [%r]\n"%pathextra)
+    f.write("""\
 try:
     import mixminion.Main
 except:
     print 'ERROR importing mixminion package.'
     raise
-""")
-if 'py2exe' in sys.argv:
-    f.write("""\
+    """)
+    if 'py2exe' in sys.argv:
+        f.write("""\
 if 1 == 0:
     # These import statements need to be here so that py2exe knows to
     # include all of the mixminion libraries.  Main.py imports libraries
@@ -362,14 +368,17 @@
     # We need to be sure that it gets included, or else we'll get stuck
     # using the dumbdbm module.
     import bsddb, dbhash
-""")
-if sys.platform == 'win32':
-    f.write("# On win32, we default to shell mode.\n")
-    f.write("if len(sys.argv) == 1: sys.argv.append('shell')\n")
-f.write("\nmixminion.Main.main(sys.argv)\n")
-f.close()
+    """)
+    if name == 'mixminiond':
+        f.write("\nmixminion.Main.main(sys.argv, 1)\n")
+    else:
+        if sys.platform == 'win32':
+            f.write("# On win32, we default to shell mode.\n")
+            f.write("if len(sys.argv) == 1: sys.argv.append('shell')\n")
+        f.write("\nmixminion.Main.main(sys.argv)\n")
+    f.close()
 
-SCRIPTS = [ SCRIPT_PATH ]
+    SCRIPTS.append(SCRIPT_PATH)
 
 #======================================================================
 # Define a helper to let us run commands from the compiled code.