[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.