Has anyone modified pipermail's hypermail emulation to work using only modules that are compiled in the default Python distribution? There's one dependency I have in mind: pipermail currently uses bsddb, which is not compiled into Python 1.5. I think gdbm is compiled in by default, but the two interfaces aren't compatible.
My biggest goal w/ Mailman has always been to have everything people would ever want to do be easy to do. That's why I'm pretty reluctant to distribute without built-in archiving - one thing I hated about Majordomo was having to go out and download extras and then figure out how to integrate them to get useful functionality.
I also believe that many people who will want to use Mailman will be using Python for the first time. The default Python installation is really easy to build. But as soon as you tell people, "Hey, now you have to recompile, and install crypt. Oh, and now you have to go download pipermail. And before you use that, you have to find bsddbm on the net somewhere, and install it", that's going to send people running back to the comfort of Perl and Majordomo, even though they'll be doing the same sorts of things.
To that end, I've put in provisions for passwords to use md5 if crypt is not found. BTW, do you guys think md5 should be the default, and crypt an option for those who add it to their config? The only real advantage of crypt is that it is less space intensive. Also, the way I have things set up at the moment, if someone starts w/ the default distribution and later recompiles Python to include crypt, all the old passwords won't work, since they'll be in the md5 digest format.
John
John Viega writes:
Has anyone modified pipermail's hypermail emulation to work using only modules that are compiled in the default Python distribution? There's one dependency I have in mind: pipermail currently uses bsddb, which is not compiled into Python 1.5. I think gdbm is compiled in by default, but the two interfaces aren't compatible.
Pipermail needs some sort of tree, so it can traverse the
indexes in sorted order without making a list of all the articles in memory & sorting it. I've been meaning to support Aaron's bplustree.py module, but haven't gotten around to it.
-- A.M. Kuchling http://starship.skyport.net/crew/amk/ "For Inanna: Apocatastasis" "You always did pick rotten titles." -- Inanna begins to read the director's final screenplay in SIGNAL TO NOISE
"JV" == John Viega <viega@list.org> writes:
JV> To that end, I've put in provisions for passwords to use md5
JV> if crypt is not found. BTW, do you guys think md5 should be
JV> the default, and crypt an option for those who add it to their
JV> config? The only real advantage of crypt is that it is less
JV> space intensive. Also, the way I have things set up at the
JV> moment, if someone starts w/ the default distribution and
JV> later recompiles Python to include crypt, all the old
JV> passwords won't work, since they'll be in the md5 digest
JV> format.
For the reason you state, and since md5 is generally compiled in by default and crypt may not be, I'd say just go with md5 all the time. Space shouldn't be an issue really.
-Barry
participants (3)
-
Andrew Kuchling
-
Barry A. Warsaw
-
John Viega