From barry@zope.com Tue Jan 1 14:08:12 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 1 Jan 2002 09:08:12 -0500 Subject: [Mailman-Developers] bin/update: "cannot import name SimpleCookie" in mailman cvs References: <20011210005141.A21219@magic.merlins.org> Message-ID: <15409.49868.211472.65222@anthem.wooz.org> >>>>> "MM" == Marc MERLIN writes: MM> So, when updating from 2.0 to cvs, make install ran fine up to MM> update: Compiling | ImportError: cannot import name SimpleCookie | make: *** [update] Error 1 MM> I have python 2.1.1 MM> I move the lists off, completed the install, brought a list MM> back, ran update by hand, and it worked. This one should be shallow, and I think fixed in MM21a4. You need to remove all traces of Cookie.py from the Mailman installed directories. We used to provide a very old version of Cookie.py, but as of Python 2.0, a better version comes with the Python distro. Mailman won't pick that up though if the one from misc is still installed. bin/update should now delete this old file. -Barry From barry@zope.com Tue Jan 1 14:18:17 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 1 Jan 2002 09:18:17 -0500 Subject: [Mailman-Developers] "stable" release / 2.1 release status References: <15294.54527.732462.183504@gargle.gargle.HOWL> <5.0.2.1.0.20011006132815.03b653a0@mail.ocentrix.com> Message-ID: <15409.50473.161491.488523@anthem.wooz.org> (Doing some major catchup on this list...) >>>>> "BB" == Ben Burnett writes: BB> Barry's plan was to fix the web page at list.org. BB> If I remember correctly he's also the release manager for the BB> latest version of Python, so I'm sure he's up to his eyeballs BB> currently. You can say that again! Actually now that Python 2.2 final is out, I should be devoting my "Python-time" to getting Mailman 2.1 finished. BB> I haven't actually run it through ht2html so I apologize BB> beforehand if it breaks. I would have provided patches for BB> the index of the MM21 directory but didn't have access to the BB> templates. Barry, I hope this isn't stepping on your toes, BB> and I hope it's useful. Quite helpful, thanks! Hopefully the mailman.sf.net and www.list.org pages are up-to-date now. The helpful folks at gnu.org have sent me some instructions that should make it easier for me to update those pages directly, so they shouldn't lag so far behind the other sites. Cheers, and happy new year. -Barry From barry@zope.com Tue Jan 1 14:21:51 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 1 Jan 2002 09:21:51 -0500 Subject: [Mailman-Developers] Re: [Mailman-Users] [RELEASED] Mailman 2.1 alpha 3 References: <15316.19395.73796.708333@anthem.wooz.org> <15322.56855.39563.755670@anthem.wooz.org> <87snc2nz8p.fsf@arabella.intern.opera.no> Message-ID: <15409.50687.501377.304413@anthem.wooz.org> >>>>> "TFH" == Tollef Fog Heen writes: TFH> * (Barry A. Warsaw) BAW> One thing though: while I /think/ the membership api is BAW> nicely separated and can be easily replaced, other list BAW> configuration variables are not. So you'll still see lots of BAW> direct attribute access on MailList objects. Meaning it's BAW> much tougher to divert non-membership data to an external BAW> source. TFH> Why is that, if you replace the normal MailList objects with TFH> some opaque objects using __getattr__ and __setattr__ for TFH> getting the data out of somewhere else? MM2.1 already uses __getattr__() as a hamfisted way of implementing the gui (web) components, so overriding these in a MailList derived class would be a little tricky. Python 2.2 provides some hope here, with its descriptors and properties, and this is one of the things I'd like to explore for MM-the-next-generation-after-2.1. Cheers, -Barry From barry@zope.com Tue Jan 1 14:29:09 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 1 Jan 2002 09:29:09 -0500 Subject: [Mailman-Developers] Browser problems (was Re: [Mailman-Users] RELEASE Mailman 2.0.8) References: <15364.26810.428559.248496@anthem.wooz.org> <200111281306.fASD6jY26933@camel.lrllamas.com> <15365.1301.182637.627419@anthem.wooz.org> <0111281857150U.15565@chaos.dvz.fh-giessen.de> Message-ID: <15409.51125.34468.508675@anthem.wooz.org> >>>>> "OE" == Oliver Egginger writes: OE> "Error decoding authorization cookie" As soon as Konqueror try OE> to read the authorization cookie. Only tested for MM 2.07 OE> (yet) and all relevant versions of Konqueror. Konqueror 2.2.2 OE> (KDE 2.2.2) inclusive. In MM 2.06 the problem didn't exists. OE> Opera, Netscape, Mozilla, MS-Explorer and Lynx are working OE> pretty good with MM 2.07. I will try MM 2.08 as time permits. I've posted before about the interop problems with Konq and MM2.0.8 (check the archives). These should all be cleared up with MM2.1. I will note that I've seen quite a few regressions with Mozilla 0.9.7 Linux. Moz 0.9.6 seemed to work very well, but I've noticed two problems with the latest release. - Moz seems to have problems with the mass subscribe forms, which AFAICT differ from other forms only in that it has an `enctype="multipart/form-data"' attribute on the
tag. Submitting either the mass subscribe or mass remove forms just hangs. This worked fine in Moz 0.9.6 and works fine w/ NS, and Konq. - Moz 0.9.7 seems to ignore https and other encrypted connections. The lil' lock icon never locks! This doesn't affect MM directly, although it certainly affects sites like SF which use SSL. I haven't reported these to the Mozilla group yet, and I'm also wondering if anybody else has noticed these problems. -Barry From marc_news@vasoftware.com Tue Jan 1 19:33:01 2002 From: marc_news@vasoftware.com (Marc MERLIN) Date: Tue, 1 Jan 2002 20:33:01 +0100 Subject: [Mailman-Developers] Newlist/rmlist update Message-ID: <20020101203301.B6661@merlins.org> As promised, here's a patch that: 1) Adds the SPLIT_DIRS option which does this: root@gandalf:/var/local/mailman/lists# l total 16 drwxrwsr-x 4 root mailman 4096 Jan 1 20:03 ./ drwxrwsr-x 19 mailman mailman 4096 Jan 1 09:55 ../ drwxrwsr-x 3 root mailman 4096 Jan 1 19:46 m/ lrwxrwxrwx 1 root mailman 43 Jan 1 20:01 mailman-owner -> /var/local/mailman/lists/m/ma/mailman-owner/ drwxrwsr-x 3 root mailman 4096 Jan 1 12:18 t/ lrwxrwxrwx 1 root mailman 34 Jan 1 20:02 test -> /var/local/mailman/lists/t/te/test/ lrwxrwxrwx 1 root mailman 35 Jan 1 20:03 test2 -> /var/local/mailman/lists/t/te/test2/ root@gandalf:/var/local/mailman/archives/private# l total 16 drwxrws--x 4 root mailman 4096 Jan 1 20:03 ./ drwxrwsr-x 4 root mailman 4096 Jan 1 09:55 ../ drwxrwsr-x 3 root mailman 4096 Jan 1 19:46 m/ lrwxrwxrwx 1 root mailman 54 Jan 1 20:01 mailman-owner -> /var/local/mailman/archives/private/m/ma/mailman-owner/ lrwxrwxrwx 1 root mailman 59 Jan 1 20:01 mailman-owner.mbox -> /var/local/mailman/archives/private/m/ma/mailman-owner.mbox/ drwxrwsr-x 3 root mailman 4096 Jan 1 12:18 t/ lrwxrwxrwx 1 root mailman 45 Jan 1 20:02 test -> /var/local/mailman/archives/private/t/te/test/ lrwxrwxrwx 1 root mailman 46 Jan 1 20:03 test2 -> /var/local/mailman/archives/private/t/te/test2/ lrwxrwxrwx 1 root mailman 51 Jan 1 20:03 test2.mbox -> /var/local/mailman/archives/private/t/te/test2.mbox/ lrwxrwxrwx 1 root mailman 50 Jan 1 20:02 test.mbox -> /var/local/mailman/archives/private/t/te/test.mbox/ This gets around the 32K link / directory limit in many filesystems (limiting mailman to 16K lists) 2) Creates the pipermail html dir at list creation time so that you don't get an http error when you view the archive of a list that doesn't have messages yet 3) rmlist now does what it advertises with -a (you couldn't erase archives after erasing a list) root@gandalf:/var/local/mailman/bin# ./rmlist test2 Not removing archives. Reinvoke with -a to remove them. Removing list info Removing list info root@gandalf:/var/local/mailman/bin# ./rmlist -a test2 List test2 does not exist or was already deleted, trying to remove archives. Removing private archives Removing private archives Removing private archives Removing private archives Removing public archives test2 public archives not found as /var/local/mailman/archives/public/t/te/test2 Removing public archives test2 public archives not found as /var/local/mailman/archives/public/t/te/test2.mbox If everyone is cool with this, I'll write a tool to convert an existing installation to the new (optional) directory layout (I need this for lists.sourceforge.net) diff -urN mailman/Mailman/Archiver/Archiver.py mailman.subdirs/Mailman/Archiver/Archiver.py --- mailman/Mailman/Archiver/Archiver.py Fri Oct 26 23:57:47 2001 +++ mailman.subdirs/Mailman/Archiver/Archiver.py Tue Jan 1 11:07:56 2002 @@ -76,6 +76,10 @@ # listname.mbox # listname/ # lots-of-pipermail-stuff + # (note that if mm_cfg.SPLIT_DIRS is set, we create subdirectories and + # use symlinks (this gets around a 32k directories limit in some + # filesystems linked to a 32k hardlink limit per inode -- Marc)) + # # public/ # listname.mbox@ -> ../private/listname.mbox # listname@ -> ../private/listname @@ -89,7 +93,25 @@ omask = os.umask(0) try: try: - os.mkdir(self.archive_dir()+'.mbox', 02775) + listname=self.internal_name(); + if mm_cfg.SPLIT_DIRS: + archprivdir=os.path.join(mm_cfg.PRIVATE_ARCHIVE_FILE_DIR, + listname[0], listname[0:2], listname + '.mbox') + os.makedirs(archprivdir, 02775) + os.symlink(archprivdir, self.archive_dir()+'.mbox') + else: + os.mkdir(self.archive_dir()+'.mbox', 02775) + # We also create an empty pipermail archive directory (pipermail + # would create it, but in the meantime lists with no archives + # return errors when you browse the non existant archive dir) + # Besides, pipermail won't know about mm_cfg.SPLIT_DIRS -- Marc + if mm_cfg.SPLIT_DIRS: + archprivdir=os.path.join(mm_cfg.PRIVATE_ARCHIVE_FILE_DIR, + listname[0], listname[0:2], listname) + os.makedirs(archprivdir, 02775) + os.symlink(archprivdir, self.archive_dir()) + else: + os.mkdir(self.archive_dir(), 02775) except OSError, e: if e.errno <> errno.EEXIST: raise finally: diff -urN mailman/Mailman/Archiver/pipermail.py mailman.subdirs/Mailman/Archiver/pipermail.py --- mailman/Mailman/Archiver/pipermail.py Fri Nov 30 09:07:32 2001 +++ mailman.subdirs/Mailman/Archiver/pipermail.py Tue Jan 1 11:28:15 2002 @@ -252,6 +252,9 @@ self.database = database # If the directory doesn't exist, create it + # This code shouldn't get run anymore, we create the directory in + # Archiver.py. It should only get used by legacy lists created that + # are only receiving their first message in the HTML archive now -- Marc try: os.stat(self.basedir) except os.error, errdata: diff -urN mailman/Mailman/Defaults.py.in mailman.subdirs/Mailman/Defaults.py.in --- mailman/Mailman/Defaults.py.in Tue Jan 1 08:29:01 2002 +++ mailman.subdirs/Mailman/Defaults.py.in Tue Jan 1 12:50:35 2002 @@ -62,6 +62,13 @@ HOME_PAGE = 'index.html' MAILMAN_SITE_LIST = 'mailman' +# Set to '1' to have mailman start creating lists in directories like +# ~mailman/lists/l/li/listname/ (same thing for the archives) to get around +# the 32K directory limitation in some filesystems. +# Because this sets symlinks to the expected positions, it is fully forward +# and backward compatible -- Marc +SPLIT_DIRS = 0 + ##### diff -urN mailman/Mailman/MailList.py mailman.subdirs/Mailman/MailList.py --- mailman/Mailman/MailList.py Tue Jan 1 08:29:02 2002 +++ mailman.subdirs/Mailman/MailList.py Tue Jan 1 10:40:25 2002 @@ -388,7 +388,13 @@ Utils.ValidateEmail(admin) omask = os.umask(0) try: - os.makedirs(os.path.join(mm_cfg.LIST_DATA_DIR, name), 02775) + listdir=os.path.join(mm_cfg.LIST_DATA_DIR, name) + if mm_cfg.SPLIT_DIRS: + splitdir=os.path.join(mm_cfg.LIST_DATA_DIR, name[0], name[0:2], name) + os.makedirs(splitdir, 02775) + os.symlink(splitdir, listdir) + else: + os.makedirs(listdir, 02775) finally: os.umask(omask) self._full_path = os.path.join(mm_cfg.LIST_DATA_DIR, name) diff -urN mailman/bin/rmlist mailman.subdirs/bin/rmlist --- mailman/bin/rmlist Sat Sep 8 01:18:47 2001 +++ mailman.subdirs/bin/rmlist Tue Jan 1 12:35:35 2002 @@ -1,4 +1,4 @@ -#! @PYTHON@ +#! /usr/bin/python # # Copyright (C) 1998,1999,2000,2001 by the Free Software Foundation, Inc. # @@ -78,11 +78,6 @@ usage(1) listname = args[0].lower().strip() - if not Utils.list_exists(listname): - usage(1, _('No such list: %(listname)s')) - - mlist = MailList.MailList(listname, lock=0) - removeArchives = 0 for opt, arg in opts: if opt in ('-a', '--archives'): @@ -90,28 +85,57 @@ elif opt in ('-h', '--help'): usage(0) + if not Utils.list_exists(listname): + if not removeArchives: + usage(1, _('No such list (or list already deleted): %(listname)s')) + else: + print _('List %(listname)s does not exist or was already deleted, trying to remove archives.') + if not removeArchives: print _('Not removing archives. Reinvoke with -a to remove them.') - # Do the MTA-specific list deletion tasks - if mm_cfg.MTA: - modname = 'Mailman.MTA.' + mm_cfg.MTA - __import__(modname) - sys.modules[modname].remove(mlist) - REMOVABLES = [('lists/%s', 'list info'), - ] + listsplitsubdir = os.path.join(listname[0], listname[0:2], listname) + listmboxsplitsubdir = os.path.join(listname[0], listname[0:2], listname + ".mbox") + REMOVABLES = [ ] + if Utils.list_exists(listname): + mlist = MailList.MailList(listname, lock=0) + + # Do the MTA-specific list deletion tasks + if mm_cfg.MTA: + modname = 'Mailman.MTA.' + mm_cfg.MTA + __import__(modname) + sys.modules[modname].remove(mlist) + + REMOVABLES = [ + (os.path.join('lists', listname), _('list info')), + (os.path.join('lists', listsplitsubdir), _('list info')) + ] + if removeArchives: - REMOVABLES.extend( - [('archives/private/%s', _('private archives')), - ('archives/private/%s.mbox', _('private archives')), - ('archives/public/%s', _('public archives')), - ('archives/public/%s.mbox', _('public archives')), - ]) + REMOVABLES.extend ([ + (os.path.join('archives', 'private', listname), + _('private archives')), + (os.path.join('archives', 'private', listsplitsubdir), + _('private archives')), + (os.path.join('archives', 'private', listname + '.mbox'), + _('private archives')), + (os.path.join('archives', 'private', listmboxsplitsubdir), + _('private archives')), + + (os.path.join('archives', 'public', listname), + _('public archives')), + (os.path.join('archives', 'public', listsplitsubdir), + _('public archives')), + (os.path.join('archives', 'public', listname + '.mbox'), + _('public archives')), + (os.path.join('archives', 'public', listmboxsplitsubdir), + _('public archives')) + ]) for dirtmpl, msg in REMOVABLES: - dir = os.path.join(mm_cfg.VAR_PREFIX, dirtmpl % listname) + dir = os.path.join(mm_cfg.VAR_PREFIX, dirtmpl) remove_it(listname, dir, msg) -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key From marc_news@vasoftware.com Tue Jan 1 19:21:33 2002 From: marc_news@vasoftware.com (Marc MERLIN) Date: Tue, 1 Jan 2002 20:21:33 +0100 Subject: [Mailman-Developers] [patch] check_perms In-Reply-To: <15408.64433.621204.651734@anthem.wooz.org>; from barry@zope.com on Mon, Dec 31, 2001 at 06:58:41PM -0500 References: <15408.64433.621204.651734@anthem.wooz.org> Message-ID: <20020101202133.A6661@merlins.org> On Mon, Dec 31, 2001 at 06:58:41PM -0500, Barry A. Warsaw wrote: > > Hi all, > > Just wanted to let you know that I've released Mailman 2.1 alpha 4. Here's a fix to a buglet in check_perms diff -urN mailman/bin/check_perms mailman.wrapper/bin/check_perms --- mailman/bin/check_perms Thu Oct 4 16:45:19 2001 +++ mailman.wrapper/bin/check_perms Tue Jan 1 20:16:54 2002 @@ -227,7 +227,7 @@ print def checkmail(): - wrapper = os.path.join(mm_cfg.WRAPPER_DIR, 'wrapper') + wrapper = os.path.join(mm_cfg.WRAPPER_DIR, 'mailman') if STATE.VERBOSE: print _('checking set-gid for %(wrapper)s') mode = statmode(wrapper) Marc -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key From barry@zope.com Tue Jan 1 20:04:31 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 1 Jan 2002 15:04:31 -0500 Subject: [Mailman-Developers] [patch] check_perms References: <15408.64433.621204.651734@anthem.wooz.org> <20020101202133.A6661@merlins.org> Message-ID: <15410.5711.2426.842432@anthem.wooz.org> >>>>> "MM" == Marc MERLIN writes: MM> Here's a fix to a buglet in check_perms Got it, thanks. From barry@zope.com Tue Jan 1 20:14:53 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 1 Jan 2002 15:14:53 -0500 Subject: [Mailman-Developers] Patch: securelinux_fix update (now check_perms_grsecurity) References: <20011210010709.D21219@magic.merlins.org> Message-ID: <15410.6333.932752.423284@anthem.wooz.org> >>>>> "MM" == Marc MERLIN writes: MM> I've updated the docs, updated my script to work with MM> grsecurity and with the new scripts in mailman cvs, and I've MM> renamed it to reflect the changes Applied. Thanks. -Barry From barry@zope.com Tue Jan 1 20:26:11 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 1 Jan 2002 15:26:11 -0500 Subject: [Mailman-Developers] Newlist/rmlist update References: <20020101203301.B6661@merlins.org> Message-ID: <15410.7011.311384.180421@anthem.wooz.org> >>>>> "MM" == Marc MERLIN writes: MM> As promised, here's a patch that: MM> 1) Adds the SPLIT_DIRS option which does this: Some questions: what if you already have an `m' list or a `t' list? I guess you can't mix and match split dirs installations with non-split dirs installations. It also means... MM> If everyone is cool with this, I'll write a tool to convert an MM> existing installation to the new (optional) directory layout MM> (I need this for lists.sourceforge.net) ...that this tool will be essential. Also, will the conversion script be able to go back to non-SPLIT_DIRS configuration? This also hints that maybe we don't need the SPLIT_DIRS variable, but perhaps we can simply auto-detect it (although if it makes life easier, I'm not opposed to the variable). Are you sure other bits that look for the list's directory still work (like template searching, or extend.py)? They should because of the symlinks. Also... MM> 2) Creates the pipermail html dir at list creation time so MM> that you don't get an http error when you view the archive of MM> a list that doesn't have messages yet MM> 3) rmlist now does what it advertises with -a (you couldn't MM> erase archives after erasing a list) These are both useful patches on their own, so it's best in general to split them up into individual patches. I think I can strip them out from your diff, so don't worry about it this time. I'll go ahead and apply these parts now, and if necessary you can re-generate the SPLIT_DIRS patch based on the above comments. Thanks! -Barry From dmick@utopia.West.Sun.COM Wed Jan 2 02:56:32 2002 From: dmick@utopia.West.Sun.COM (Dan Mick) Date: Tue, 01 Jan 2002 18:56:32 -0800 Subject: [Mailman-Developers] New Bounce system References: <3C2EFC1E.4DCE7C2F@utopia.west.sun.com> <15408.55473.621435.526360@anthem.wooz.org> Message-ID: <3C3276E0.521DE6BF@utopia.west.sun.com> "Barry A. Warsaw" wrote: > > >>>>> "DM" == Dan Mick writes: > > DM> looks interesting, but a warning: when you upgrade, all your > DM> previous "nomails" will appear to revert to "off". Not > DM> exactly what I expected. (the value is actually "UNKNOWN", > DM> which still disables delivery...but it doesn't show up.) > > [...and later...] > > DM> Actually, it was worse; the upgrade just cleared everyone's > DM> nomail flag (set them to "ENABLED"). D'oh!.. > > I'm having a hard time reproducing this, so I need more information. > Exactly how did you do the upgrade? The standard way; config (as me) and "make install" (as root). > Which version of Python are you > using? 2.1.1 > Do you see any errors in logs/error that might be relevant? Nothing easily findable, no. > Try using bin/dumpdb on both the (old) config.db value and the (new) > config.pck value and check attributes like `data_version', and > `delivery_status'. Where do I find the old and new files?...the new ones are obviously there, but the old ones aren't saved by upgrade, are they?...it'd be nice if they were somewhere I'm missing, because then I could manually fix the problem. (No, I don't have backups.) > DM> Barry, do you plan to change the option display in the > DM> membership list and/or personal pages to something > DM> multivalued?... > > In the personal options page, you'll just see some prose describing > the reason your membership has been disabled. The user shouldn't > care though, if they want to re-enable their membership it doesn't > make a difference why they were disabled. Yeah; this is mostly of interest for the admin trying to figure out what's going on with disabling. > I thought about it for the membership list admin pages, but I couldn't > think of a good u/i that wouldn't clutter up that page even more. And > I'm not sure it's worth it. A small string under the "nomail" box, if checked, would do it; I'm not sure it would add a lot to the size (but might; haven't futzed with the layout). Given that we're already two vertical spaces because of the "realname" box, it might fit without changing the size. > If the admin enables, then re-disables a > member's delivery, the flag will change from to BYADMIN. > This could potentially disrupt disable warning notifications, but I > don't think its worth cluttering up that page to deal with what ought > to be a rare occurance (and besides, I'd eventually like cron/disabled > to handle UNKNOWN, BYADMIN, and BYUSER disables). Yeah; one of the reasons I asked was that I'd had this problem, and initially assumed that the value of the checkbox was not the relevant bit. Now I realize it was relevant that they all got reset. From dmick@utopia.West.Sun.COM Wed Jan 2 03:27:05 2002 From: dmick@utopia.West.Sun.COM (Dan Mick) Date: Tue, 01 Jan 2002 19:27:05 -0800 Subject: [Mailman-Developers] New Bounce system References: <3C2EFC1E.4DCE7C2F@utopia.west.sun.com> <15408.55473.621435.526360@anthem.wooz.org> <3C3276E0.521DE6BF@utopia.west.sun.com> Message-ID: <3C327E09.CEACB67A@utopia.west.sun.com> > > I thought about it for the membership list admin pages, but I couldn't > > think of a good u/i that wouldn't clutter up that page even more. And > > I'm not sure it's worth it. > > A small string under the "nomail" box, if checked, would do it; I'm not sure it > would add a lot to the size (but might; haven't futzed with the layout). Given > that we're already two vertical spaces because of the "realname" box, it might > fit without changing the size. This doesn't look hideous (in output; the code's a complete hack of course): Index: admin.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/Cgi/admin.py,v retrieving revision 2.50 diff -r2.50 admin.py 912c912,915 < cells.append(Center(box).Format()) --- > if opt == 'nomail' and value == 'on': > cells.append(Center(box).Format() + '
' + ('unknown', ' byuser', 'byadmin', 'bybounce')[mlist.getDeliveryStatus(addr)-1] + '
') > else: > cells.append(Center(box).Format()) The strings could be shortened of course, perhaps even to one letter. From barry@zope.com Wed Jan 2 03:48:51 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 1 Jan 2002 22:48:51 -0500 Subject: [Mailman-Developers] New Bounce system References: <3C2EFC1E.4DCE7C2F@utopia.west.sun.com> <15408.55473.621435.526360@anthem.wooz.org> <3C3276E0.521DE6BF@utopia.west.sun.com> Message-ID: <15410.33571.266528.662908@anthem.wooz.org> >>>>> "DM" == Dan Mick writes: >> so I need more information. Exactly how did you do the >> upgrade? DM> The standard way; config (as me) and "make install" (as root). Did you install over an existing Mailman 2.0.x installation, or did you do a fresh MM2.1 install and copy list directories over? >> Which version of Python are you using? DM> 2.1.1 Cool. >> Do you see any errors in logs/error that might be relevant? DM> Nothing easily findable, no. Okay. >> Try using bin/dumpdb on both the (old) config.db value and the >> (new) config.pck value and check attributes like >> `data_version', and `delivery_status'. DM> Where do I find the old and new files?...the new ones are DM> obviously there, but the old ones aren't saved by upgrade, are DM> they?...it'd be nice if they were somewhere I'm missing, DM> because then I could manually fix the problem. (No, I don't DM> have backups.) All the files should be in lists//config.{db,pck}{,.last} The upgrade procedure doesn't get rid of the .db files. DM> A small string under the "nomail" box, if checked, would do DM> it; I'm not sure it would add a lot to the size (but might; DM> haven't futzed with the layout). Given that we're already two DM> vertical spaces because of the "realname" box, it might fit DM> without changing the size. I'll check out your patch momentarily. Thanks! -Barry From barry@zope.com Wed Jan 2 04:36:54 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 1 Jan 2002 23:36:54 -0500 Subject: [Mailman-Developers] New Bounce system References: <3C2EFC1E.4DCE7C2F@utopia.west.sun.com> <15408.55473.621435.526360@anthem.wooz.org> <3C3276E0.521DE6BF@utopia.west.sun.com> <15410.33571.266528.662908@anthem.wooz.org> Message-ID: <15410.36454.732542.865986@anthem.wooz.org> >>>>> "BAW" == Barry A Warsaw writes: DM> A small string under the "nomail" box, if checked, would do DM> it; I'm not sure it would add a lot to the size (but might; DM> haven't futzed with the layout). Given that we're already two DM> vertical spaces because of the "realname" box, it might fit DM> without changing the size. BAW> I'll check out your patch momentarily. Thanks! See if you like what I just checked in. -Barry P.S. I'll likely be off-line for the next 24 hours or so. I'll try to get back to email, and log onto the #mailman channel after Maryland beats Florida in the Orange Bowl tomorrow night <15 wink>. Go Terps! From marc_news@vasoftware.com Wed Jan 2 08:50:03 2002 From: marc_news@vasoftware.com (Marc MERLIN) Date: Wed, 2 Jan 2002 09:50:03 +0100 Subject: [Mailman-Developers] bin/update: "cannot import name SimpleCookie" in mailman cvs In-Reply-To: <15409.49868.211472.65222@anthem.wooz.org>; from barry@zope.com on Tue, Jan 01, 2002 at 09:08:12AM -0500 References: <20011210005141.A21219@magic.merlins.org> <15409.49868.211472.65222@anthem.wooz.org> Message-ID: <20020102095003.G6661@merlins.org> On Tue, Jan 01, 2002 at 09:08:12AM -0500, Barry A. Warsaw wrote: > > >>>>> "MM" == Marc MERLIN writes: > > MM> So, when updating from 2.0 to cvs, make install ran fine up to > MM> update: Compiling > > | ImportError: cannot import name SimpleCookie > | make: *** [update] Error 1 > > MM> I have python 2.1.1 > > MM> I move the lists off, completed the install, brought a list > MM> back, ran update by hand, and it worked. > > This one should be shallow, and I think fixed in MM21a4. You need to > remove all traces of Cookie.py from the Mailman installed > directories. We used to provide a very old version of Cookie.py, but > as of Python 2.0, a better version comes with the Python distro. > Mailman won't pick that up though if the one from misc is still > installed. > > bin/update should now delete this old file. I found out in the meantime that even in beta 3, update failed the first time but seemed to delete Cookie.py (or something else did), so it succeeded the second time I'll try to upgrade another list server from 2.0 to 2.1cvs when I get home next week and report back if there is still a problem. Thanks Marc -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key From marc_news@vasoftware.com Wed Jan 2 09:45:59 2002 From: marc_news@vasoftware.com (Marc MERLIN) Date: Wed, 2 Jan 2002 10:45:59 +0100 Subject: [Mailman-Developers] Newlist/rmlist update In-Reply-To: <15410.7011.311384.180421@anthem.wooz.org>; from barry@zope.com on Tue, Jan 01, 2002 at 03:26:11PM -0500 References: <20020101203301.B6661@merlins.org> <15410.7011.311384.180421@anthem.wooz.org> Message-ID: <20020102104559.K6661@merlins.org> On Tue, Jan 01, 2002 at 03:26:11PM -0500, Barry A. Warsaw wrote: > > >>>>> "MM" == Marc MERLIN writes: > > MM> As promised, here's a patch that: > MM> 1) Adds the SPLIT_DIRS option which does this: > > Some questions: what if you already have an `m' list or a `t' list? I I thought about list names of less than 3 characters to see if the dir hashing would work, but I forgot about this case. So basically, it means that it'll get a bit ugly if you have one letter listnames. For that matter, it should work, but your 't' list would have directories with other lists inside of it, not very pretty. In other words we need at least a disclaimer in Default.py that if you turn the option on, you'd better have at least 2 letters for all your lists. > guess you can't mix and match split dirs installations with non-split > dirs installations. It also means... You should be able to, I wrote the patch with this in mind. All it does is move the creation place of new lists and sets a symlink back to the expected place. Unless I missed something (I've not given this real life testing outside of my laptop yet), I don't see why it can't cohabit with lists created the old way. Sure, it'd be inconsistent, but it should work. Note too that rmlist was changed to deal with both kind of lists (actually, it just deletes all possible names) > MM> If everyone is cool with this, I'll write a tool to convert an > MM> existing installation to the new (optional) directory layout > MM> (I need this for lists.sourceforge.net) > > ...that this tool will be essential. Also, will the conversion script > be able to go back to non-SPLIT_DIRS configuration? This also hints I hadn't planned to write that, but I don't expect people casually switch back and forth. Besides, if they hit 16K, they won't be able to go back anyway. That said, it shouldn't be too hard to write something to go back if someone needs it. It's also not too hard to do it by hand with a few shell commands, like cd ~mailman/lists; /bin/rm *; mv */*/* .; /bin/rm -rf [a-z] (untested and crude, but you get the idea) > that maybe we don't need the SPLIT_DIRS variable, but perhaps we can > simply auto-detect it (although if it makes life easier, I'm not > opposed to the variable). Mmmh, I'd rather not have mailman try to be too fancy and try to autodetect the setup, besides, for someone who can't afford downtime (you'd have to stop mailman while the convertion happens), you could turn the switch on, and have new lists created the new way while the old ones stay the way they were. The code was written so that if you wanted to, you can turn the setting on and off for every other list. > Are you sure other bits that look for the list's directory still work > (like template searching, or extend.py)? They should because of the > symlinks. I've done basic testing, but nothing real or life. That said, the idea behind symlinks is that I wouldn't have to care were all the code was since indeed, it should follow the said symlinks. > Also... > > MM> 2) Creates the pipermail html dir at list creation time so > MM> that you don't get an http error when you view the archive of > MM> a list that doesn't have messages yet > > MM> 3) rmlist now does what it advertises with -a (you couldn't > MM> erase archives after erasing a list) > > These are both useful patches on their own, so it's best in general to > split them up into individual patches. I think I can strip them out > from your diff, so don't worry about it this time. I'll go ahead and > apply these parts now, and if necessary you can re-generate the > SPLIT_DIRS patch based on the above comments. Yes, I know about splitting patches, I usually do, but as you'll see in splitting, I'd have had to write two versions because the SPLIT_DIRS functionality modifies how 2 and 3 would have been written (a bit) Marc -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key From marc_news@vasoftware.com Wed Jan 2 10:10:32 2002 From: marc_news@vasoftware.com (Marc MERLIN) Date: Wed, 2 Jan 2002 11:10:32 +0100 Subject: [Mailman-Developers] Newlist/rmlist update In-Reply-To: <20020102104559.K6661@merlins.org>; from marc_news@vasoftware.com on Wed, Jan 02, 2002 at 10:45:59AM +0100 References: <20020101203301.B6661@merlins.org> <15410.7011.311384.180421@anthem.wooz.org> <20020102104559.K6661@merlins.org> Message-ID: <20020102111032.M6661@merlins.org> On Wed, Jan 02, 2002 at 10:45:59AM +0100, Marc MERLIN wrote: > On Tue, Jan 01, 2002 at 03:26:11PM -0500, Barry A. Warsaw wrote: > > > > >>>>> "MM" == Marc MERLIN writes: > > > > MM> As promised, here's a patch that: > > MM> 1) Adds the SPLIT_DIRS option which does this: > > > > Some questions: what if you already have an `m' list or a `t' list? I > > I thought about list names of less than 3 characters to see if the dir > hashing would work, but I forgot about this case. > So basically, it means that it'll get a bit ugly if you have one letter > listnames. > For that matter, it should work, but your 't' list would have directories > with other lists inside of it, not very pretty. > > In other words we need at least a disclaimer in Default.py that if you turn > the option on, you'd better have at least 2 letters for all your lists. Actually, I just realized that if you have a list named 'a', and you try to delete it, my current rmlist code will blow away all the lists that start with 'a'. I think the best fix to this, instead of making mailman too complex, or removing the flexibility of running a dual setup (with both old and new lists), is 1) Document that all lists need to have at least two letters above the setting in Defaults.py 2) Patch newlist and rmlist further to refuse to deal with one letter lists. For #2, we can do it in the following ways: a) all the time (even if you don't have split_dirs enabled) b) only if split_dirs is enabled (that would mean that if you enabled it and disabled it later, and then you try to delete list 'a', it will blow away all the lists that start with 'a' and that were created when split_dirs was enabled c) As soon as split dirs is enabled and a list is created, newlist drops a ~mailman/lists/.splitdirs_do_not_delete file, and after that refuses to create or delete one letter lists whether the setting is currently enabled or not I do realize that none are ideal or foolproof, but I expect that few users are ever going to use this, and even fewer will toggle the setting back and forth. I believe choosing (b) or (c) and documenting appropriately should be enough. What do you think? Marc -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key From Dan Mick Wed Jan 2 21:24:11 2002 From: Dan Mick (Dan Mick) Date: Wed, 2 Jan 2002 13:24:11 -0800 (PST) Subject: [Mailman-Developers] New Bounce system Message-ID: <200201022124.NAA05898@utopia.West.Sun.COM> > See if you like what I just checked in. Yeah, not bad, although the [] is wasted on me (I'd rather have more "useful" chars...like, if we can only do 3, then USR, ADM, BNC, UNK would obviate the legend). But that's clearly a nit, and once I know what I'm looking for, these make it clear. From marc@perkel.com Wed Jan 2 22:11:59 2002 From: marc@perkel.com (Marc Perkel) Date: Wed, 02 Jan 2002 14:11:59 -0800 Subject: [Mailman-Developers] Marc Perkel's Feature Wish List Message-ID: <3C3385AF.2DAFD88F@perkel.com> I have a few items I'd like to add to the wish list. I have looked at the todo list and I think what I'm going to ask for is not on the list already. If it is - I appoligize. I have set up the system and I've been running it for a few weeks and I really like it. But there's a few little missing features - many of which should be easy to add, that I hope you developers will consider. I'm the systems admin for the Electronic Frontier Foundation. User Aliases ------------- I'd like to be able to enter (and/or allow the user to enter) other email addresses that if they sens email from the other address they have the same membership privileges as the original member email address. Thus if gnu@eff.org is in the list but the email comes from gnu@toad.com then it is treated the same. Ideally - the user could make these aliases and it would apply to all lists the user is a member of. Master Lists of Lists and Master admin page: -------------------------------------------- Right now the url http://domain.com/mailman/admin goes to a page that just shows public lists. I'd like to see a link there that goes to a master admin page - where you first have to enter the master password - and then you get several master admin options - including: 1) A list of all lists - links to the admin pages of each list whether public or not. 2) Menu to create a new list - avoiding the need to go to the command line. 3) Change master Password. 4) All other master maintenance stuff - checking the database integrity - that sort of thing. 5) Delete a list. 6) Options for list owners - that would allow/not allow list owners to delete a list. 7) Control of other list manager privileges - virtual domain owners - etc. 8) Menu to set defaults for new list creation - or defaults for new lists on a per virtual domain basis. List Membership and Priveleges -------------------------------- Mailman allows a list of people (nonmembers) who are allowed to post to the list. The list normally contains additional email addresses. I would like to see the ability to refer to the entire membership of other lists for membership/or posting privileges. For example "@otherlistname" could mean to include all the members of another list as being allowed to post to this list. Thus you could create an umbrella list - containing 3 other lists - and make the list postable by the members of any of the three lists (and thier personal aliases) and no one else. Additionally - I'd like to enter a flat file reference "/usr/lists/viplist" to include as people who can also post. So if I have 50 lists and we get a new board member - I don't have to add them as a privileged person to 50 lists. Global Individual Passwords and Parameters --------------------------------------------- If I set my password - that should be my password for all lists. This also applies to my real name - for whenever you add that - and other info about me as a user that I chose to set - such as my email aliases - my home page - my favorite links - or whatever. Maybe the ability to have a checkbox on some "per list" setting that allow me to apply the changes to all lists. Global Blacklists: ----------------- Some people play by the rules - some don't. It would be nice to have global blacklist and global whitelist features to control spammers and those who otherwise misbehave. Moderation Defaults -------------------- I'd like a setting so that if non-members post to the list that their messages are automatically dropped (bounced) without list owner intervention. The bounce message should be able to be customized giving the user information to join the list - or just go to hell. Anyhow --- many of these features could be easilly added - many might take some serious work - but - I thought I'd add this to the wanted list in case no one else thought of these things. Marc Perkel /root EFF From spacey-mailman@lenin.nu Wed Jan 2 22:19:10 2002 From: spacey-mailman@lenin.nu (Peter C. Norton) Date: Wed, 2 Jan 2002 14:19:10 -0800 Subject: [Mailman-Developers] Marc Perkel's Feature Wish List In-Reply-To: <3C3385AF.2DAFD88F@perkel.com>; from marc@perkel.com on Wed, Jan 02, 2002 at 02:11:59PM -0800 References: <3C3385AF.2DAFD88F@perkel.com> Message-ID: <20020102141910.L32457@lenin.nu> On Wed, Jan 02, 2002 at 02:11:59PM -0800, Marc Perkel wrote: > Moderation Defaults > -------------------- > I'd like a setting so that if non-members post to the list that their > messages are automatically dropped (bounced) without list owner > intervention. The bounce message should be able to be customized giving > the user information to join the list - or just go to hell. I've got a patch to do that against 2.0.8 which works for new lists. If someone could tell me what the right way is to add an entry into an existing database I'd have a complete patch. -- The 5 year plan: In five years we'll make up another plan. Or just re-use this one. From claw@kanga.nu Wed Jan 2 22:27:54 2002 From: claw@kanga.nu (J C Lawrence) Date: Wed, 02 Jan 2002 14:27:54 -0800 Subject: [Mailman-Developers] Marc Perkel's Feature Wish List In-Reply-To: Message from Marc Perkel of "Wed, 02 Jan 2002 14:11:59 PST." <3C3385AF.2DAFD88F@perkel.com> References: <3C3385AF.2DAFD88F@perkel.com> Message-ID: <32203.1010010474@kanga.nu> On Wed, 02 Jan 2002 14:11:59 -0800 Marc Perkel wrote: > I'd like to be able to enter (and/or allow the user to enter) > other email addresses that if they sens email from the other > address they have the same membership privileges as the original > member email address. Thus if gnu@eff.org is in the list but the > email comes from gnu@toad.com then it is treated the same. Ideally > - the user could make these aliases and it would apply to all > lists the user is a member of. This has been long requested. An early motion in that direction is in 2.1, but its only fractional. Down the pipe the intention is to have user accounts which subscribed to lists, with each account having one or more email addresses, each of which may have a mail status in regard to each list the account is a member of. > Right now the url http://domain.com/mailman/admin goes to a page > that just shows public lists. I'd like to see a link there that > goes to a master admin page - where you first have to enter the > master password - and then you get several master admin options - > including: > 1) A list of all lists - links to the admin pages of each list > whether public or not. 2) Menu to create a new list - avoiding > the need to go to the command line. 3) Change master Password. > 4) All other master maintenance stuff - checking the database > integrity - that sort of thing. 5) Delete a list. 6) Options for > list owners - that would allow/not allow list owners to delete a > list. 7) Control of other list manager privileges - virtual > domain owners - etc. 8) Menu to set defaults for new list > creation - or defaults for new lists on a per virtual domain > basis. Again, functionally some of this is already in 2.1 (eg new list creation). More generally: Yup, needed, wanted, should be done. > If I set my password - that should be my password for all > lists. Yup, part of the above coming-some-day-soon user account system. > This also applies to my real name... Already in 2.1. > I'd like a setting so that if non-members post to the list that > their messages are automatically dropped (bounced) without list > owner intervention. In 2.1. > The bounce message should be able to be customized giving the user > information to join the list - or just go to hell. 2.1 is much better in this regard, but I'll have to see if it went that far. -- J C Lawrence ---------(*) Satan, oscillate my metallic sonatas. claw@kanga.nu He lived as a devil, eh? http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live. From Dan Mick Wed Jan 2 22:29:09 2002 From: Dan Mick (Dan Mick) Date: Wed, 2 Jan 2002 14:29:09 -0800 (PST) Subject: [Mailman-Developers] Marc Perkel's Feature Wish List Message-ID: <200201022229.OAA08243@utopia.West.Sun.COM> > > I'd like a setting so that if non-members post to the list that their > > messages are automatically dropped (bounced) without list owner > > intervention. The bounce message should be able to be customized giving > > the user information to join the list - or just go to hell. >=20 >=20 > I've got a patch to do that=A0against 2.0.8 which works for new lists. I= f > someone could tell me what the right way is to add an entry into an exist= ing > database I'd have a complete patch. I think Mailman/versions.py::NewVars() is the one that does all that sort of stuff. It's invoked when the version change is detected in MailList.py::CheckVersion(), though, and that version number is owned by Barry/the official distro. I think it's probably difficult to do in a patch so that it doesn't interfere with future releases. From spacey-mailman@lenin.nu Wed Jan 2 23:09:26 2002 From: spacey-mailman@lenin.nu (Peter C. Norton) Date: Wed, 2 Jan 2002 15:09:26 -0800 Subject: [Mailman-Developers] Marc Perkel's Feature Wish List In-Reply-To: <200201022229.OAA08243@utopia.West.Sun.COM>; from dmick@utopia.West.Sun.COM on Wed, Jan 02, 2002 at 02:29:09PM -0800 References: <200201022229.OAA08243@utopia.West.Sun.COM> Message-ID: <20020102150926.M32457@lenin.nu> --Q68bSM7Ycu6FN28Q Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit Well, attached is the patch. If anyone who knows more can post the command for modifying the database directly, then this would useable now. Though the interface to the same functionality will obviously change for 2.1. -Peter On Wed, Jan 02, 2002 at 02:29:09PM -0800, Dan Mick wrote: > > > > I'd like a setting so that if non-members post to the list that their > > > messages are automatically dropped (bounced) without list owner > > > intervention. The bounce message should be able to be customized giving > > > the user information to join the list - or just go to hell. > > > > > > I've got a patch to do that against 2.0.8 which works for new lists. If > > someone could tell me what the right way is to add an entry into an existing > > database I'd have a complete patch. > > I think Mailman/versions.py::NewVars() is the one that does all that > sort of stuff. It's invoked when the version change is detected > in MailList.py::CheckVersion(), though, and that version number > is owned by Barry/the official distro. > > I think it's probably difficult to do in a patch so that it doesn't > interfere with future releases. > > > _______________________________________________ > Mailman-Developers mailing list > Mailman-Developers@python.org > http://mail.python.org/mailman/listinfo/mailman-developers -- The 5 year plan: In five years we'll make up another plan. Or just re-use this one. --Q68bSM7Ycu6FN28Q Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="mailman-rejectpost.patch" diff --new-file --exclude=~$ -r -u mailman-2.0.8.dist/Mailman/Defaults.py.in mailman-2.0.8/Mailman/Defaults.py.in --- mailman-2.0.8.dist/Mailman/Defaults.py.in Wed Nov 15 23:23:52 2000 +++ mailman-2.0.8/Mailman/Defaults.py.in Tue Dec 4 03:15:34 2001 @@ -344,6 +344,8 @@ # Make it 1 when it works. DEFAULT_MEMBER_POSTING_ONLY = 0 +# By default, admins must approve all posts. Set to 1 to just bounce +DEFAULT_AUTO_REJECT_NONMEMBERS = 0 ##### diff --new-file --exclude=~$ -r -u mailman-2.0.8.dist/Mailman/Handlers/Hold.py mailman-2.0.8/Mailman/Handlers/Hold.py --- mailman-2.0.8.dist/Mailman/Handlers/Hold.py Thu May 31 17:05:44 2001 +++ mailman-2.0.8/Mailman/Handlers/Hold.py Tue Dec 4 04:41:04 2001 @@ -149,8 +149,13 @@ not Utils.FindMatchingAddresses(sender, posters): # the sender is neither a member of the list, nor in the list of # explicitly approved posters - hold_for_approval(mlist, msg, msgdata, NonMemberPost) - # no return + if mlist.auto_reject_nonmembers: + # The list has a strict members-only policy + reject_no_approval(mlist, msg, msgdata, NonMemberPost) + else: + # The list lets the admin make the call + hold_for_approval(mlist, msg, msgdata, NonMemberPost) + # no return elif mlist.posters: posters = Utils.List2Dict(map(string.lower, mlist.posters)) if not Utils.FindMatchingAddresses(sender, posters): @@ -237,6 +242,51 @@ if not fromusenet and not mlist.dont_respond_to_post_requests: subject = 'Your message to %s awaits moderator approval' % listname text = Utils.maketext('postheld.txt', d) + msg = Message.UserNotification(sender, adminaddr, subject, text) + HandlerAPI.DeliverToUser(mlist, msg) + # Log the held message + syslog('vette', '%s post from %s held: %s' % (listname, sender, reason)) + # raise the specific MessageHeld exception to exit out of the message + # delivery pipeline + raise exc + + + +# based on hold_for_approval() above. +# at nylug, we want to bounce back a rejection message to users who +# post without being members. We don't want to have to spend time dealing +# with the administrative overhead of checking and approving emails that we +# clearly don't support as a matter of policy. +# It sounds small, but its a good idea. It should be an option in mailman. +# -PN 20011128 +def reject_no_approval(mlist, msg, msgdata, exc): + if type(exc) is ClassType: + # Go ahead and instantiate it now. + exc = exc() + listname = mlist.real_name + reason = str(exc) + sender = msg.GetSender() + adminaddr = mlist.GetAdminEmail() + listurl = mlist.GetScriptURL('admin_url', absolute=1) + msgdata['rejection-notice'] = exc.rejection_notice(mlist) + d = {'listname' : listname, + 'hostname' : mlist.host_name, + 'reason' : reason, + 'sender' : sender, + 'subject' : msg.get('subject', '(no subject)'), + 'admindb_url': mlist.GetScriptURL('admindb', absolute=1), + 'admindb_url': mlist.GetScriptURL('admindb', absolute=1), + 'listurl' : mlist.GetScriptURL('listinfo', absolute=1), + } + # mlist.HoldMessage(msg, reason, msgdata) + # now we need to craft and send a message to the list admin so they can + # deal with the held message + # Or not. -PN + # We may want to send a notification to the original sender too + fromusenet = msgdata.get('fromusenet') + if not fromusenet and not mlist.dont_respond_to_post_requests: + subject = 'Your message to %s has been rejected' % listname + text = Utils.maketext('postrejected.txt', d) msg = Message.UserNotification(sender, adminaddr, subject, text) HandlerAPI.DeliverToUser(mlist, msg) # Log the held message diff --new-file --exclude=~$ -r -u mailman-2.0.8.dist/Mailman/Handlers/Hold.py~ mailman-2.0.8/Mailman/Handlers/Hold.py~ --- mailman-2.0.8.dist/Mailman/Handlers/Hold.py~ Wed Dec 31 19:00:00 1969 +++ mailman-2.0.8/Mailman/Handlers/Hold.py~ Tue Dec 4 02:33:58 2001 @@ -0,0 +1,296 @@ +# Copyright (C) 1998,1999,2000,2001 by the Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +"""Determine whether this message should be held for approval. + +This modules tests only for hold situations, such as messages that are too +large, messages that have potential administrivia, etc. Definitive approvals +or denials are handled by a different module. + +If no determination can be made (i.e. none of the hold criteria matches), then +we do nothing. If the message must be held for approval, then the hold +database is updated and any administator notification messages are sent. +Finally an exception is raised to let the pipeline machinery know that further +message handling should stop. + +""" + +import os +import string +import time +from types import ClassType + +try: + import cPickle + pickle = cPickle +except ImportError: + import pickle + +import HandlerAPI +from Mailman import Message +from Mailman import mm_cfg +from Mailman import Utils +from Mailman.Logging.Syslog import syslog + + + +class ForbiddenPoster(HandlerAPI.MessageHeld): + "Sender is explicitly forbidden" + rejection = 'You are forbidden from posting messages to this list.' + +class ModeratedPost(HandlerAPI.MessageHeld): + "Post to moderated list" + rejection = 'Your message has been deemed inappropriate by the moderator.' + +class NonMemberPost(HandlerAPI.MessageHeld): + "Post by non-member to a members-only list" + rejection = 'Non-members are not allowed to post messages to this list.' + +class NotExplicitlyAllowed(HandlerAPI.MessageHeld): + "Posting to a restricted list by sender requires approval" + rejection = 'This list is restricted; your message was not approved.' + +class TooManyRecipients(HandlerAPI.MessageHeld): + "Too many recipients to the message" + rejection = 'Please trim the recipient list; it is too long.' + +class ImplicitDestination(HandlerAPI.MessageHeld): + "Message has implicit destination" + rejection = '''Blind carbon copies or other implicit destinations are +not allowed. Try reposting your message by explicitly including the list +address in the To: or Cc: fields.''' + +class Administrivia(HandlerAPI.MessageHeld): + "Message may contain administrivia" + + def rejection_notice(self, mlist): + return """Please do *not* post administrative requests to the mailing +list. If you wish to subscribe, visit %(listurl)s or send a message with the +word `help' in it to the request address, %(request)s, for further +instructions.""" % {'listurl': mlist.GetScriptURL('listinfo', absolute=1), + 'request': mlist.GetRequestEmail(), + } + +class SuspiciousHeaders(HandlerAPI.MessageHeld): + "Message has a suspicious header" + rejection = 'Your message had a suspicious header.' + +class MessageTooBig(HandlerAPI.MessageHeld): + "Message body is too big: %d bytes but there's a limit of %d KB" + def __init__(self, msgsize, limit): + self.__msgsize = msgsize + self.__limit = limit + + def __str__(self): + return HandlerAPI.MessageHeld.__str__(self) % ( + self.__msgsize, self.__limit) + + def rejection_notice(self, mlist): + return """Your message was too big; please trim it to less than +%(kb)s KB in size.""" % {'kb': mlist.max_message_size} + + + +def process(mlist, msg, msgdata): + if msgdata.get('approved'): + return + # get the sender of the message + listname = mlist.internal_name() + adminaddr = listname + '-admin' + sender = msg.GetSender() + # Special case an ugly sendmail feature: If there exists an alias of the + # form "owner-foo: bar" and sendmail receives mail for address "foo", + # sendmail will change the envelope sender of the message to "bar" before + # delivering. This feature does not appear to be configurable. *Boggle*. + if not sender or sender[:len(listname)+6] == adminaddr: + sender = msg.GetSender(use_envelope=0) + # + # possible administrivia? + if mlist.administrivia and Utils.IsAdministrivia(msg): + hold_for_approval(mlist, msg, msgdata, Administrivia) + # no return + # + # is the poster in the list of explicitly forbidden posters? + if len(mlist.forbidden_posters): + forbiddens = Utils.List2Dict(mlist.forbidden_posters) + addrs = Utils.FindMatchingAddresses(sender, forbiddens) + if addrs: + hold_for_approval(mlist, msg, msgdata, ForbiddenPoster) + # no return + # + # is the list moderated? if so and the sender is not in the list of + # allowed posters then hold the message. + if mlist.moderated: + posters = Utils.List2Dict(mlist.posters) + addrs = Utils.FindMatchingAddresses(sender, posters) + if not addrs: + hold_for_approval(mlist, msg, msgdata, ModeratedPost) + # no return + # + # postings only from list members? mlist.posters are allowed in addition + # to list members. If not set, then only the members in posters are + # allowed to post without approval. + if mlist.member_posting_only: + posters = Utils.List2Dict(map(string.lower, mlist.posters)) + if not mlist.IsMember(sender) and \ + not Utils.FindMatchingAddresses(sender, posters): + # the sender is neither a member of the list, nor in the list of + # explicitly approved posters + if mlist.auto_reject_nonmembers: + # The list has a strict members-only policy + reject_no_approval(mlist, msg, msgdata, NonMemberPost) + else: + # The list lets the admin make the call + hold_for_approval(mlist, msg, msgdata, NonMemberPost) + # no return + elif mlist.posters: + posters = Utils.List2Dict(map(string.lower, mlist.posters)) + if not Utils.FindMatchingAddresses(sender, posters): + # the sender is not explicitly in the list of allowed posters + # (which is non-empty), so hold the message + hold_for_approval(mlist, msg, msgdata, NotExplicitlyAllowed) + # no return + # + # are there too many recipients to the message? + if mlist.max_num_recipients > 0: + # figure out how many recipients there are + recips = [] + toheader = msg.getheader('to') + if toheader: + recips = recips + map(string.strip, string.split(toheader, ',')) + ccheader = msg.getheader('cc') + if ccheader: + recips = recips + map(string.strip, string.split(ccheader, ',')) + if len(recips) > mlist.max_num_recipients: + hold_for_approval(mlist, msg, msgdata, TooManyRecipients) + # no return + # + # implicit destination? Note that message originating from the Usenet + # side of the world should never be implicitly destined + if mlist.require_explicit_destination and \ + not mlist.HasExplicitDest(msg) and \ + not msgdata.get('fromusenet'): + # then + hold_for_approval(mlist, msg, msgdata, ImplicitDestination) + # no return + # + # suspicious headers? + if mlist.bounce_matching_headers: + triggered = mlist.HasMatchingHeader(msg) + if triggered: + # TBD: Darn - can't include the matching line for the admin + # message because the info would also go to the sender + hold_for_approval(mlist, msg, msgdata, SuspiciousHeaders) + # no return + # + # message too big? + if mlist.max_message_size > 0: + bodylen = len(msg.body) + if bodylen/1024.0 > mlist.max_message_size: + hold_for_approval(mlist, msg, msgdata, + MessageTooBig(bodylen, mlist.max_message_size)) + # no return + + + +def hold_for_approval(mlist, msg, msgdata, exc): + # TBD: This should really be tied into the email confirmation system so + # that the message can be approved or denied via email as well as the + # Web. That's for later though, because it would mean a revamp of the + # MailCommandHandler too. + # + if type(exc) is ClassType: + # Go ahead and instantiate it now. + exc = exc() + listname = mlist.real_name + reason = str(exc) + sender = msg.GetSender() + adminaddr = mlist.GetAdminEmail() + msgdata['rejection-notice'] = exc.rejection_notice(mlist) + mlist.HoldMessage(msg, reason, msgdata) + # now we need to craft and send a message to the list admin so they can + # deal with the held message + d = {'listname' : listname, + 'hostname' : mlist.host_name, + 'reason' : reason, + 'sender' : sender, + 'subject' : msg.get('subject', '(no subject)'), + 'admindb_url': mlist.GetScriptURL('admindb', absolute=1), + } + if mlist.admin_immed_notify: + # get the text from the template + subject = '%s post from %s requires approval' % (listname, sender) + text = Utils.maketext('postauth.txt', d, raw=1) + # craft the admin notification message and deliver it + msg = Message.UserNotification(adminaddr, adminaddr, subject, text) + HandlerAPI.DeliverToUser(mlist, msg) + # We may want to send a notification to the original sender too + fromusenet = msgdata.get('fromusenet') + if not fromusenet and not mlist.dont_respond_to_post_requests: + subject = 'Your message to %s awaits moderator approval' % listname + text = Utils.maketext('postheld.txt', d) + msg = Message.UserNotification(sender, adminaddr, subject, text) + HandlerAPI.DeliverToUser(mlist, msg) + # Log the held message + syslog('vette', '%s post from %s held: %s' % (listname, sender, reason)) + # raise the specific MessageHeld exception to exit out of the message + # delivery pipeline + raise exc + + + +# based on hold_for_approval() above. +# at nylug, we want to bounce back a rejection message to users who +# post without being members. We don't want to have to spend time dealing +# with the administrative overhead of checking and approving emails that we +# clearly don't support as a matter of policy. +# It sounds small, but its a good idea. It should be an option in mailman. +# -PN 20011128 +def reject_no_approval(mlist, msg, msgdata, exc): + if type(exc) is ClassType: + # Go ahead and instantiate it now. + exc = exc() + listname = mlist.real_name + reason = str(exc) + sender = msg.GetSender() + adminaddr = mlist.GetAdminEmail() + listurl = mlist.GetScriptURL('admin_url', absolute=1) + msgdata['rejection-notice'] = exc.rejection_notice(mlist) + d = {'listname' : listname, + 'hostname' : mlist.host_name, + 'reason' : reason, + 'sender' : sender, + 'subject' : msg.get('subject', '(no subject)'), + 'admindb_url': mlist.GetScriptURL('admindb', absolute=1), + 'admindb_url': mlist.GetScriptURL('admindb', absolute=1), + 'listurl' : mlist.GetScriptURL('listinfo', absolute=1), + } + # mlist.HoldMessage(msg, reason, msgdata) + # now we need to craft and send a message to the list admin so they can + # deal with the held message + # Or not. -PN + # We may want to send a notification to the original sender too + fromusenet = msgdata.get('fromusenet') + if not fromusenet and not mlist.dont_respond_to_post_requests: + subject = 'Your message to %s has been rejected' % listname + text = Utils.maketext('postrejected.txt', d) + msg = Message.UserNotification(sender, adminaddr, subject, text) + HandlerAPI.DeliverToUser(mlist, msg) + # Log the held message + syslog('vette', '%s post from %s held: %s' % (listname, sender, reason)) + # raise the specific MessageHeld exception to exit out of the message + # delivery pipeline + raise exc diff --new-file --exclude=~$ -r -u mailman-2.0.8.dist/Mailman/MailList.py mailman-2.0.8/Mailman/MailList.py --- mailman-2.0.8.dist/Mailman/MailList.py Tue May 29 10:45:27 2001 +++ mailman-2.0.8/Mailman/MailList.py Tue Dec 4 04:00:57 2001 @@ -323,6 +323,7 @@ self.private_roster = mm_cfg.DEFAULT_PRIVATE_ROSTER self.obscure_addresses = mm_cfg.DEFAULT_OBSCURE_ADDRESSES self.member_posting_only = mm_cfg.DEFAULT_MEMBER_POSTING_ONLY + self.auto_reject_nonmembers = mm_cfg.DEFAULT_AUTO_REJECT_NONMEMBERS self.host_name = mm_cfg.DEFAULT_HOST_NAME self.admin_member_chunksize = mm_cfg.DEFAULT_ADMIN_MEMBER_CHUNKSIZE self.administrivia = mm_cfg.DEFAULT_ADMINISTRIVIA @@ -660,6 +661,16 @@ " If you want list members to be able to" " post, plus a handful of other posters, see the posters " " setting below"), + + ('auto_reject_nonmembers', mm_cfg.Radio, ('No', 'Yes'), 0, + 'Automate rejection of posts from non-subscribers?' + ' (auto_reject_nonmembers)', + + "Use this option if you have enabled member_posting_only and" + " you're sure that this list will only ever want posts from" + " subscribed addresses. This will automaticly send back a" + " message to the sender asking them to subscribe to the list" + " or to send from their subscribed address."), ('posters', mm_cfg.EmailList, (5, WIDTH), 1, 'Addresses of members accepted for posting to this' diff --new-file --exclude=~$ -r -u mailman-2.0.8.dist/Mailman/versions.py mailman-2.0.8/Mailman/versions.py --- mailman-2.0.8.dist/Mailman/versions.py Tue Jul 10 10:58:56 2001 +++ mailman-2.0.8/Mailman/versions.py Tue Dec 4 03:05:31 2001 @@ -82,6 +82,10 @@ if not hasattr(l, newname) and newdefault is not uniqueval: setattr(l, newname, newdefault) + # Add the option to not have to admin bouncing messages + if not hasattr(l, "auto_reject_nonmembers"): + setattr(l, "auto_reject_nonmembers", mm_cfg.DEFAULT_AUTO_REJECT_NONMEMBERS) + # Migrate to 1.0b6, klm 10/22/1998: PreferStored('reminders_to_admins', 'umbrella_list', mm_cfg.DEFAULT_UMBRELLA_LIST) diff --new-file --exclude=~$ -r -u mailman-2.0.8.dist/templates/postrejected.txt mailman-2.0.8/templates/postrejected.txt --- mailman-2.0.8.dist/templates/postrejected.txt Wed Dec 31 19:00:00 1969 +++ mailman-2.0.8/templates/postrejected.txt Tue Dec 4 02:33:58 2001 @@ -0,0 +1,17 @@ +Your mail to '%(listname)s' with the subject + + %(subject)s + +Has been rejected because + + %(reason)s + +If you would like to post messages to this list, please +make sure you are subscribed and sending from your +subscribed address. + +Visit + + %(listurl)s + +If you are not yet a subscriber. --Q68bSM7Ycu6FN28Q-- From dev@anabasis.net Wed Jan 2 23:29:26 2002 From: dev@anabasis.net (Lawrence Weeks) Date: Wed, 2 Jan 2002 17:29:26 -0600 Subject: [Mailman-Developers] One more wish Message-ID: <20020102172926.A28544@xenophon.anabasis.net> Another wish... probation. I had a system with Majordomo, daily cron rotation of subscriber files, that I liked, hackish as it was. New subscribers were unable to send mail to a particular large and active list for a period of time (five days in my case) after subscribing. This was to force new subscribers to read the list traffic and figure out, as much as they could in five days, list culture and what is acceptable. That list has lots of "juvenile" subscribers, and the probation period is (was) useful to temper their behavior. And how about the oft-requested rotating footers? I looked in an alpha release of 2.1 and didn't see it in Decorate.py. I'd like this functionality, so I'll make these changes myself if necessary. I'll happily contribute patches, but I'm not an experienced Python coder nor am I too familiar with the MM structure, so it'll likely be an ugly hack. :-) Larry -- Lawrence Weeks "Audaces fortuna juvat." dev@anabasis.net From mhz@alt-linux.org Thu Jan 3 00:01:22 2002 From: mhz@alt-linux.org (Mikhail Zabaluev) Date: Thu, 3 Jan 2002 03:01:22 +0300 Subject: [Mailman-Developers] Re: About Mailman VS. Base64 encoding In-Reply-To: References: <20011225225823.GB2014@localhost.localdomain> Message-ID: <20020103000122.GA1928@localhost.localdomain> Hello Caleb, On Fri, Dec 28, 2001 at 08:51:27AM +0800, Caleb wrote: > > Thank you for your reply to my question, as being a Mailman user, I am nor familiar with > the Python progamming, may I have the patch code you written? thanks a lot! I've submitted the updated patches to SourceForge: http://sourceforge.net/tracker/index.php?func=detail&aid=498747&group_id=103&atid=300103 http://sourceforge.net/tracker/index.php?func=detail&aid=498766&group_id=103&atid=300103 Hope this helps. Be sure to test them, I haven't done it last time, because my Mailman/Python installation has been scrapped. -- Stay tuned, MhZ JID: mookid@jabber.org ___________ It's so beautifully arranged on the plate -- you know someone's fingers have been all over it. -- Julia Child on nouvelle cuisine. From otaylor@redhat.com Thu Jan 3 02:03:50 2002 From: otaylor@redhat.com (Owen Taylor) Date: 02 Jan 2002 21:03:50 -0500 Subject: [Mailman-Developers] Marc Perkel's Feature Wish List In-Reply-To: Marc Perkel's message of "Wed, 02 Jan 2002 14:11:59 -0800" References: <3C3385AF.2DAFD88F@perkel.com> Message-ID: --=-=-= Marc Perkel writes: > User Aliases > ------------- > I'd like to be able to enter (and/or allow the user to enter) other > email addresses that if they sens email from the other address they have > the same membership privileges as the original member email address. > Thus if gnu@eff.org is in the list but the email comes from gnu@toad.com > then it is treated the same. Ideally - the user could make these aliases > and it would apply to all lists the user is a member of. What we do for gnome.org is allow people to subscribe addresses to post-only@gnome.org, and any address subscribed to post-only@gnome.org can post to any list without being subscribed to it. (Trivial and hackish patch against 2.0.x attached) Low tech, but works. Regards, Owen --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=mailman-2.0beta5-postonly.patch Content-Description: Patch for post-only list --- mailman-2.0beta5/Mailman/Handlers/Hold.py.postonly Tue Aug 1 19:02:28 2000 +++ mailman-2.0beta5/Mailman/Handlers/Hold.py Sat Aug 5 18:31:50 2000 @@ -43,6 +43,8 @@ from Mailman import Message from Mailman import mm_cfg from Mailman import Utils +from Mailman import MailList +from Mailman import Errors from Mailman.Logging.Syslog import syslog @@ -104,6 +106,13 @@ +def CheckPostOnly (sender): + try: + m = MailList.MailList('post-only', lock=0) + return m.IsMember (sender) + except Errors.MMListError: + return 0 + def process(mlist, msg, msgdata): if msgdata.get('approved'): return @@ -141,7 +150,8 @@ if mlist.member_posting_only: posters = Utils.List2Dict(map(string.lower, mlist.posters)) if not mlist.IsMember(sender) and \ - not Utils.FindMatchingAddresses(sender, posters): + not Utils.FindMatchingAddresses(sender, posters) and \ + not CheckPostOnly(sender): # the sender is neither a member of the list, nor in the list of # explicitly approved posters hold_for_approval(mlist, msg, msgdata, NonMemberPost) --=-=-=-- From dmick@utopia.West.Sun.COM Thu Jan 3 12:31:26 2002 From: dmick@utopia.West.Sun.COM (Dan Mick) Date: Thu, 03 Jan 2002 04:31:26 -0800 Subject: [Mailman-Developers] Couple more small bugs in current CVS Message-ID: <3C344F1E.96E1BBF8@utopia.west.sun.com> Mailed these to Barry too, but again, just in case anyone else is running into them before Barry gets to them: Symptom: going to Digest option page doesn't work. Index: Mailman/Cgi/admin.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/Cgi/admin.py,v retrieving revision 2.54 diff -r2.54 admin.py 620c620 < if value is None: --- > if value is None and varname[0] != '_': Symptom: changing real name or subscription address doesn't work. Index: Mailman/MailList.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/MailList.py,v retrieving revision 2.52 diff -r2.52 MailList.py 816c816 < if not mlist.isMember(oldaddr): --- > if not mlist.isMember(addr): From kathyba@athabascau.ca Thu Jan 3 15:29:14 2002 From: kathyba@athabascau.ca (Kathy Baron) Date: Thu, 03 Jan 2002 08:29:14 -0700 (MST) Subject: [Mailman-Developers] unsubscribe In-Reply-To: <15410.33571.266528.662908@anthem.wooz.org> Message-ID: On Tue, 1 Jan 2002, Barry A. Warsaw wrote: > Date: Tue, 01 Jan 2002 22:48:51 -0500 > From: "Barry A. Warsaw" > To: Dan Mick > Cc: mailman-developers@python.org > Subject: Re: [Mailman-Developers] New Bounce system > > > >>>>> "DM" == Dan Mick writes: > > >> so I need more information. Exactly how did you do the > >> upgrade? > > DM> The standard way; config (as me) and "make install" (as root). > > Did you install over an existing Mailman 2.0.x installation, or did > you do a fresh MM2.1 install and copy list directories over? > > >> Which version of Python are you using? > > DM> 2.1.1 > > Cool. > > >> Do you see any errors in logs/error that might be relevant? > > DM> Nothing easily findable, no. > > Okay. > > >> Try using bin/dumpdb on both the (old) config.db value and the > >> (new) config.pck value and check attributes like > >> `data_version', and `delivery_status'. > > DM> Where do I find the old and new files?...the new ones are > DM> obviously there, but the old ones aren't saved by upgrade, are > DM> they?...it'd be nice if they were somewhere I'm missing, > DM> because then I could manually fix the problem. (No, I don't > DM> have backups.) > > All the files should be in lists//config.{db,pck}{,.last} > > The upgrade procedure doesn't get rid of the .db files. > > DM> A small string under the "nomail" box, if checked, would do > DM> it; I'm not sure it would add a lot to the size (but might; > DM> haven't futzed with the layout). Given that we're already two > DM> vertical spaces because of the "realname" box, it might fit > DM> without changing the size. > > I'll check out your patch momentarily. Thanks! > -Barry > > _______________________________________________ > Mailman-Developers mailing list > Mailman-Developers@python.org > http://mail.python.org/mailman/listinfo/mailman-developers > Kathy Baron Computing Services From jerry@sandiego.edu Thu Jan 3 18:35:32 2002 From: jerry@sandiego.edu (Jerry Stratton) Date: Thu, 3 Jan 2002 10:35:32 -0800 Subject: [Mailman-Developers] One more wish In-Reply-To: <20020102172926.A28544@xenophon.anabasis.net> References: <20020102172926.A28544@xenophon.anabasis.net> Message-ID: >Another wish... probation. I had a system with Majordomo, daily >cron rotation of subscriber files, that I liked, hackish as it >was. New subscribers were unable to send mail to a particular large >and active list for a period of time (five days in my case) after >subscribing. This was to force new subscribers to read the list traffic >and figure out, as much as they could in five days, list culture and >what is acceptable. That list has lots of "juvenile" subscribers, >and the probation period is (was) useful to temper their behavior. A probation period would be a nice spam-deterrent also; I'm pretty sure we've had at least one person subscribe first, then send advertising immediately, to one of our lists. Jerry -- jerry@sandiego.edu http://www.sandiego.edu/~jerry/ Serra 188B/x8773 -- The more restrictions there are, the poorer the people become. The greater the government=B9s power, the more chaotic the nation would become. The more the ruler imposes laws and prohibitions on his people, the more frequently evil deeds would occur. --The Silence of the Wise: The Sayings of Lao Zi From Dale Newfield Thu Jan 3 18:53:08 2002 From: Dale Newfield (Dale Newfield) Date: Thu, 3 Jan 2002 13:53:08 -0500 (EST) Subject: [Mailman-Developers] Yet another wish? In-Reply-To: Message-ID: I must apologize in advance, since I haven't been paying that close attention to recent developments here, and this may already be included. I'd like it to be easy to set up mailman to run with greatly reduced functionality (to run a single announcement (not discussion) list for a site), which shouldn't take any modification, except that I'd like to be able to turn off the password requirements for it--I want people to be able to subscribe/unsubscribe just by sticking their email address in a field and hitting a button. Other fanciness (digest/ack/etc.) should also be hidden, as this is really meant to be a bare-bones way to use mailman. I've hacked earlier mailman installs to remove some of the security, but not in a clean enough way to submit as a patch. -Dale From barry@zope.com Thu Jan 3 19:17:40 2002 From: barry@zope.com (Barry A. Warsaw) Date: Thu, 3 Jan 2002 14:17:40 -0500 Subject: [Mailman-Developers] One more wish References: <20020102172926.A28544@xenophon.anabasis.net> Message-ID: <15412.44628.393534.425783@geddy.wooz.org> >>>>> "LW" == Lawrence Weeks writes: LW> Another wish... probation. I had a system with Majordomo, LW> daily cron rotation of subscriber files, that I liked, hackish LW> as it was. New subscribers were unable to send mail to a LW> particular large and active list for a period of time (five LW> days in my case) after subscribing. This was to force new LW> subscribers to read the list traffic and figure out, as much LW> as they could in five days, list culture and what is LW> acceptable. That list has lots of "juvenile" subscribers, and LW> the probation period is (was) useful to temper their behavior. Although it isn't time-based, MM2.1 will let you set a default `moderate' flag on a per-user basis. As long as that flag is set, member postings will be held for moderator approval. At the same time a moderator approves of a member's held posting, s/he can clear the moderate bit, thus taking the member off probation. (This latter feature is only in cvs). I think a time-based auto-de-probation feature will have to wait until after MM2.1. LW> And how about the oft-requested rotating footers? I looked in LW> an alpha release of 2.1 and didn't see it in Decorate.py. LW> I'd like this functionality, so I'll make these changes myself LW> if necessary. I'll happily contribute patches, but I'm not an LW> experienced Python coder nor am I too familiar with the MM LW> structure, so it'll likely be an ugly hack. :-) I'm not quite sure what "rotating footers" mean... -Barry From barry@zope.com Thu Jan 3 19:00:20 2002 From: barry@zope.com (Barry A. Warsaw) Date: Thu, 3 Jan 2002 14:00:20 -0500 Subject: [Mailman-Developers] Marc Perkel's Feature Wish List References: <200201022229.OAA08243@utopia.West.Sun.COM> Message-ID: <15412.43588.18955.757604@geddy.wooz.org> >> I've got a patch to do that=A0against 2.0.8 which works for new >> lists. If someone could tell me what the right way is to add >> an entry into an existing database I'd have a complete patch. >>>>> "DM" =3D=3D Dan Mick writes: DM> I think Mailman/versions.py::NewVars() is the one that does DM> all that sort of stuff. It's invoked when the version change DM> is detected in MailList.py::CheckVersion(), though, and that DM> version number is owned by Barry/the official distro. DM> I think it's probably difficult to do in a patch so that it DM> doesn't interfere with future releases. True. Each list has an integer attribute called `data_version' and this is compared against Mailman/Versions.py::DATA_FILE_VERSION. If the latter is greater, then we run the schema updates in versions.py, which currently is a morass of every change in schema or data format since the early early 1.0 days. It's getting very close to unmaintainable. As Dan rightly points out though, I increment DATA_FILE_VERSION whenever I add or change a MailList attribute, so for you to increment it in your patch means eventually we'll conflict and some lists may not update. But I don't think you'll need to do that. Remember that you can always add an arbitrary attribute to a MailList object, e.g. with bin/withlist and as long as the attribute name doesn't collide with some existing attr name, and as long as it doesn't start with an underscore, Mailman's persistence mechanism will happily save and load that attribute as if it were one of its own. So my suggestion would be to include a bin/withlist script that adds the attribute you need and then saves the list. Don't muck around with versions.py and Version.py. -Barry From barry@zope.com Thu Jan 3 19:02:53 2002 From: barry@zope.com (Barry A. Warsaw) Date: Thu, 3 Jan 2002 14:02:53 -0500 Subject: [Mailman-Developers] Marc Perkel's Feature Wish List References: <200201022229.OAA08243@utopia.West.Sun.COM> <20020102150926.M32457@lenin.nu> Message-ID: <15412.43741.355810.525574@geddy.wooz.org> Neat! Note that in MM2.1 Mailman/Bouncer.py has a method BounceMessage() that performs all the basic logic for bouncing (rejecting) a message. -Barry From barry@zope.com Thu Jan 3 18:53:07 2002 From: barry@zope.com (Barry A. Warsaw) Date: Thu, 3 Jan 2002 13:53:07 -0500 Subject: [Mailman-Developers] Marc Perkel's Feature Wish List References: <3C3385AF.2DAFD88F@perkel.com> Message-ID: <15412.43155.685770.417330@geddy.wooz.org> >>>>> "MP" == Marc Perkel writes: MP> I have set up the system and I've been running it for a few MP> weeks and I really like it. But there's a few little missing MP> features - many of which should be easy to add, that I hope MP> you developers will consider. I'm the systems admin for the MP> Electronic Frontier Foundation. Ah, an excellent organization! MP> I'd like to be able to enter (and/or allow the user to enter) MP> other email addresses that if they sens email from the other MP> address they have the same membership privileges as the MP> original member email address. Thus if gnu@eff.org is in the MP> list but the email comes from gnu@toad.com then it is treated MP> the same. Ideally - the user could make these aliases and it MP> would apply to all lists the user is a member of. This will be added after MM2.1 when I consolidate the user database. For now, I've added a FAQ entry describing the workaround: http://www.python.org/cgi-bin/faqw-mm.py?req=show&file=faq02.001.htp MP> Right now the url http://domain.com/mailman/admin goes to a MP> page that just shows public lists. I'd like to see a link MP> there that goes to a master admin page - where you first have MP> to enter the master password - and then you get several master MP> admin options - including: An excellent idea. The way to do this is to have a `site' cgi script which provides the functionality. I think it's too late to add this to MM2.1, unless someone contributes the code. I'm offline right now, but I would suggest you add these ideas to the Mailman wiki: http://www.zope.org/Members/bwarsaw/MailmanDesignNotes/FrontPage perhaps to the MM3 notes section? Or better yet, add them to the Feature Request tracker on the SourceForge project. MP> 2) Menu to create a new list - avoiding the need to go to the MP> command MP> line. Please note that MM2.1 will let you create new lists thru-the-web. The link is on the admin overview page. MP> Mailman allows a list of people (nonmembers) who are allowed MP> to post to the list. The list normally contains additional MP> email addresses. I would like to see the ability to refer to MP> the entire membership of other lists for membership/or posting MP> privileges. For example "@otherlistname" could mean to include MP> all the members of another list as being allowed to post to MP> this list. Thus you could create an umbrella list - containing MP> 3 other lists - and make the list postable by the members of MP> any of the three lists (and thier personal aliases) and no one MP> else. MP> Additionally - I'd like to enter a flat file reference MP> "/usr/lists/viplist" to include as people who can also MP> post. So if I have 50 lists and we get a new board member - I MP> don't have to add them as a privileged person to 50 lists. You will be able to do both these things in MM2.1, but you'll have to hack a little Python. MM2.1 has an extension mechanism which would let you a small Python module to get this behavior. I agree that both are worthwhile and I'd like to see a more integrated approach for a future version. MP> If I set my password - that should be my password for all MP> lists. This also applies to my real name - for whenever you MP> add that - and other info about me as a user that I chose to MP> set - such as my email aliases - my home page - my favorite MP> links - or whatever. Maybe the ability to have a checkbox on MP> some "per list" setting that allow me to apply the changes to MP> all lists. This checkbox exists in MM2.1. You can change your RealName, email address, or password globally, i.e. on all lists in that (virtual) domain. It's a bit of a hack internally, but a more principled approach will be added when the consolidated user database is implemented. MP> Some people play by the rules - some don't. It would be nice MP> to have global blacklist and global whitelist features to MP> control spammers and those who otherwise misbehave. See Mailman/Handlers/SpamDetect.py for the current approach. Requires shell access to the Mailman installation. MP> I'd like a setting so that if non-members post to the list MP> that their messages are automatically dropped (bounced) MP> without list owner intervention. The bounce message should be MP> able to be customized giving the user information to join the MP> list - or just go to hell. Hmm, except for the customizable bounce information, this exists in MM2.1. You can also auto-discard certain addresses, and do address matching on explicit address or regular expression. MP> Anyhow --- many of these features could be easilly added - MP> many might take some serious work - but - I thought I'd add MP> this to the wanted list in case no one else thought of these MP> things. The best thing to do, if you don't want these good suggestions to get lost, is to add them to a more permanent artifact, like the feature request tracker or the Mailman wiki. Cheers, -Barry From barry@zope.com Thu Jan 3 19:14:11 2002 From: barry@zope.com (Barry A. Warsaw) Date: Thu, 3 Jan 2002 14:14:11 -0500 Subject: [Mailman-Developers] my top 3 wishlist for mailman cvs References: <20011210013348.H21219@magic.merlins.org> Message-ID: <15412.44419.399808.458250@geddy.wooz.org> >>>>> "MM" == Marc MERLIN writes: MM> First, of all, I'd like to say that I really like many of the MM> changes in improvements in mailman cvs, some of them will same MM> me a lot of time with not having to deal with confused users MM> anymore :-) Yay! MM> I however, have 3 items left on my wishlist :-) MM> #1 Very big feature request: MM> The main list admin's cookie should be valid for all the MM> lists. Having to retype the list password over and over again MM> as I hop from list to list is very tiring. Would the site admin password suffice or are you really looking for a different password. The site list's password could serve this role, but I sofrt of see it as a hack. Note that until now I've avoided cookie-fying the site password token when authenticating using the site password, but that's mainly based on some vague fear that if there's a hole in Mailman's security mechanism, accepting a site password cookie token would leave the whole list vulnerable. I'm not aware of such an exploit of course. If this is really something you want, I think you could add it pretty easily to SecurityManager.py. MM> #2 Is there any way to have mailman still understand admin MM> password in crypt/md5 format? It could read them and only MM> generate the new kind. Resetting 16,000+ list admin passwords MM> on sourceforge.net is going to be a major showstopper (I know, MM> you can regenerate all of them and Email them automatically, MM> but still...) Have you tested this? I think this is already in there. MM2.1 should, failing the sha comparison, do an md5 and then a crypt compare. If any of them hit, it re-stores the list admin password using the sha hash (it /knows/ the cleartext password because it was sent over the wire in the form data, so it knows what to sha hash and re-store). I anticipated your pain (benefits of joyriding in Guido's time machine), so if this doesn't work, it's a bug. MM> #3 I'd really like to see a nomail field and a disabled field MM> (one settable by the user, one set by mailman when it disables MM> a member) Hmm, can you describe a use case for why you'd want to split these, presumably in the membership summary page? Did you see the idea in cvs based on Dan's suggestion (that an abbreviation of the reason is shown next to the nomail checkbox). -Barry From barry@zope.com Thu Jan 3 18:54:46 2002 From: barry@zope.com (Barry A. Warsaw) Date: Thu, 3 Jan 2002 13:54:46 -0500 Subject: [Mailman-Developers] Marc Perkel's Feature Wish List References: <3C3385AF.2DAFD88F@perkel.com> <32203.1010010474@kanga.nu> Message-ID: <15412.43254.737658.884744@geddy.wooz.org> >> The bounce message should be able to be customized giving the >> user information to join the list - or just go to hell. JCL> 2.1 is much better in this regard, but I'll have to see JCL> if it went that far. It doesn't. Anybody want to contribute some code? -Barry From barry@zope.com Thu Jan 3 18:23:30 2002 From: barry@zope.com (Barry A. Warsaw) Date: Thu, 3 Jan 2002 13:23:30 -0500 Subject: [Mailman-Developers] Couple more small bugs in current CVS References: <3C344F1E.96E1BBF8@utopia.west.sun.com> Message-ID: <15412.41378.138809.679854@geddy.wooz.org> >>>>> "DM" == Dan Mick writes: DM> Mailed these to Barry too, but again, just in case anyone else DM> is running into them before Barry gets to them: These are (or will be when I travel in my time machine and get back online) fixed in CVS. Thanks! -Barry From claw@kanga.nu Thu Jan 3 20:29:48 2002 From: claw@kanga.nu (J C Lawrence) Date: Thu, 03 Jan 2002 12:29:48 -0800 Subject: [Mailman-Developers] One more wish In-Reply-To: Message from barry@zope.com (Barry A. Warsaw) of "Thu, 03 Jan 2002 14:17:40 EST." <15412.44628.393534.425783@geddy.wooz.org> References: <20020102172926.A28544@xenophon.anabasis.net> <15412.44628.393534.425783@geddy.wooz.org> Message-ID: <6493.1010089788@kanga.nu> On Thu, 3 Jan 2002 14:17:40 -0500 Barry A Warsaw wrote: > I think a time-based auto-de-probation feature will have to wait > until after MM2.1. At which time both based, # of posts based rule support would be useful, along with the ability to take an existent member and apply an individual rule set to them (moderate for next N time/posts). > I'm not quite sure what "rotating footers" mean... The ability to have the list sig (as appended to posts) be rotated thru a range of possible values. -- J C Lawrence ---------(*) Satan, oscillate my metallic sonatas. claw@kanga.nu He lived as a devil, eh? http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live. From dev@anabasis.net Thu Jan 3 21:30:05 2002 From: dev@anabasis.net (Lawrence Weeks) Date: Thu, 3 Jan 2002 15:30:05 -0600 Subject: [Mailman-Developers] One more wish In-Reply-To: <6493.1010089788@kanga.nu>; from claw@kanga.nu on Thu, Jan 03, 2002 at 12:29:48PM -0800 References: <20020102172926.A28544@xenophon.anabasis.net> <15412.44628.393534.425783@geddy.wooz.org> <6493.1010089788@kanga.nu> Message-ID: <20020103153004.A9978@xenophon.anabasis.net> Once upon a time (Thu Jan 03), J C Lawrence wrote: > On Thu, 3 Jan 2002 14:17:40 -0500 Barry A Warsaw wrote: >> I think a time-based auto-de-probation feature will have to wait >> until after MM2.1. > At which time both based, # of posts based rule support would be > useful, along with the ability to take an existent member and apply > an individual rule set to them (moderate for next N time/posts). Yes, both/either option per-user would be useful. >> I'm not quite sure what "rotating footers" mean... > The ability to have the list sig (as appended to posts) be rotated > thru a range of possible values. Yes... I have a Perl script that did that for me when I used Majordomo. It was in the MTA aliases processing, inserted as a filter just before the message was sent out to subscribers. Majordomo used separate aliases for archiving and for delivering to reflective and digest subscribers, so that worked well. That script can no longer be used because all of those processing streams are internal to Mailman, and the filter would wind up putting those sigs into the digests and the archives. I was considering a hack in Decorate.py which would just call that Perl script, or rather, a script specified in the footer configuration variable, and use the result as the sig. That would make it work again, but something more 'elegant' would nice. Larry -- Lawrence Weeks "Audaces fortuna juvat." dev@anabasis.net From dev@anabasis.net Thu Jan 3 21:31:18 2002 From: dev@anabasis.net (Lawrence Weeks) Date: Thu, 3 Jan 2002 15:31:18 -0600 Subject: [Mailman-Developers] One more wish In-Reply-To: ; from jerry@sandiego.edu on Thu, Jan 03, 2002 at 10:35:32AM -0800 References: <20020102172926.A28544@xenophon.anabasis.net> Message-ID: <20020103153118.B9978@xenophon.anabasis.net> Once upon a time (Thu Jan 03), Jerry Stratton wrote: > A probation period would be a nice spam-deterrent also; I'm > pretty sure we've had at least one person subscribe first, then > send advertising immediately, to one of our lists. Indeed, that was also a motivation for implementing the probation period, we also had a spammer or two do that in years past. Larry -- Lawrence Weeks "Audaces fortuna juvat." dev@anabasis.net From mrbill@mrbill.net Fri Jan 4 06:44:27 2002 From: mrbill@mrbill.net (Bill Bradford) Date: Fri, 4 Jan 2002 00:44:27 -0600 Subject: [Mailman-Developers] simple feature Message-ID: <20020104064427.GX822@mrbill.net> Will 2.1 have the ability to just completey *drop* posts matching a pattern, instead of holding them for moderation? I've got a couple of lists where Re: posts (replies back to the list) arent allowed; only initial problem messages and then a summary/solution posting. It would be nice if I could have Mailman just *drop* the Re: posts instead of holding them for moderation; I'd like to avoid having to use Procmail for this... Bill -- Bill Bradford mrbill@mrbill.net Austin, TX From barry@zope.com Fri Jan 4 07:01:11 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 4 Jan 2002 02:01:11 -0500 Subject: [Mailman-Developers] One more wish References: <20020102172926.A28544@xenophon.anabasis.net> <15412.44628.393534.425783@geddy.wooz.org> <6493.1010089788@kanga.nu> <20020103153004.A9978@xenophon.anabasis.net> Message-ID: <15413.21303.2159.832868@anthem.wooz.org> >>>>> "LW" == Lawrence Weeks writes: >> The ability to have the list sig (as appended to posts) be >> rotated thru a range of possible values. LW> Yes... I have a Perl script that did that for me when I used LW> Majordomo. It was in the MTA aliases processing, inserted as a LW> filter just before the message was sent out to LW> subscribers. Majordomo used separate aliases for archiving and LW> for delivering to reflective and digest subscribers, so that LW> worked well. That script can no longer be used because all of LW> those processing streams are internal to Mailman, and the LW> filter would wind up putting those sigs into the digests and LW> the archives. LW> I was considering a hack in Decorate.py which would just call LW> that Perl script, or rather, a script specified in the footer LW> configuration variable, and use the result as the sig. That LW> would make it work again, but something more 'elegant' would LW> nice. Don't hack Decorate.py. Instead create a new pipeline module, called something like FooterRoulette.py and stick that in the GLOBAL_PIPELINE anywhere between ToUsenet.py and ToOutgoing.py. Then turn off standard footers for the lists you want to rotate, and add whatever logic you want in FooterRoulette.py to get the footer templates, sticking whatever you want in them. Could all be done with not a lot of lines of Python, and it ought to integrate well with the current architecture. The hard part would be integrating that with thru-the-web customization, but I'd punt on that to start out with. -Barry From barry@zope.com Fri Jan 4 07:25:37 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 4 Jan 2002 02:25:37 -0500 Subject: [Mailman-Developers] simple feature References: <20020104064427.GX822@mrbill.net> Message-ID: <15413.22769.325250.98323@anthem.wooz.org> >>>>> "BB" == Bill Bradford writes: BB> Will 2.1 have the ability to just completey *drop* posts BB> matching a pattern, instead of holding them for moderation? BB> I've got a couple of lists where Re: posts (replies back to BB> the list) arent allowed; only initial problem messages and BB> then a summary/solution posting. General matching against headers with auto-discards probably will not be supported out of the box in MM2.1. BB> It would be nice if I could have Mailman just *drop* the Re: BB> posts instead of holding them for moderation; I'd like to BB> avoid having to use Procmail for this... No need to use Procmail to add this feature though! Simply add a pipeline module that checks the listname, and for those lists that you want to discard Re: messages, simply search Subject: headers for Re:. Here's some untested code that might get you close. Note that you'll have to add this module to the GLOBAL_PIPELINE, probably just before Hold.py. -Barry ------------------- snip snip --------------------Mailman/Handlers/DiscardRe.py import re from Mailman.Errors import DiscardMessage # If a list is not mentioned here, we don't even search its Subject: LISTNAMES = [ 'norelist1', 'norelist2', # ... ] # Compiled regular expression that searches for a literal string "Re:" # matching case insensitively. cre = re.compile(r're:', re.IGNORECASE) def process(mlist, msg, msgdata): if mlist.internal_name() not in LISTNAMES: return subject = msg['subject'] if subject and cre.search(subject): raise DiscardMessage -------------------- snip snip -------------------- From marc_news@vasoftware.com Fri Jan 4 07:49:23 2002 From: marc_news@vasoftware.com (Marc MERLIN) Date: Fri, 4 Jan 2002 08:49:23 +0100 Subject: [Mailman-Developers] my top 3 wishlist for mailman cvs In-Reply-To: <15412.44419.399808.458250@geddy.wooz.org>; from barry@zope.com on Thu, Jan 03, 2002 at 02:14:11PM -0500 References: <20011210013348.H21219@magic.merlins.org> <15412.44419.399808.458250@geddy.wooz.org> Message-ID: <20020104084923.C2146@merlins.org> On Thu, Jan 03, 2002 at 02:14:11PM -0500, Barry A. Warsaw wrote: > MM> The main list admin's cookie should be valid for all the > MM> lists. Having to retype the list password over and over again > MM> as I hop from list to list is very tiring. > > Would the site admin password suffice or are you really looking for > a different password. The site list's password could serve this role, > but I sofrt of see it as a hack. Sorry if i wasn't clear. Yes, the site admin password entered once and working on all the lists would be great. Now, if I admin 10 lists with the same list password, and that works too, even better, but I don't need this as bad. > Note that until now I've avoided cookie-fying the site password > token when authenticating using the site password, but that's mainly > based on some vague fear that if there's a hole in Mailman's security > mechanism, accepting a site password cookie token would leave the > whole list vulnerable. I'm not aware of such an exploit of course. > > If this is really something you want, I think you could add it pretty > easily to SecurityManager.py. I'll have to look. > MM> #2 Is there any way to have mailman still understand admin > MM> password in crypt/md5 format? It could read them and only > MM> generate the new kind. Resetting 16,000+ list admin passwords > MM> on sourceforge.net is going to be a major showstopper (I know, > MM> you can regenerate all of them and Email them automatically, > MM> but still...) > > Have you tested this? I think this is already in there. MM2.1 No, I just took your docs for granted (they say you need to regen everything after the upgrade). If it works, great :-) > I anticipated your pain (benefits of joyriding in Guido's time > machine), so if this doesn't work, it's a bug. Cool. > MM> #3 I'd really like to see a nomail field and a disabled field > MM> (one settable by the user, one set by mailman when it disables > MM> a member) > > Hmm, can you describe a use case for why you'd want to split these, > presumably in the membership summary page? Did you see the idea in > cvs based on Dan's suggestion (that an abbreviation of the reason is > shown next to the nomail checkbox). I saw the changelog in 2.1a4 and it looked like what I was looking for, but I wasn't able to see the reason why a user was disabled in admin/listname/members/list The idea is to be able to script remove or re-add everyone who disabled themselves (only) or who got disabled due to bounces (only). It seems that you've implemented this now, I'm just not sure where the info is yet. Marc -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key From mhz@alt-linux.org Fri Jan 4 09:38:53 2002 From: mhz@alt-linux.org (Mikhail Zabaluev) Date: Fri, 4 Jan 2002 12:38:53 +0300 Subject: [Mailman-Developers] simple feature In-Reply-To: <15413.22769.325250.98323@anthem.wooz.org> References: <20020104064427.GX822@mrbill.net> <15413.22769.325250.98323@anthem.wooz.org> Message-ID: <20020104093853.GA32751@localhost.localdomain> Hello Barry, On Fri, Jan 04, 2002 at 02:25:37AM -0500, Barry A. Warsaw wrote: > > > >>>>> "BB" == Bill Bradford writes: > > BB> Will 2.1 have the ability to just completey *drop* posts > BB> matching a pattern, instead of holding them for moderation? > BB> I've got a couple of lists where Re: posts (replies back to > BB> the list) arent allowed; only initial problem messages and > BB> then a summary/solution posting. > > General matching against headers with auto-discards probably will not > be supported out of the box in MM2.1. > > BB> It would be nice if I could have Mailman just *drop* the Re: > BB> posts instead of holding them for moderation; I'd like to > BB> avoid having to use Procmail for this... > > No need to use Procmail to add this feature though! Simply add a > pipeline module that checks the listname, and for those lists that you > want to discard Re: messages, simply search Subject: headers for Re:. This is totally unreliable. Some German-localized MUAs would use "AW:" instead of "Re:"; more exotic prefixes are possible. "Re:" is no more than convention. More reliable way would be to track "References:" and "In-Reply-To:", although I don't see a solution ready. -- Stay tuned, MhZ JID: mookid@jabber.org ___________ Hubbard's Law: Don't take life too seriously; you won't get out of it alive. From db@bibsys.no Fri Jan 4 13:06:17 2002 From: db@bibsys.no (Daniel Buchmann) Date: Fri, 04 Jan 2002 14:06:17 +0100 Subject: [Mailman-Developers] [patch] A few typos Message-ID: <3C35A8C9.FF936F76@bibsys.no> This is a multi-part message in MIME format. --------------2F2443BDB85CC473D0E40048 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I found a few typos in current CVS. Patch attached. Details: 1. Mailman/Cgi/admindb.py:193, messages/mailman.pot:640 Wrong variable name. "esender" should be "sender" 2. templates/en/admindbpreamble.html:2 "...held for you approval..." should be "...held for your approval..." 3. cron/crontab.in.in:8 Missing '@' in the entry for cron/disabled Every morning at 9:00 cron would mail this error: "/usr/bin/python: can't open file '@prefix/cron/disabled'" -Daniel --------------2F2443BDB85CC473D0E40048 Content-Type: text/plain; charset=us-ascii; name="fixed-typos-2002-01-04.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fixed-typos-2002-01-04.patch" diff -r -N --unified=3 mailman-cvs/Mailman/Cgi/admindb.py mailman/Mailman/Cgi/admindb.py --- mailman-cvs/Mailman/Cgi/admindb.py Thu Jan 3 06:06:24 2002 +++ mailman/Mailman/Cgi/admindb.py Fri Jan 4 13:54:42 2002 @@ -192,7 +192,7 @@ 'filterurl' : adminurl + '/privacy/sender', } if sender: - d['description'] = _("all the %(esender)s's held messages.") + d['description'] = _("all the %(sender)s's held messages.") doc.AddItem(Utils.maketext('admindbpreamble.html', d, raw=1, mlist=mlist)) show_sender_requests(mlist, form, sender) diff -r -N --unified=3 mailman-cvs/cron/crontab.in.in mailman/cron/crontab.in.in --- mailman-cvs/cron/crontab.in.in Thu Dec 27 08:09:29 2001 +++ mailman/cron/crontab.in.in Fri Jan 4 13:55:17 2002 @@ -5,7 +5,7 @@ # # At 9AM, send notifications to disabled members that are due to be # reminded to re-enable their accounts. -0 9 * * * @PYTHON@ -S @prefix/cron/disabled +0 9 * * * @PYTHON@ -S @prefix@/cron/disabled # # Noon, mail digests for lists that do periodic as well as threshhold delivery. 0 12 * * * @PYTHON@ -S @prefix@/cron/senddigests diff -r -N --unified=3 mailman-cvs/messages/mailman.pot mailman/messages/mailman.pot --- mailman-cvs/messages/mailman.pot Mon Dec 31 23:15:01 2001 +++ mailman/messages/mailman.pot Fri Jan 4 13:55:36 2002 @@ -637,7 +637,7 @@ msgstr "" #: Mailman/Cgi/admindb.py:193 -msgid "all the %(esender)s's held messages." +msgid "all the %(sender)s's held messages." msgstr "" #: Mailman/Cgi/admindb.py:198 diff -r -N --unified=3 mailman-cvs/templates/en/admindbpreamble.html mailman/templates/en/admindbpreamble.html --- mailman-cvs/templates/en/admindbpreamble.html Sat Dec 29 08:36:13 2001 +++ mailman/templates/en/admindbpreamble.html Fri Jan 4 13:55:56 2002 @@ -1,5 +1,5 @@ This page contains a subset of the %(listname)s mailing list -postings that are being held for you approval. It currently shows +postings that are being held for your approval. It currently shows %(description)s

For each administrative request, please select the action to take, --------------2F2443BDB85CC473D0E40048-- From barry@zope.com Fri Jan 4 15:14:29 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 4 Jan 2002 10:14:29 -0500 Subject: [Mailman-Developers] simple feature References: <20020104064427.GX822@mrbill.net> <15413.22769.325250.98323@anthem.wooz.org> <20020104093853.GA32751@localhost.localdomain> Message-ID: <15413.50901.29647.412935@anthem.wooz.org> >>>>> "MZ" == Mikhail Zabaluev writes: MZ> This is totally unreliable. Some German-localized MUAs would MZ> use "AW:" instead of "Re:"; more exotic prefixes are MZ> possible. "Re:" is no more than convention. More reliable way MZ> would be to track "References:" and "In-Reply-To:", although I MZ> don't see a solution ready. That's fine. This was just prototype code so Bill could get a sense of the general approach. -Barry From jra@baylink.com Fri Jan 4 15:18:19 2002 From: jra@baylink.com (Jay R. Ashworth) Date: Fri, 4 Jan 2002 10:18:19 -0500 Subject: [Mailman-Developers] simple feature In-Reply-To: <20020104093853.GA32751@localhost.localdomain>; from Mikhail Zabaluev on Fri, Jan 04, 2002 at 12:38:53PM +0300 References: <20020104064427.GX822@mrbill.net> <15413.22769.325250.98323@anthem.wooz.org> <20020104093853.GA32751@localhost.localdomain> Message-ID: <20020104101819.44654@scfn.thpl.lib.fl.us> On Fri, Jan 04, 2002 at 12:38:53PM +0300, Mikhail Zabaluev wrote: > This is totally unreliable. Some German-localized MUAs would use "AW:" > instead of "Re:"; more exotic prefixes are possible. "Re:" is no more > than convention. Well, now; *that* explains something weird I saw on a list the other day; thanks. :-) Cheers, -- jra -- Jay R. Ashworth jra@baylink.com Member of the Technical Staff Baylink RFC 2100 The Suncoast Freenet The Things I Think Tampa Bay, Florida http://baylink.pitas.com +1 727 647 1274 "If you don't have a dream; how're you gonna have a dream come true?" -- Captain Sensible, The Damned (from South Pacific's "Happy Talk") From marc@perkel.com Fri Jan 4 17:59:37 2002 From: marc@perkel.com (Marc Perkel) Date: Fri, 04 Jan 2002 09:59:37 -0800 Subject: [Mailman-Developers] User Database Wish List Feature Suggestion Message-ID: <3C35ED89.7C9358AB@perkel.com> Since you will be changing the user database - why not add some date fields - like - date joined - maybe date the user last modified their account - and the last date the sent an email message. It would also be nice if it stored some counters - like the number of messages sent - maybe the number of messages sent in the last month. Master stats would also be nice - messages sent through the list - number of megabytes of transfer - total and monthly. From marc@perkel.com Fri Jan 4 18:03:51 2002 From: marc@perkel.com (Marc Perkel) Date: Fri, 04 Jan 2002 10:03:51 -0800 Subject: [Mailman-Developers] Feature Request - Plain Text Only Message-ID: <3C35EE87.EE508DD3@perkel.com> I'd like a flag to disallow mime/html messages as an anti-spam feature. Most spam has pictures - html - java - etc - and prohibiting these messages could be an effective tool in reducing spam. From mrbill@mrbill.net Fri Jan 4 23:18:52 2002 From: mrbill@mrbill.net (Bill Bradford) Date: Fri, 4 Jan 2002 17:18:52 -0600 Subject: [Mailman-Developers] Feature Request - Plain Text Only In-Reply-To: <3C35EE87.EE508DD3@perkel.com> References: <3C35EE87.EE508DD3@perkel.com> Message-ID: <20020104231852.GZ822@mrbill.net> On Fri, Jan 04, 2002 at 10:03:51AM -0800, Marc Perkel wrote: > I'd like a flag to disallow mime/html messages as an anti-spam feature. > Most spam has pictures - html - java - etc - and prohibiting these > messages could be an effective tool in reducing spam. Why not just run the message through demime first? Here's what I do: ## test mailing list ## created: 30-Jul-2001 root test: "|/bin/demime - |/usr/local/mailman/mail/wrapper post test" test-admin: "|/usr/local/mailman/mail/wrapper mailowner test" test-request: "|/usr/local/mailman/mail/wrapper mailcmd test" test-owner: test-admin Works fine for me. I want my *MTA* to do spam catching, not the list software. Bill -- Bill Bradford mrbill@mrbill.net Austin, TX From fil@rezo.net Fri Jan 4 23:26:38 2002 From: fil@rezo.net (Fil) Date: Sat, 5 Jan 2002 00:26:38 +0100 Subject: [Mailman-Developers] Feature Request - Plain Text Only In-Reply-To: <3C35EE87.EE508DD3@perkel.com>; from marc@perkel.com on Fri, Jan 04, 2002 at 10:03:51AM -0800 References: <3C35EE87.EE508DD3@perkel.com> Message-ID: <20020105002638.E10627@orwell.bok.net> @ Marc Perkel : > I'd like a flag to disallow mime/html messages as an anti-spam feature. > Most spam has pictures - html - java - etc - and prohibiting these > messages could be an effective tool in reducing spam. Here's something that would be most useful against spam: somewhere in the pipeline check the message against the "razor" (**) spam database, and send it to the trash if it matches. I think it's possible to use the method described earlier by Barry (*) to plug in this test, but I'm afraid I don't know how to code it, even as simple as it looks. (*) message-id <15413.22769.325250.98323@anthem.wooz.org> (**) razor-check is at http://razor.sourceforge.net/razor-check.html -- Fil From claw@kanga.nu Sat Jan 5 00:42:51 2002 From: claw@kanga.nu (J C Lawrence) Date: Fri, 04 Jan 2002 16:42:51 -0800 Subject: [Mailman-Developers] Feature Request - Plain Text Only In-Reply-To: Message from Fil of "Sat, 05 Jan 2002 00:26:38 +0100." <20020105002638.E10627@orwell.bok.net> References: <3C35EE87.EE508DD3@perkel.com> <20020105002638.E10627@orwell.bok.net> Message-ID: <17521.1010191371@kanga.nu> On Sat, 5 Jan 2002 00:26:38 +0100 fil wrote: > Here's something that would be most useful against spam: somewhere > in the pipeline check the message against the "razor" (**) spam > database, and send it to the trash if it matches. I've been running Razor in test mode here on my personal mail account for about 5 weeks. To date the false positive rate is about 8%. That's far too high for deployment as a system service. It also has a very high false negative rate (worse than any of the other's I'm testing). SpamAssassion conversely has a false positive rate (over the same period) of 3 messages out of 93,648 (yes, I get a lot of mail at home). -- J C Lawrence ---------(*) Satan, oscillate my metallic sonatas. claw@kanga.nu He lived as a devil, eh? http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live. From dan@ssc.com Sat Jan 5 01:57:39 2002 From: dan@ssc.com (Dan Wilder) Date: Fri, 4 Jan 2002 17:57:39 -0800 Subject: [Mailman-Developers] Feature Request - Plain Text Only In-Reply-To: <17521.1010191371@kanga.nu> References: <3C35EE87.EE508DD3@perkel.com> <20020105002638.E10627@orwell.bok.net> <17521.1010191371@kanga.nu> Message-ID: <20020104175739.A7585@ssc.com> Wondering if you're also testing SpamCop, http://www.spamcop.com. The work of a Seattleite named Julian Haight, http://www.julianhaight.com, and have any comment. I haven't evaluated it, but I'm afraid I've a bit of a bone to pick with it. False positives are not unknown. Worse, it sends automatic anonymous complaints to upstream providers of anybody even mentioned in the putative spam. For example, apparently there's a California Linux user group, one of whose subscribers (I've no way of telling who) has SpamCop installed. When a post goes out to that user group mentioning one of our websites, our upstream providers get anonymous complaints about "spamvertised website". They then waste their time relaying these to me, and I waste my time explaining, for the nth time. For another example, one of our mailing lists had a subscriber who apparently decided he didn't like us. Instead of unsubscribing, he began making SpamCop complaints. I wasted about an hour on that one, until I eventually determined what domain the complaint had come from, and solved the problem by deleting everybody from the domain (the number was small) from all of our lists. Yet another. "Forgot my password" on our Mailman lists apparently trips at some SpamCop content filter; I've fielded at least one spam auto-complaint thus generated. Complaints about false or frivolous reports to SpamCop, which operates the anonymous remailer, have so far been ignored. At this point I've personally given up on expecting reasonable behavior from them, and added a "deny" to our MTA setup, for all mail from their domain. The SpamCop site has verbiage implying that a mailing list had better be able to prove it is double-opt-in, and had better maintain proof of opt-in for each individual subscriber, or else. The "or else" isn't specified, but apparently Mr. Haight has had some record of success in arranging loss of internet connectivity. No doubt some of those affected have been actual spammers, but with one man serving as judge, jury, and executioner, I'm afraid I don't see much about this effort to reassure the rest of us. On Fri, Jan 04, 2002 at 04:42:51PM -0800, J C Lawrence wrote: > On Sat, 5 Jan 2002 00:26:38 +0100 > fil wrote: > > > Here's something that would be most useful against spam: somewhere > > in the pipeline check the message against the "razor" (**) spam > > database, and send it to the trash if it matches. > > I've been running Razor in test mode here on my personal mail > account for about 5 weeks. To date the false positive rate is about > 8%. That's far too high for deployment as a system service. It > also has a very high false negative rate (worse than any of the > other's I'm testing). > > SpamAssassion conversely has a false positive rate (over the same > period) of 3 messages out of 93,648 (yes, I get a lot of mail at > home). > > -- > J C Lawrence > ---------(*) Satan, oscillate my metallic sonatas. > claw@kanga.nu He lived as a devil, eh? > http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live. > > _______________________________________________ > Mailman-Developers mailing list > Mailman-Developers@python.org > http://mail.python.org/mailman/listinfo/mailman-developers > -- ----------------------------------------------------------------- Dan Wilder Technical Manager & Editor SSC, Inc. P.O. Box 55549 Phone: 206-782-8808 Seattle, WA 98155-0549 URL http://embedded.linuxjournal.com/ ----------------------------------------------------------------- From jon@latchkey.com Sat Jan 5 02:05:48 2002 From: jon@latchkey.com (Jon Scott Stevens) Date: Fri, 04 Jan 2002 18:05:48 -0800 Subject: Spam filters (was: Re: [Mailman-Developers] Feature Request - Plain Text Only) In-Reply-To: <20020104175739.A7585@ssc.com> Message-ID: I have enjoyed this discussion about spam filters...I personally use a mixture of a bunch of client side filters along with procmail and another unix based procmail filter called junkfilter which works pretty well, but needs a bit of hacking to prevent quite a number of false positives...it does get some FP's, but the amount of spam it does catch is pretty good... I also just installed and configured razor...so we shall see how well it works...so far it hasn't caught anything... My personal setup along with links to junkfilter is mirrored here: http://www.whichever.com/junkfilter/ I get *a lot* of spam. :-( -jon From barry@zope.com Sat Jan 5 02:11:51 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 4 Jan 2002 21:11:51 -0500 Subject: [Mailman-Developers] On IRC this weekend Message-ID: <15414.24807.102619.419398@anthem.wooz.org> Hey all, I'll try to hang out on irc.openprojects.net #mailman this weekend, off an on as time permits. -Barry From claw@kanga.nu Sat Jan 5 09:19:38 2002 From: claw@kanga.nu (J C Lawrence) Date: Sat, 05 Jan 2002 01:19:38 -0800 Subject: [Mailman-Developers] Feature Request - Plain Text Only In-Reply-To: Message from Dan Wilder of "Fri, 04 Jan 2002 17:57:39 PST." <20020104175739.A7585@ssc.com> References: <3C35EE87.EE508DD3@perkel.com> <20020105002638.E10627@orwell.bok.net> <17521.1010191371@kanga.nu> <20020104175739.A7585@ssc.com> Message-ID: <21561.1010222378@kanga.nu> On Fri, 4 Jan 2002 17:57:39 -0800 Dan Wilder wrote: > Wondering if you're also testing SpamCop, http://www.spamcop.com. Nope. I was rather steered off it by being on the annoying receiving end of its alerts and bounces (some of the users of the local Linux UG use it). That pretty well nixed any further interest from me. > I haven't evaluated it, but I'm afraid I've a bit of a bone to > pick with it. False positives are not unknown. Worse, it sends > automatic anonymous complaints to upstream providers of anybody > even mentioned in the putative spam. Sounds astonishingly familiar. > Yet another. "Forgot my password" on our Mailman lists apparently > trips at some SpamCop content filter; I've fielded at least one > spam auto-complaint thus generated. Aye. One of the razor problems is people registering Mailman password reminders as SPAM, tho the best I saw was a comp.risks digest getting Razored.... > The SpamCop site has verbiage implying that a mailing list had > better be able to prove it is double-opt-in, and had better > maintain proof of opt-in for each individual subscriber, or else. > The "or else" isn't specified, but apparently Mr. Haight has had > some record of success in arranging loss of internet connectivity. > No doubt some of those affected have been actual spammers, but > with one man serving as judge, jury, and executioner, I'm afraid I > don't see much about this effort to reassure the rest of us. They're short lived phenomena. -- J C Lawrence ---------(*) Satan, oscillate my metallic sonatas. claw@kanga.nu He lived as a devil, eh? http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live. From nb@thinkcoach.com Sat Jan 5 09:45:09 2002 From: nb@thinkcoach.com (Norbert Bollow) Date: Sat, 5 Jan 2002 10:45:09 +0100 Subject: [Mailman-Developers] Feature Request - Plain Text Only In-Reply-To: <20020104175739.A7585@ssc.com> (message from Dan Wilder on Fri, 4 Jan 2002 17:57:39 -0800) References: <3C35EE87.EE508DD3@perkel.com> <20020105002638.E10627@orwell.bok.net> <17521.1010191371@kanga.nu> <20020104175739.A7585@ssc.com> Message-ID: <200201050945.g059j9907549@quill.local> >> Wondering if you're also testing SpamCop, http://www.spamcop.com. >> The work of a Seattleite named Julian Haight, http://www.julianhaight.com, >> and have any comment. Dan Wilder replied: > I haven't evaluated it, but I'm afraid I've a bit of a bone to > pick with it. False positives are not unknown. Worse, it sends automatic > anonymous complaints to upstream providers of anybody even mentioned in > the putative spam. In addition to this, they also have another way for wasting your time... They also have a blackhole list of mailservers that relay spam. For example if you have a list-owner who reports a spam which has come to him through the list-owner address, then your mailing list server qualifies for the blacklist. Well, maybe they've changed the system in the meantime, but when they blacklisted one of my servers, that happened because of just one single spam report. Of course the list-owner was just trying to be a good netizen. (This was a backup server which doesn't normally process lots of mail, but it is not acceptable for it to be on any blacklists, since it might possibly be necessary to move a large number of active lists to that server on short notice.) I wasted half a night on figuring out how to get it off that blacklist without waiting for a whole week. (That is supposed to be impossible, but I eventually found a way that worked.) I'm normally friendly to all and every effort to combat spam, but SpamCop really got on my nerves by blacklisting that backup server for no good reason. Greetings, Norbert. -- A member of FreeDevelopers and the DotGNU Steering Committee: dotgnu.org Norbert Bollow, Weidlistr.18, CH-8624 Gruet (near Zurich, Switzerland) Tel +41 1 972 20 59 Fax +41 1 972 20 69 http://thinkcoach.com Your own domain with all your Mailman lists: $15/month http://cisto.com From Dan@feld.cvut.cz Sat Jan 5 10:46:52 2002 From: Dan@feld.cvut.cz (Dan Ohnesorg) Date: Sat, 5 Jan 2002 11:46:52 +0100 Subject: [Mailman-Developers] Notes about 2.1a4 version Message-ID: <20020105114652.E1615@ohnesorg.cz> I have also installed this version for testing the Czech translations. And I have found some bugs. The biggest hangs on admin page, becouse I have send it from wrong address. Here are some more: 1) The admin messages doesn't have MIME headers at all: MIME-Version: 1.0 Content-type: text/plain; charset=ISO-8859-2 Content-transfer-encoding: 8BIT this is vitally needed to be in czech emails. 2) Mailman crashes if there is not localized html template for some page. I think it should print only a message or better, use english one from /en/ tree. 3) in file crontab.in is broken this entry # At 9AM, send notifications to disabled members that are due to be # reminded to re-enable their accounts. 0 9 * * * /usr/bin/python2 -S @prefix/cron/disabled there should be @prefix@ 4) in README.POSTFIX is - Run the genaliases script to initialize your aliases file. % cd /usr/local/mailman % bin/genaliases but it doesnt generate postfix aliases without setting MTA = 'Postfix' before. 5) it is not a bug, but the PUBLIC_ARCHIVE_URL should be settable per list. 6) Hypermail seems be not working, but I am using MHonArc, so I am not sure. But I see, Mailman 2.1 will make revolution in mailing list management. cheers dan -- ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Nekdy je rozumne o krok ustoupit, aby se prodlouzil rozbeh. From tigerwolf@tigerden.com Sat Jan 5 16:25:21 2002 From: tigerwolf@tigerden.com (George F. Nemeyer) Date: Sat, 5 Jan 2002 11:25:21 -0500 (EST) Subject: [Mailman-Developers] Foiling automated subscriptions by spammers Message-ID: Discussions on another list bring up something to consider: ---------- Forwarded message ---------- Date: Sat, 5 Jan 2002 11:19:24 -0500 (EST) From: "George F. Nemeyer" To: spam@zorch.sf-bay.org Subject: Re: bulk email explosion this spring? On Sat, 5 Jan 2002, Tim Pierce wrote: > Has anyone heard rumors that big spamhauses are planning to deploy new > technology to attack mailing lists, or for that matter are planning > anything specific for this spring? I've not heard rumors, but the way I read the ominous forecast was that spammers plan to automate the subscription/confirmation process to get into lists initially with the hope of getting at least one spam flood through. If that's true, it seems the next logical step is to create lists that are 'semi-moderated'. That is, for any new subscriber, a human reviews and manually approves the first N postings, until the user can be tagged as 'trusted' and their subsequent posts are then allowed onto the list automatically. If any early posts are spam, the user is summarily booted. N can even be zero if the list owner knows and trusts the user when they approve the subscription to the list initially. I can't see large volume spam houses bothering to actually create on-topic posts long enough to become tagged trusted since doing so by automated means would be nearly impossible for large numbers of lists with widely varying subjects. This scheme should work at least for lists where the rate of new subscriptions is managable. Other schemes might involve requiring posting domain to be the same as subscription domain, or other 'source' comparisons which would flag suspicious posts for approval before letting them onto the list. It will take some list server software changes, so I'm going to copy this to the Mailman developer's list for consideration. George Nemeyer Tigerden Internet Services From barry@zope.com Sat Jan 5 16:36:07 2002 From: barry@zope.com (Barry A. Warsaw) Date: Sat, 5 Jan 2002 11:36:07 -0500 Subject: [Mailman-Developers] Foiling automated subscriptions by spammers References: Message-ID: <15415.11127.921527.804584@anthem.wooz.org> >>>>> "GFN" == George F Nemeyer writes: >> Has anyone heard rumors that big spamhauses are planning to >> deploy new technology to attack mailing lists, or for that >> matter are planning anything specific for this spring? GFN> I've not heard rumors, but the way I read the ominous GFN> forecast was that spammers plan to automate the GFN> subscription/confirmation process to get into lists initially GFN> with the hope of getting at least one spam flood through. GFN> If that's true, it seems the next logical step is to create GFN> lists that are 'semi-moderated'. GFN> That is, for any new subscriber, a human reviews and manually GFN> approves the first N postings, until the user can be tagged GFN> as 'trusted' and their subsequent posts are then allowed onto GFN> the list automatically. If any early posts are spam, the GFN> user is summarily booted. N can even be zero if the list GFN> owner knows and trusts the user when they approve the GFN> subscription to the list initially. Mailman 2.1 will do this, although it will take manual intervention to remove a member from probation. It'll be easy though; on the same screen where a moderator approves messages, there'll be a checkbox to remove the moderate (i.e. probation) flag from a member. One thing's missing currently though: the ability to flag a member as a spammer and thus move them from probation to a ban list. That ought to be easy to add, and I will for MM2.1beta1; the hard part will be working out the U/I so it doesn't further clutter an already busy screen. -Barry From George F. Nemeyer" - Lists frequently erupt into flames about posts in HTML. - MUA's will often respond to an HTML message by replying in HTML, perpetuating the problem caused by an initial HTML post. - Even users normally posting plain text often slip up, particularly when mailing from other than their normal host. - HTML needlessly eats up to 3 times the storage space for messages in archives, worse if the message is in both HTML and plain text. Mailman needs an option to enforce plain text posts by detecting and rejecting posts in non-plain formats, particularly HTML. The sender should get a polite, canned note to turn off special encoding and re-format their posts in plain text. The note should be customizable so that instructions might be included for how to do so for common MUAs. Please consider adding this feature. (I'd asked about this a long time ago, but I never saw any comment on it.) George Nemeyer Tigerden Internet Services From spertus@mills.edu Sat Jan 5 19:38:48 2002 From: spertus@mills.edu (Ellen Spertus) Date: Sat, 05 Jan 2002 11:38:48 -0800 Subject: [Mailman-Developers] Thread support Message-ID: <5.1.0.14.0.20020105102852.03ed6d50@ella.mills.edu> My students and I have built a prototype system, Javamlm, supporting user subscriptions on a per-thread basis using standard MUAs. I approached Barry about adding threads to Mailman, and he kindly encouraged me to do so. I'm now trying to figure out the best way to add the functionality and welcome any suggestions. You can get the full description of our system at http://www.mills.edu/ACAD_INFO/MCS/SPERTUS/Papers/lisa2001.pdf. I'll summarize important features here in the hope of getting feedback on the best way to fold them into Mailman. FUNCTIONALITY A user of mailing list foo creates a new thread with a base name of bar by sending email to foo-new-bar@host. The system appends an integer to bar to generate a unique thread name, e.g., bar1. All subscribers to mailing list foo receive the first message of any thread. The message headers are: To: foo-bar1@host From: original-sender@wherever If a user chooses reply, the new message goes to the original sender (assuming a decent MUA). It a user chooses reply-all, the new message becomes part of the thread bar1. When subscribing (or subsequently), each user specifies whether they want to be subscribed to new threads by default. If so, the user gets all messages in a new thread (unless they explicitly unsubscribe). If a user chooses NOT to be subscribed to new threads by default, they only get the initial message unless they explicitly subscribe. Each message contains (un)subscribe information both as a URL and mailto to make the operations as lightweight as possible; e.g., To unsubscribe from this conversation, send email to foo-bar1-unsubscribe@javamlm.mills.edu or visit http://javamlm.mills.edu/scripts/override?listname=foo&conversation=14&preference=0. To unsubscribe from foo, send email to foo-unsubscribe@javamlm.mills.edu. Note that thread membership is determined solely by the address to which a message is sent, not the message's subject, references, or other headers. IMPLEMENTATION We implemented threads by including a threadID in each message's metadata, which was stored in a relational database, as was information about each thread, subscription, etc. The following SQL query determines to whom to send a message in thread 37: SELECT email FROM Subscriber WHERE deleted = FALSE AND ((Subscriber.preference = 1 AND NOT EXISTS (SELECT * FROM Override WHERE Override.subscriber_id = Subscriber.subscriber_id AND Override.thread_id = 37 AND Override.preference = 0)) OR (Subscriber.preference = 0 AND EXISTS (SELECT * FROM Override WHERE Override.subscriber_id = Subscriber.subscriber_id AND Override.thread_id = 37 AND Override.preference = 1))) The full schema is in the paper. I'm including the query here to give you an idea of the complexity and to show that list membership is calculated on the fly. The biggest implementation question in my mind is whether I should store subscription information in a relational database (so I can make the above efficient query) or build on top of the exiting pickles. I welcome any comments and pointers. Ellen From barry@zope.com Sun Jan 6 05:18:30 2002 From: barry@zope.com (Barry A. Warsaw) Date: Sun, 6 Jan 2002 00:18:30 -0500 Subject: [Mailman-Developers] Enforcing plain text posting References: Message-ID: <15415.56870.316232.582971@anthem.wooz.org> >>>>> "GFN" == George F Nemeyer writes: GFN> Mailman needs an option to enforce plain text posts by GFN> detecting and rejecting posts in non-plain formats, GFN> particularly HTML. Adding the baseline mechanism to do this wouldn't be difficult; you'd just need to add a pipeline module that does the desired checks, raising the appropriate exception based on what you find. It won't be in MM2.1 because the much more complex problem is the u/i to provide all the degrees of control people really want. If you know what you want and don't mind hacking a little Python to get it, it should be easy to add. -Barry From barry@zope.com Sun Jan 6 05:20:03 2002 From: barry@zope.com (Barry A. Warsaw) Date: Sun, 6 Jan 2002 00:20:03 -0500 Subject: [Mailman-Developers] Foiling automated subscriptions by spammers References: <15415.11127.921527.804584@anthem.wooz.org> Message-ID: <15415.56963.362635.714226@anthem.wooz.org> >>>>> "BAW" == Barry A Warsaw writes: BAW> One thing's missing currently though: the ability to flag a BAW> member as a spammer and thus move them from probation to a BAW> ban list. That ought to be easy to add, and I will for BAW> MM2.1beta1; the hard part will be working out the U/I so it BAW> doesn't further clutter an already busy screen. Done in CVS now. :) -Barry From barry@wooz.org Sun Jan 6 05:23:34 2002 From: barry@wooz.org (barry@wooz.org) Date: Sun, 6 Jan 2002 00:23:34 -0500 Subject: [Mailman-Developers] Thread support References: <5.1.0.14.0.20020105102852.03ed6d50@ella.mills.edu> Message-ID: <15415.57174.821785.571378@anthem.wooz.org> >>>>> "ES" == Ellen Spertus writes: ES> The biggest implementation question in my mind is whether I ES> should store subscription information in a relational database ES> (so I can make the above efficient query) or build on top of ES> the exiting pickles. I don't think it matters, because I would suggest hiding most of the logic behind the MemberAdaptor interface. You'd probably need to add new methods to that interface, and then implement them the most efficient way underneath. The biggest trick will be hooking the MailList transactions up to your RDBM transactions, so that the proper synchronization occurs when MailList.Load() and MailList.Save() are called. This will likely happen in a more principled way in MM3.0. Pickles (i.e. attributes on the MailList instances) certainly would be easier to integrate with the MailList schema, but as you point out it may not be efficient enough. You might want to start by prototyping things as MailList attributes, and once you have things working, try to move data into an RDBMS for efficiency. -Barry From Martin Maechler Wed Jan 2 10:24:27 2002 From: Martin Maechler (Martin Maechler) Date: Wed, 2 Jan 2002 11:24:27 +0100 Subject: [Mailman-Developers] Feature wish: Regexp Filtering on *body* (not just header) In-Reply-To: <15408.64433.621204.651734@anthem.wooz.org> References: <15408.64433.621204.651734@anthem.wooz.org> Message-ID: <15410.57307.420162.490619@gargle.gargle.HOWL> This may be lame, because already there.. so excuse if.. (and explain ..) Please CC me on all correspondence, since I'm not the m.m.-developers list (I wouldn't be competent!) I've been administering a few mailing lists for several years now, one of which with about 800 subscribers and 30 postings a day. I started using majordomo these several years ago, before mailman started (or I heard it started). To prevent spam (and a few other inadvertent postings), majordomo (in its majordomo.cf file) has always had a variable global_taboo_headers (+- what mailman has been having too; although only on a per-list basis, not one for all lists) and global_taboo_body one -- the one I've been missing in mailman. This is the one list I've been quite actively updating and I've caught *lots* of spam (i.e. prevented it from going to the list). These are things like /Credit +(Card|Check)/i /Shipping\b.*\bHandling/i /PLEASE CALL/i /Call +24 hours a day,? 7 days a week/ /\bclick here\b/im /\bclick(ing)? (on)? the link\b/im m{\bclick(ing)? on this.*http://}i /\bclick\b.*\bfree\b/im /\bplease click\b/im /\bplease visit us at\b/im but also specific known sites /www\.\w*(lovenet|erotic|porn|hardcore)\w*\.com/i Note that most of these are *not* caught by filtering on the header lines, since they keep the header lines very minimal and looking valid. Is something like this feasible with mailman (2.1)? I would love to move all my mailing lists from majordomo to mailman! Hi regards, to your good work, and a Happy New Year! Martin Maechler http://stat.ethz.ch/~maechler/ Seminar fuer Statistik, ETH-Zentrum LEO C16 Leonhardstr. 27 ETH (Federal Inst. Technology) 8092 Zurich SWITZERLAND phone: x-41-1-632-3408 fax: ...-1228 <>< From dan@ohnesorg.cz Wed Jan 2 16:35:25 2002 From: dan@ohnesorg.cz (Dan Ohnesorg) Date: Wed, 2 Jan 2002 17:35:25 +0100 (CET) Subject: [Mailman-Developers] Problem while upgrade to mailman 2.1 alpha Message-ID: I am also triing to upgrade to never version and I have this troubles: Upgrading from version 0x20005f0 to 0x20100a4 getting rid of old source files fixing all the perms on your old html archives to work with b6 If your archives are big, this could take a minute or two... hotovo Updating mailing list: test - updating old private mbox file looks like you have a really recent CVS installation... you're either one brave soul, or you already ran me - updating old public mbox file looks like you have a really recent CVS installation... you're either one brave soul, or you already ran me Fixing language templates: test Updating mailing list: kecy Traceback (most recent call last): File "./update", line 531, in ? errors = main() File "./update", line 413, in main errors = errors + dolist(listname) File "./update", line 183, in dolist mlist = MailList.MailList(listname, lock=0) File "../Mailman/MailList.py", line 101, in __init__ self.Load() File "../Mailman/MailList.py", line 543, in Load self.CheckVersion(dict) File "../Mailman/MailList.py", line 560, in CheckVersion self.Lock() File "../Mailman/MailList.py", line 154, in Lock self.Load() File "../Mailman/MailList.py", line 543, in Load self.CheckVersion(dict) File "../Mailman/MailList.py", line 563, in CheckVersion Update(self, stored_state) File "../Mailman/versions.py", line 53, in Update CanonicalizeUserOptions(l) File "../Mailman/versions.py", line 339, in CanonicalizeUserOptions if l.getMemberOption(k, mm_cfg.DisableDelivery): File "../Mailman/OldStyleMemberships.py", line 120, in getMemberOption self.__assertIsMember(member) File "../Mailman/OldStyleMemberships.py", line 113, in __assertIsMember raise Errors.NotAMemberError, member Mailman.Errors.NotAMemberError: fickman@atlas.cz and it is alo true, that this user is listed only in section 'user_options': { '3zsmost@schoolnet.cz': 8, 'fickman@atlas.cz': 8, of dump_db. Sure, the database is corrupt, but it is not fatal, i think the upgrage should run OK. cheers dan -- ________________________________________ DDDDDD DD DD Dan Ohnesorg, supervisor on POWER DD OOOO Dan@feld.cvut.cz DD OODDOO Dep. of Power Engineering DDDDDD OO CTU FEL Prague, Bohemia OO OO work: +420 2 24352785;+420 2 24972109 OOOO home: +420 311 679679;+420 311 679311 ________________________________________ Nezlob se na rù¾i, ¾e má trny; raduj se, ¾e tak trnitý keø má rù¾e. -- Arabské pøísloví From dan.mick@west.sun.com Wed Jan 2 20:06:35 2002 From: dan.mick@west.sun.com (Dan Mick) Date: Wed, 02 Jan 2002 12:06:35 -0800 Subject: [Mailman-Developers] New Bounce system References: <3C2EFC1E.4DCE7C2F@utopia.west.sun.com> <15408.55473.621435.526360@anthem.wooz.org> <3C3276E0.521DE6BF@utopia.west.sun.com> <15410.33571.266528.662908@anthem.wooz.org> Message-ID: <3C33684B.33BDAA8E@west.sun.com> > DM> The standard way; config (as me) and "make install" (as root). > > Did you install over an existing Mailman 2.0.x installation, or did > you do a fresh MM2.1 install and copy list directories over? I've been running "latest CVS" for some time, so it was a previous revision of 2.1a. > >> Try using bin/dumpdb on both the (old) config.db value and the > >> (new) config.pck value and check attributes like > >> `data_version', and `delivery_status'. > > DM> Where do I find the old and new files?...the new ones are > DM> obviously there, but the old ones aren't saved by upgrade, are > DM> they?...it'd be nice if they were somewhere I'm missing, > DM> because then I could manually fix the problem. (No, I don't > DM> have backups.) > > All the files should be in lists//config.{db,pck}{,.last} > > The upgrade procedure doesn't get rid of the .db files. I thought "last" was the last time anything changed with a list setting? It's got a very recent date. There *is* "config.pck.backup.dec.30"; is that the one preserved by upgrade/update? From dan.mick@west.sun.com Thu Jan 3 12:19:48 2002 From: dan.mick@west.sun.com (Dan Mick) Date: Thu, 03 Jan 2002 04:19:48 -0800 Subject: [Mailman-Developers] Couple more small bugs in current CVS Message-ID: <3C344C64.20B54E8@west.sun.com> Mailed these to Barry too, but again, just in case anyone else is running into them before Barry gets to them: Symptom: going to Digest option page doesn't work. Index: Mailman/Cgi/admin.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/Cgi/admin.py,v retrieving revision 2.54 diff -r2.54 admin.py 620c620 < if value is None: --- > if value is None and varname[0] != '_': Symptom: changing real name or subscription address doesn't work. Index: Mailman/MailList.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/MailList.py,v retrieving revision 2.52 diff -r2.52 MailList.py 816c816 < if not mlist.isMember(oldaddr): --- > if not mlist.isMember(addr): From barry@zope.com Sun Jan 6 06:05:51 2002 From: barry@zope.com (Barry A. Warsaw) Date: Sun, 6 Jan 2002 01:05:51 -0500 Subject: [Mailman-Developers] Notes about 2.1a4 version References: <20020105114652.E1615@ohnesorg.cz> Message-ID: <15415.59711.863456.448199@anthem.wooz.org> >>>>> "DO" == Dan Ohnesorg writes: DO> 1) The admin messages doesn't have MIME headers at all: | MIME-Version: 1.0 | Content-type: text/plain; charset=ISO-8859-2 | Content-transfer-encoding: 8BIT DO> this is vitally needed to be in czech emails. I think I've fixed most of these. But it's error prone so some may be missing. I think I might need to put more smarts into the Message.UserNotification class. :( DO> 2) Mailman crashes if there is not localized html template for DO> some page. I think it should print only a message or better, DO> use english one from /en/ tree. Hmm, do you have any more details? I can't seem to find one that crashes. DO> 3) in file crontab.in is broken this entry DO> # At 9AM, send notifications to disabled members that are due DO> to be # reminded to re-enable their accounts. 0 9 * * * DO> /usr/bin/python2 -S @prefix/cron/disabled DO> there should be @prefix@ Got it, thanks. DO> 4) in README.POSTFIX is DO> - Run the genaliases script to initialize your aliases DO> file. | % cd /usr/local/mailman | % bin/genaliases | but it doesnt generate postfix aliases without setting | MTA = 'Postfix' before. Got it. DO> 5) it is not a bug, but the PUBLIC_ARCHIVE_URL should be DO> settable per list. Hmm, yeah, but so far I'm avoiding this. How important will this be? DO> 6) Hypermail seems be not working, but I am using MHonArc, so DO> I am not sure. Do you mean Pipermail? Seems to work for me. DO> But I see, Mailman 2.1 will make revolution in mailing list DO> management. Yay! Thanks, -Barry From barry@zope.com Sun Jan 6 08:00:05 2002 From: barry@zope.com (Barry A. Warsaw) Date: Sun, 6 Jan 2002 03:00:05 -0500 Subject: [Mailman-Developers] my top 3 wishlist for mailman cvs References: <20011210013348.H21219@magic.merlins.org> <15412.44419.399808.458250@geddy.wooz.org> <20020104084923.C2146@merlins.org> Message-ID: <15416.1029.173559.215312@anthem.wooz.org> >>>>> "MM" == Marc MERLIN writes: MM> Sorry if i wasn't clear. Yes, the site admin password entered MM> once and working on all the lists would be great. Now, if I MM> admin 10 lists with the same list password, and that works MM> too, even better, but I don't need this as bad. I've added a new configuration variable to Defaults.py.in, called ALLOW_SITE_ADMIN_COOKIES. Set this to true and authenticating to a list admin login page with the site password, and Mailman will drop a cookie representing the site authentication. Thus, authenticate once and you can get into every list. The default value of this variable is 0. -Barry From midnight@the-oasis.net Sun Jan 6 08:06:15 2002 From: midnight@the-oasis.net (Phil Barnett) Date: Sun, 6 Jan 2002 03:06:15 -0500 Subject: [Mailman-Developers] my top 3 wishlist for mailman cvs In-Reply-To: <15416.1029.173559.215312@anthem.wooz.org> References: <20011210013348.H21219@magic.merlins.org> <20020104084923.C2146@merlins.org> <15416.1029.173559.215312@anthem.wooz.org> Message-ID: On Sunday 06 January 2002 03:00, you wrote: > MM> Sorry if i wasn't clear. Yes, the site admin password entered > MM> once and working on all the lists would be great. Now, if I > MM> admin 10 lists with the same list password, and that works > MM> too, even better, but I don't need this as bad. > I've added a new configuration variable to Defaults.py.in, called > ALLOW_SITE_ADMIN_COOKIES. Set this to true and authenticating to a > list admin login page with the site password, and Mailman will drop a > cookie representing the site authentication. Thus, authenticate once > and you can get into every list. The default value of this variable > is 0. Woohoo!!! From Dan@feld.cvut.cz Sun Jan 6 11:42:27 2002 From: Dan@feld.cvut.cz (Dan Ohnesorg) Date: Sun, 6 Jan 2002 12:42:27 +0100 Subject: [Mailman-Developers] Notes about 2.1a4 version In-Reply-To: <15415.59711.863456.448199@anthem.wooz.org>; from barry@zope.com on Sun, Jan 06, 2002 at 01:05:51AM -0500 References: <20020105114652.E1615@ohnesorg.cz> <15415.59711.863456.448199@anthem.wooz.org> Message-ID: <20020106124227.A1368@ohnesorg.cz> On Sun, Jan 06, 2002 at 01:05:51AM -0500, Barry A. Warsaw wrote: > DO> 2) Mailman crashes if there is not localized html template for > DO> some page. I think it should print only a message or better, > DO> use english one from /en/ tree. > > Hmm, do you have any more details? I can't seem to find one that crashes. for example: Content-type: text/html <--- this is also wrong too, it shouldn't be seen in output, it is http header. Bug in Mailman version 2.1a4 We're sorry, we hit a bug! If you would like to help us identify the problem, please email a copy of this page to the webmaster for this site with a description of what happened. Thanks! Traceback: Traceback (most recent call last): File "/home/mailman/scripts/driver", line 86, in run_main main() File "/home/mailman/Mailman/Cgi/admin.py", line 85, in main Auth.loginpage(mlist, 'admin', msg=msg) File "/home/mailman/Mailman/Cgi/Auth.py", line 58, in loginpage }, mlist=mlist) File "../Mailman/Utils.py", line 477, in maketext raise IOError(errno.ENOENT, 'No template file found', templatefile) IOError: [Errno 2] No template file found: 'admlogin.html' I have figured this out, becouse there are some new templates in /en/ directory, which are not translated/localized in other supported languages. In gettext is it OK, not found translation=use original version. > DO> 5) it is not a bug, but the PUBLIC_ARCHIVE_URL should be > DO> settable per list. > > Hmm, yeah, but so far I'm avoiding this. How important will this be? Not very. I have also some official lists for uni and some unofficial for friends. The unofficial are archived on another machine(s). But it is also possible send redirect while client accesses not locally archived maillist archive. > DO> 6) Hypermail seems be not working, but I am using MHonArc, so > DO> I am not sure. > > Do you mean Pipermail? Seems to work for me. It has sayd somethink about HyperArch.Article, but I am now not able to reproduce it. It was probably only some temporary problem. cheers dan -- ----------------------------------------------------------- / Dan Ohnesorg Dan@ohnesorg.cz \ < Jinoèanská 7 252 19 Rudná u Prahy > \ tel: +420 311 679679 +420 311 679976 fax: +420 311 679311 / ----------------------------------------------------------- Marketing: My spotrebitele nezneuzivame. Delame jenom to, ze je podrzime dokud je nezneuziji prodavaci. From marc_news@vasoftware.com Sun Jan 6 10:35:55 2002 From: marc_news@vasoftware.com (Marc MERLIN) Date: Sun, 6 Jan 2002 11:35:55 +0100 Subject: [Mailman-Developers] Feature Request - Plain Text Only In-Reply-To: <20020104175739.A7585@ssc.com>; from dan@ssc.com on Fri, Jan 04, 2002 at 05:57:39PM -0800 References: <3C35EE87.EE508DD3@perkel.com> <20020105002638.E10627@orwell.bok.net> <17521.1010191371@kanga.nu> <20020104175739.A7585@ssc.com> Message-ID: <20020106113555.C2995@merlins.org> On Fri, Jan 04, 2002 at 05:57:39PM -0800, Dan Wilder wrote: > For example, apparently there's a California Linux user group, > one of whose subscribers (I've no way of telling who) has SpamCop > installed. When a post goes out to that user group mentioning one > of our websites, our upstream providers get anonymous complaints about > "spamvertised website". They then waste their time relaying these > to me, and I waste my time explaining, for the nth time. I receive abuse@sourceforge.net, so I'm very familiar with those too :-( Basically, the person at fault is the user who is reporting the spams and who includes the URL of your list archive in the spam as a spamvertised website. What I do is reply back to the user telling them to learn how to use the damn tool and stop wasting postmasters' time, and Cc appeals@spamcop.net so that they can take action against the user. In your case, I'm pretty sure they'd ban the user from spamcop, I've found the spamcop folks very nice and helpful. If you use mailman or some MLM that always includes your URL at the bottom, and you get many bogus reports, you can also ask the spamcop guys to add a regex to exclude your URL so that users don't get the option of reporting this as a spam website. Marc PS: Spamcop was always nice and helpful, even before they were hosted on sourceforge.net. -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key From chuqui@plaidworks.com Sun Jan 6 22:35:09 2002 From: chuqui@plaidworks.com (Chuq Von Rospach) Date: Sun, 06 Jan 2002 14:35:09 -0800 Subject: [Mailman-Developers] Feature Request - Plain Text Only In-Reply-To: <20020106113555.C2995@merlins.org> Message-ID: On 1/6/02 2:35 AM, "Marc MERLIN" wrote: >> of our websites, our upstream providers get anonymous complaints about >> "spamvertised website". They then waste their time relaying these > I receive abuse@sourceforge.net, so I'm very familiar with those too :-( I hate to say it, but I effectively blackhole spamcop stuff. It's pretty useless to me as a postmaster of large mail list systems. I got tired of people using it as a tool to unsubscribe from mail lists because they're too lazy to read the instructions in the message, and since spamcop hides all useful data in the message they send to me, I toss them. On the other hand, my favorite problem with this stuff is the time I ended up on the MAPs blackhole for hosting spam. It turned out that a subscriber to one of my mail lists (one with e-mail confirmation, I'll note) happened to be on a site that MAPs used an automated sniffer to find spam, and someone on that mail list sent out a message dsiscussing what she was going to do on vacation, and the MAPs sniffer decided it was a "you won a free vacation" spam, and wrote me up. So I got blackholed because two subscribers sent a legitimate piece of email to each other that was appropriate for the list they were on. Eventually, after having a discussion with Dave Rand, he figured out what was happening and promised to whitelist my site from further annoyance by the MAPs servers (what finally got me honked was that MAPs was testing my site for open relays about once a week. It turned out that the mail sent to my subscriber on that MAPs sniffer site was having the mail reported as spam or open relay about that often, and was actually losing a significant chunk of email to this "spam blocker"). They did whitelist me, for about three weeks, then the relay checks started again. At that time, I told my subscribers to move or get off the list (they moved), and put blocks up to prevent MAPs from contacting my server without permission, since I considered by that time their repeated scans an attack on my server. So if you see me make comments about how I'm not a big fan of these blackhole systems, there are any number of reasons. This is just one of them. From wilder@eskimo.com Mon Jan 7 02:58:53 2002 From: wilder@eskimo.com (Dan Wilder) Date: Sun, 6 Jan 2002 18:58:53 -0800 Subject: [Mailman-Developers] Feature Request - Plain Text Only In-Reply-To: ; from chuqui@plaidworks.com on Sun, Jan 06, 2002 at 02:35:09PM -0800 References: <20020106113555.C2995@merlins.org> Message-ID: <20020106185853.A31464@eskimo.com> On Sun, Jan 06, 2002 at 02:35:09PM -0800, Chuq Von Rospach wrote: > On 1/6/02 2:35 AM, "Marc MERLIN" wrote: > > >> of our websites, our upstream providers get anonymous complaints about > >> "spamvertised website". They then waste their time relaying these > > > I receive abuse@sourceforge.net, so I'm very familiar with those too :-( > > I hate to say it, but I effectively blackhole spamcop stuff. It's pretty > useless to me as a postmaster of large mail list systems. I got tired of > people using it as a tool to unsubscribe from mail lists because they're too > lazy to read the instructions in the message, and since spamcop hides all > useful data in the message they send to me, I toss them. > > On the other hand, my favorite problem with this stuff is the time I ended > up on the MAPs blackhole for hosting spam. It turned out that a subscriber > to one of my mail lists (one with e-mail confirmation, I'll note) happened > to be on a site that MAPs used an automated sniffer to find spam, and > someone on that mail list sent out a message dsiscussing what she was going > to do on vacation, and the MAPs sniffer decided it was a "you won a free > vacation" spam, and wrote me up. So I got blackholed because two subscribers > sent a legitimate piece of email to each other that was appropriate for the > list they were on. Eventually, after having a discussion with Dave Rand, he > figured out what was happening and promised to whitelist my site from > further annoyance by the MAPs servers (what finally got me honked was that > MAPs was testing my site for open relays about once a week. It turned out > that the mail sent to my subscriber on that MAPs sniffer site was having the > mail reported as spam or open relay about that often, and was actually > losing a significant chunk of email to this "spam blocker"). They did > whitelist me, for about three weeks, then the relay checks started again. At > that time, I told my subscribers to move or get off the list (they moved), > and put blocks up to prevent MAPs from contacting my server without > permission, since I considered by that time their repeated scans an attack > on my server. > > So if you see me make comments about how I'm not a big fan of these > blackhole systems, there are any number of reasons. This is just one of > them. I agree with you. I block mail claiming to come from spamcop with 550 Blocked due to excessive frivolous or false complaints Spam is a distressing problem, and there are days I (as a postmaster) feel inundated, despite taking several measures. The sites I administer do DNS lookups, and decline to accept mail claiming to come from places that don't have some sort of valid DNS record. Using a 450, so they'll retry for a while. In case it's just a DNS screwup. This seems to dispose of quite a bit, and so far hasn't gotten me any angry phone calls. Everybody who cares at the sites I administer has individual procmail filters of varying strictness, and I sometimes spend a fair amount of time tuning them. I can see how some people would feel desperate for a solution. But I sure can't see letting automatic systems invoke sanctions. I guess I see this as somehow more reprehensible even than spam. -- Dan Wilder From fil@rezo.net Mon Jan 7 14:05:10 2002 From: fil@rezo.net (Fil) Date: Mon, 7 Jan 2002 15:05:10 +0100 Subject: [Mailman-Developers] VERP_DELIVERY_INTERVAL = 10 ? Message-ID: <20020107150510.B28270@orwell.bok.net> Hi, I'm currently using Mailman version: 2.1a3+ I have set VERP_PASSWORD_REMINDERS = 1 VERP_PERSONALIZED_DELIVERIES = 1 VERP_DELIVERY_INTERVAL = 10 but the messages sent seem to never be VERP'ed, not even one in ten sent. What have I missed? (It VERPs everything when I set VERP_DELIVERY_INTERVAL = 1) -- Fil From fil@rezo.net Mon Jan 7 20:07:50 2002 From: fil@rezo.net (Fil) Date: Mon, 7 Jan 2002 21:07:50 +0100 Subject: [Mailman-Developers] a bug in updating to current cvs : Message-ID: <20020107210750.A1844@orwell.bok.net> Traceback (most recent call last): File "bin/update", line 531, in ? errors = main() File "bin/update", line 413, in main errors = errors + dolist(listname) File "bin/update", line 183, in dolist mlist = MailList.MailList(listname, lock=0) File "/home/mailman/Mailman/MailList.py", line 101, in __init__ self.Load() File "/home/mailman/Mailman/MailList.py", line 546, in Load self.CheckVersion(dict) File "/home/mailman/Mailman/MailList.py", line 557, in CheckVersion self.InitVars() File "/home/mailman/Mailman/MailList.py", line 331, in InitVars baseclass.InitVars(self) File "/home/mailman/Mailman/Archiver/Archiver.py", line 110, in InitVars }, mlist=self)) File "/home/mailman/Mailman/Utils.py", line 484, in maketext raise IOError(errno.ENOENT, 'No template file found', templatefile) IOError: [Errno 2] No template file found: 'emptyarchive.html' make: *** [update] Erreur 1 -- Fil From fil@rezo.net Mon Jan 7 20:41:00 2002 From: fil@rezo.net (Fil) Date: Mon, 7 Jan 2002 21:41:00 +0100 Subject: [Mailman-Developers] Mailman/Defaults.py is not updated? Message-ID: <20020107214100.A2372@orwell.bok.net> Bug in Mailman version 2.1a4+ We're sorry, we hit a bug! If you would like to help us identify the problem, please email a copy of this page to the webmaster for this site with a description of what happened. Thanks! Traceback: Traceback (most recent call last): File "/home/mailman/scripts/driver", line 86, in run_main main() File "/home/mailman/Mailman/Cgi/admindb.py", line 218, in main show_helds_overview(mlist, form) File "/home/mailman/Mailman/Cgi/admindb.py", line 390, in show_helds_overview (mm_cfg.ACCEPT, mm_cfg.HOLD, mm_cfg.REJECT, mm_cfg.DISCARD), AttributeError: 'Mailman.mm_cfg' module has no attribute 'ACCEPT' -- Fil From fil@rezo.net Mon Jan 7 21:06:08 2002 From: fil@rezo.net (Fil) Date: Mon, 7 Jan 2002 22:06:08 +0100 Subject: [Mailman-Developers] bin/config_list not working as expected (in current CVS) Message-ID: <20020107220608.B2372@orwell.bok.net> Hi, I tried to # cat > toto bounce_score_threshold = 4.0 bounce_info_stale_after = 15 bounce_you_are_disabled_warnings = 3 bounce_you_are_disabled_warnings_interval = 15 # bin/config_list -i toto listname (no error) then go to http://SERVER/mailman/admin/listname/bounce just to find that bounce_score_threshold = 4.0 bounce_info_stale_after = 0 bounce_you_are_disabled_warnings = 3 bounce_you_are_disabled_warnings_interval = 0 Only one in two has been taken into account !? bin/config_list -o - listname gives: bounce_info_stale_after = 1296000 bounce_you_are_disabled_warnings_interval = 1296000 -- Fil From fil@rezo.net Mon Jan 7 21:14:51 2002 From: fil@rezo.net (Fil) Date: Mon, 7 Jan 2002 22:14:51 +0100 Subject: [Mailman-Developers] bin/config_list not working as expected (in current CVS) In-Reply-To: <20020107220608.B2372@orwell.bok.net>; from fil@rezo.net on Mon, Jan 07, 2002 at 10:06:08PM +0100 References: <20020107220608.B2372@orwell.bok.net> Message-ID: <20020107221451.C2372@orwell.bok.net> Sorry: let's be more precise. The data are lost somewhere in the web interface... here's the full story: # bin/config_list -i toto listname # bin/config_list -o - listname | grep bounce | grep -v ^# bounce_processing = 1 bounce_score_threshold = 4.0 bounce_info_stale_after = 15 bounce_you_are_disabled_warnings = 3 bounce_you_are_disabled_warnings_interval = 15 (So it's OK. Now go to the web interface: it shows 0s in bounce_info_stale_after and bounce_you_are_disabled_warnings_interval) # bin/config_list -o - listname | grep bounce | grep -v ^# bounce_processing = 1 bounce_score_threshold = 4.0 bounce_info_stale_after = 15 bounce_you_are_disabled_warnings = 3 bounce_you_are_disabled_warnings_interval = 15 (go to the web interface: validate) # bin/config_list -o - listname | grep bounce | grep -v ^# bounce_processing = 1 bounce_score_threshold = 4.0 bounce_info_stale_after = 0 bounce_you_are_disabled_warnings = 3 bounce_you_are_disabled_warnings_interval = 0 (go to the web interface: enter 15 and 15, validate) # bin/config_list -o - listname | grep bounce | grep -v ^# bounce_processing = 1 bounce_score_threshold = 4.0 bounce_info_stale_after = 1296000 bounce_you_are_disabled_warnings = 3 bounce_you_are_disabled_warnings_interval = 1296000 @ Fil : > > Hi, > > I tried to > # cat > toto > bounce_score_threshold = 4.0 > bounce_info_stale_after = 15 > bounce_you_are_disabled_warnings = 3 > bounce_you_are_disabled_warnings_interval = 15 > > # bin/config_list -i toto listname > (no error) > > then go to http://SERVER/mailman/admin/listname/bounce > > just to find that > bounce_score_threshold = 4.0 > bounce_info_stale_after = 0 > bounce_you_are_disabled_warnings = 3 > bounce_you_are_disabled_warnings_interval = 0 > > Only one in two has been taken into account !? > > bin/config_list -o - listname gives: > > bounce_info_stale_after = 1296000 > bounce_you_are_disabled_warnings_interval = 1296000 -- Fil From wilane@yahoo.com Mon Jan 7 21:40:11 2002 From: wilane@yahoo.com (Ousmane Wilane) Date: Mon, 7 Jan 2002 21:40:11 +0000 Subject: [Mailman-Developers] a bug in updating to current cvs : In-Reply-To: <20020107210750.A1844@orwell.bok.net> References: <20020107210750.A1844@orwell.bok.net> Message-ID: <15418.5563.735334.6486@localhost.localdomain> >>>>> "Fil" == Fil writes: || file found', templatefile) IOError: [Errno 2] No template file || found: 'emptyarchive.html' make: *** [update] Erreur 1 I think that this one is my fault if you use FR as default Lang, FR templates aren't updated yet, I'll manage to do it this night. My apologies. Cheers. -- Ousmane Wilane From barry@zope.com Mon Jan 7 23:03:03 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 7 Jan 2002 18:03:03 -0500 Subject: [Mailman-Developers] a bug in updating to current cvs : References: <20020107210750.A1844@orwell.bok.net> Message-ID: <15418.10535.773977.276694@anthem.wooz.org> I hadn't thought about the situation where your default site language is not 'en' and the language which /is/ your site language is missing a template. Mailman should always fall back to the English template as a last resort. Can you try this (untested) patch -- before Ousmane checks in the French emptyarchive.html file? I'm in a meeting so I can't test this yet myself, but I will later tonight. If it works, I'll check this in. Thanks, -Barry Index: Utils.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/Utils.py,v retrieving revision 2.25 diff -u -r2.25 Utils.py --- Utils.py 2002/01/06 07:49:03 2.25 +++ Utils.py 2002/01/07 23:02:46 @@ -480,8 +480,14 @@ except quickexit: pass if fp is None: - # We never found the template. BAD! - raise IOError(errno.ENOENT, 'No template file found', templatefile) + # Try one last time with the distro English template, which, unless + # you've got a really broken installation, must be there. + try: + fp = open(os.path.join(mm_cfg.TEMPLATE_DIR, 'en', templatefile)) + except IOError, e: + if e.errno <> errno.ENOENT: raise + # We never found the template. BAD! + raise IOError(errno.ENOENT, 'No template file found', templatefile) template = fp.read() fp.close() text = template From barry@zope.com Tue Jan 8 04:44:35 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 7 Jan 2002 23:44:35 -0500 Subject: [Mailman-Developers] a bug in updating to current cvs : References: <20020107210750.A1844@orwell.bok.net> <15418.10535.773977.276694@anthem.wooz.org> Message-ID: <15418.31027.655732.69203@anthem.wooz.org> >>>>> "BAW" == Barry A Warsaw writes: BAW> Can you try this (untested) patch -- before Ousmane checks in BAW> the French emptyarchive.html file? I'm in a meeting so I BAW> can't test this yet myself, but I will later tonight. If it BAW> works, I'll check this in. It works for me, so I've checked it in. Thanks to Ousmane for checking in the new French template. -Barry From barry@zope.com Tue Jan 8 04:47:53 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 7 Jan 2002 23:47:53 -0500 Subject: [Mailman-Developers] Mailman/Defaults.py is not updated? References: <20020107214100.A2372@orwell.bok.net> Message-ID: <15418.31225.162405.41496@anthem.wooz.org> >>>>> "F" == Fil writes: F> Bug in Mailman version 2.1a4+ F> We're sorry, we hit a bug! F> If you would like to help us identify the problem, please email F> a copy of this page to the webmaster for this site with a F> description of what happened. Thanks! F> Traceback: Did you run "config.status ; make install" ? Any time Defaults.py.in changes (or any autoconf substituted file, like the ones in bin/) you need to re-run config.status before make install, so that they get re-generated. Once in a while you'll have to re-run configure too, if, say I add a new script to bin/, or for any other changes to configure{,.in}. -Barry From barry@zope.com Tue Jan 8 04:54:47 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 7 Jan 2002 23:54:47 -0500 Subject: [Mailman-Developers] bin/config_list not working as expected (in current CVS) References: <20020107220608.B2372@orwell.bok.net> Message-ID: <15418.31639.933476.327321@anthem.wooz.org> >>>>> "F" == Fil writes: | I tried to | # cat > toto | bounce_score_threshold = 4.0 | bounce_info_stale_after = 15 | bounce_you_are_disabled_warnings = 3 | bounce_you_are_disabled_warnings_interval = 15 | # bin/config_list -i toto listname | (no error) F> then go to http://SERVER/mailman/admin/listname/bounce | just to find that | bounce_score_threshold = 4.0 | bounce_info_stale_after = 0 | bounce_you_are_disabled_warnings = 3 | bounce_you_are_disabled_warnings_interval = 0 F> Only one in two has been taken into account !? F> bin/config_list -o - listname gives: | bounce_info_stale_after = 1296000 | bounce_you_are_disabled_warnings_interval = 1296000 Not a bug, actually. The attributes bounce_info_stale_after and bounce_you_are_disabled_warnings_interval are stored as a float number of seconds but are displayed in the web page as an integral number of days. This conversion occurs automatically when the web page is displayed. So when 15 seconds are converted are converted to an integral number of days, you get 0 days. That's also why you see the big numbers when you print those values out with config_list. -Barry From fil@rezo.net Tue Jan 8 08:49:57 2002 From: fil@rezo.net (Fil) Date: Tue, 8 Jan 2002 09:49:57 +0100 Subject: [Mailman-Developers] Mailman/Defaults.py is not updated? In-Reply-To: <15418.31225.162405.41496@anthem.wooz.org>; from barry@zope.com on Mon, Jan 07, 2002 at 11:47:53PM -0500 References: <20020107214100.A2372@orwell.bok.net> <15418.31225.162405.41496@anthem.wooz.org> Message-ID: <20020108094957.B10125@orwell.bok.net> @ Barry A. Warsaw : > Did you run "config.status ; make install" ? No! And that was it, of course. -- Fil From fil@rezo.net Tue Jan 8 10:28:57 2002 From: fil@rezo.net (Fil) Date: Tue, 8 Jan 2002 11:28:57 +0100 Subject: [Mailman-Developers] iso-something subjects Message-ID: <20020108112857.A12492@orwell.bok.net> Hi, there's been an annoying bug with Mailman, but I never took the time to mention it. Say my list is adding "[spip] " to the subject line if it is not present. I send: Subject: Macédoine ? Mailman receives Subject: =?iso-8859-1?Q?Mac=E9doine_?= Mailman sends: Subject: [spip] =?iso-8859-1?Q?Mac=E9doine_?= I reply, Mailman receives something that must look like (I don"t have the exact example at hand): Subject: Re: =?iso-8859-1?Q?%3Dspip%3D_Mac=E9doine_?= does not see [spip], so adds it and sends Subject: [spip] Re: =?iso-8859-1?Q?%3Dspip%3D_Mac=E9doine_?= In my mailer it is then decoded as Subject: [spip] Re: [spip] Macédoine See? [spip] has been added twice. I guess the subsject line should be iso-decoded before adding the tag, the (maybe?) iso-reencoded. -- Fil From barry@zope.com Tue Jan 8 15:11:32 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 8 Jan 2002 10:11:32 -0500 Subject: [Mailman-Developers] Mailman/Defaults.py is not updated? References: <20020107214100.A2372@orwell.bok.net> <15418.31225.162405.41496@anthem.wooz.org> <20020108094957.B10125@orwell.bok.net> Message-ID: <15419.3108.39893.595788@anthem.wooz.org> >>>>> "F" == Fil writes: F> @ Barry A. Warsaw : >> Did you run "config.status ; make install" ? F> No! And that was it, of course. Cool! -Barry From jason-list-mailman-developers@mastaler.com Tue Jan 8 16:44:43 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Tue, 08 Jan 2002 09:44:43 -0700 Subject: [Mailman-Developers] 2.1a4: outgoing messages lack 'Date:' header under qmail Message-ID: When using SMTPDirect as the DELIVERY_MODULE on qmail systems, messages are not sent with a 'Date:' header. Thus, the receiving MTA will most likely add one, but this is sort of confusing. RFC2822 also says this header must be present. I think Message.UserNotification.send() should also add a 'Date' header just as it adds 'Message-ID' (which I'm glad to see it now does!). Accordingly, I've submitted a patch (#500670) to the patch manager at sourceforge. Cheers. -- (TMDA (http://tmda.sourceforge.net/)) (user-level UCE intrusion prevention) From barry@zope.com Tue Jan 8 16:58:29 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 8 Jan 2002 11:58:29 -0500 Subject: [Mailman-Developers] 2.1a4: outgoing messages lack 'Date:' header under qmail References: Message-ID: <15419.9525.242044.592249@anthem.wooz.org> >>>>> "JRM" == Jason R Mastaler >>>>> writes: JRM> When using SMTPDirect as the DELIVERY_MODULE on qmail JRM> systems, messages are not sent with a 'Date:' header. Thus, JRM> the receiving MTA will most likely add one, but this is sort JRM> of confusing. RFC2822 also says this header must be present. +1 I think I've resisted this in the past because it confused some MTAs, but I no longer remember the details. Plus RFC 2822 is clear on this point and Mailman does strive to be RFC compliant. JRM> I think Message.UserNotification.send() should also add a JRM> 'Date' header just as it adds 'Message-ID' (which I'm glad to JRM> see it now does!). JRM> Accordingly, I've submitted a patch (#500670) to the patch JRM> manager at sourceforge. Thanks, I'll take a closer look later tonight. -Barry From mrbill@mrbill.net Tue Jan 8 19:42:32 2002 From: mrbill@mrbill.net (Bill Bradford) Date: Tue, 8 Jan 2002 13:42:32 -0600 Subject: [Mailman-Developers] how to fix corrupt archive? Message-ID: <20020108194232.GH11098@mrbill.net> Jan 08 13:36:06 2002 qrunner(29784): Traceback (most recent call last): Jan 08 13:36:06 2002 qrunner(29784): File "../Mailman/Archiver/Archiver.py", l ine 221, in ArchiveMail Jan 08 13:36:06 2002 qrunner(29784): File "/usr/local/mailman/Mailman/Archiver /pipermail.py", line 528, in processUnixMailbox Jan 08 13:36:06 2002 qrunner(29784): self.add_article(a) Jan 08 13:36:06 2002 qrunner(29784): File "/usr/local/mailman/Mailman/Archiver /HyperArch.py", line 928, in add_article Jan 08 13:36:06 2002 qrunner(29784): self.__super_add_article(article) Jan 08 13:36:06 2002 qrunner(29784): File "/usr/local/mailman/Mailman/Archiver /pipermail.py", line 567, in add_article Jan 08 13:36:06 2002 qrunner(29784): article.parentID = parentID = self.get_ parent_info(arch, article) Jan 08 13:36:06 2002 qrunner(29784): File "/usr/local/mailman/Mailman/Archiver /pipermail.py", line 601, in get_parent_info Jan 08 13:36:06 2002 qrunner(29784): if parentID and not self.database.hasAr ticle(archive, parentID): Jan 08 13:36:06 2002 qrunner(29784): File "/usr/local/mailman/Mailman/Archiver /HyperDatabase.py", line 267, in hasArticle Jan 08 13:36:06 2002 qrunner(29784): self.__openIndices(archive) Jan 08 13:36:06 2002 qrunner(29784): File "/usr/local/mailman/Mailman/Archiver /HyperDatabase.py", line 245, in __openIndices Jan 08 13:36:06 2002 qrunner(29784): t = DumbBTree(os.path.join(arcdir, arch ive + '-' + i)) Jan 08 13:36:06 2002 qrunner(29784): File "/usr/local/mailman/Mailman/Archiver /HyperDatabase.py", line 68, in __init__ Jan 08 13:36:06 2002 qrunner(29784): self.load() Jan 08 13:36:06 2002 qrunner(29784): File "/usr/local/mailman/Mailman/Archiver /HyperDatabase.py", line 173, in load Jan 08 13:36:06 2002 qrunner(29784): self.dict = marshal.load(fp) Jan 08 13:36:06 2002 qrunner(29784): ValueError: bad marshal data Jan 08 13:36:06 2002 (29784) CORRUPT ARCHIVE FOR LIST: rescue Ack! Any suggestions on how to fix? Bill -- Bill Bradford mrbill@mrbill.net Austin, TX From mrbill@mrbill.net Tue Jan 8 19:58:59 2002 From: mrbill@mrbill.net (Bill Bradford) Date: Tue, 8 Jan 2002 13:58:59 -0600 Subject: [Mailman-Developers] how to fix corrupt archive? In-Reply-To: <20020108194232.GH11098@mrbill.net> References: <20020108194232.GH11098@mrbill.net> Message-ID: <20020108195859.GJ11098@mrbill.net> On Tue, Jan 08, 2002 at 01:42:32PM -0600, Bill Bradford wrote: > Jan 08 13:36:06 2002 qrunner(29784): ValueError: bad marshal data > Jan 08 13:36:06 2002 (29784) CORRUPT ARCHIVE FOR LIST: rescue > Ack! Any suggestions on how to fix? Tried to re-run arch: figuring article archives 2001-December figuring article archives 2002-January Traceback (most recent call last): File "./arch", line 129, in ? main() File "./arch", line 118, in main archiver.processUnixMailbox(fp, Article) File "/usr/local/mailman/Mailman/Archiver/pipermail.py", line 528, in processUnixMailbox self.add_article(a) File "/usr/local/mailman/Mailman/Archiver/HyperArch.py", line 928, in add_article self.__super_add_article(article) File "/usr/local/mailman/Mailman/Archiver/pipermail.py", line 567, in add_article article.parentID = parentID = self.get_parent_info(arch, article) File "/usr/local/mailman/Mailman/Archiver/pipermail.py", line 587, in get_parent_info refs = self._remove_external_references(article.references) File "/usr/local/mailman/Mailman/Archiver/pipermail.py", line 619, in _remove_external_references if self.database.hasArticle(self.archive, ref): File "/usr/local/mailman/Mailman/Archiver/HyperDatabase.py", line 267, in hasArticle self.__openIndices(archive) File "/usr/local/mailman/Mailman/Archiver/HyperDatabase.py", line 245, in __openIndices t = DumbBTree(os.path.join(arcdir, archive + '-' + i)) File "/usr/local/mailman/Mailman/Archiver/HyperDatabase.py", line 68, in __init__ self.load() File "/usr/local/mailman/Mailman/Archiver/HyperDatabase.py", line 173, in load self.dict = marshal.load(fp) ValueError: bad marshal data Ack. help! Bill -- Bill Bradford mrbill@mrbill.net Austin, TX From pioppo@ferrara.linux.it Tue Jan 8 20:33:33 2002 From: pioppo@ferrara.linux.it (Simone Piunno) Date: Tue, 8 Jan 2002 21:33:33 +0100 Subject: [Mailman-Developers] bin/update: "cannot import name SimpleCookie" in mailman cvs In-Reply-To: <20020102095003.G6661@merlins.org> References: <20011210005141.A21219@magic.merlins.org> <15409.49868.211472.65222@anthem.wooz.org> <20020102095003.G6661@merlins.org> Message-ID: <20020108203333.GA10767@abulafia.casa> mercoledì, 02 gennaio 2002 alle 09:50:03, Marc MERLIN ha scritto: > > | ImportError: cannot import name SimpleCookie > > | make: *** [update] Error 1 > > This one should be shallow, and I think fixed in MM21a4. You need to > > remove all traces of Cookie.py from the Mailman installed > I found out in the meantime that even in beta 3, update failed the first > time but seemed to delete Cookie.py (or something else did), so it succeeded > the second time I've just upgraded from 2.1a3(CVS) to 2.1a4(CVS) and the same problem occurred (even re-issuing make install) I had to remove Cookie.py by hand. -- if (shakespeare) { the_problem = (2 * b) || !(2 * b); } From mhz@alt-linux.org Tue Jan 8 20:46:28 2002 From: mhz@alt-linux.org (Mikhail Zabaluev) Date: Tue, 8 Jan 2002 23:46:28 +0300 Subject: [Mailman-Developers] iso-something subjects In-Reply-To: <20020108112857.A12492@orwell.bok.net> References: <20020108112857.A12492@orwell.bok.net> Message-ID: <20020108204628.GB2077@mhz.mikhail.zabaluev.name> Hello Fil, On Tue, Jan 08, 2002 at 11:28:57AM +0100, Fil wrote: > > > Hi, > > there's been an annoying bug with Mailman, but I never took the time to > mention it. Say my list is adding "[spip] " to the subject line if it is not > present. > > I send: > Subject: Mac?doine ? > > Mailman receives > Subject: =?iso-8859-1?Q?Mac=E9doine_?= > > Mailman sends: > Subject: [spip] =?iso-8859-1?Q?Mac=E9doine_?= > > I reply, Mailman receives something that must look like (I don"t have the > exact example at hand): > Subject: Re: =?iso-8859-1?Q?%3Dspip%3D_Mac=E9doine_?= > > does not see [spip], so adds it and sends > Subject: [spip] Re: =?iso-8859-1?Q?%3Dspip%3D_Mac=E9doine_?= > > In my mailer it is then decoded as > Subject: [spip] Re: [spip] Mac?doine > > See? [spip] has been added twice. I guess the subsject line should be > iso-decoded before adding the tag, the (maybe?) iso-reencoded. I have made a patch that fixes exactly this: http://sourceforge.net/tracker/index.php?func=detail&aid=498766&group_id=103&atid=300103 -- Stay tuned, MhZ JID: mookid@jabber.org ___________ Marvelous! The super-user's going to boot me! What a finely tuned response to the situation! From djc@members.evolt.org Tue Jan 8 21:14:26 2002 From: djc@members.evolt.org (Daniel J. Cody) Date: Tue, 8 Jan 2002 15:14:26 -0600 (CST) Subject: [Mailman-Developers] Enforcing plain text posting In-Reply-To: Message-ID: Sorry a bit late to the party on this one, but a couple *very* simple things I do to keep HTML/any formatting email off my lists is adding a couple lines "Hold posts with header value matching a specified regexp" textarea box on the 'Privary Options' section of your list administration page: Content-type: text/html Content-type: text/enriched Content-type: text/x-vcard Content-type: multipart/alternative Content-Type: multipart/related Content-Disposition: attachment Content-Type: multipart/mixed Content-Type: application/octet-stream those lines catch 98% of formatted messages and attachments from going to the list. as the 'standard' rejection message on the admindb page, i have something like, "Please do not post HTML/RTF formatted emails or include attachments with your post. Please read thelist info and guidelines available at http://foo.org/listinfo.html" and the 'reject with the explanation below' radio button checked by default. of course, there are better ways to do it which have been mentioned on this list.. again, this is a *very* simple way to go about it and is adequate for small - medium sized lists. ideally, it gets stripped automagically. hth, .djc. On Sat, 5 Jan 2002, George F. Nemeyer wrote: > - Lists frequently erupt into flames about posts in HTML. > > - MUA's will often respond to an HTML message by replying in HTML, > perpetuating the problem caused by an initial HTML post. > > - Even users normally posting plain text often slip up, particularly > when mailing from other than their normal host. > > - HTML needlessly eats up to 3 times the storage space for messages in > archives, worse if the message is in both HTML and plain text. > > Mailman needs an option to enforce plain text posts by detecting and > rejecting posts in non-plain formats, particularly HTML. > > The sender should get a polite, canned note to turn off special encoding > and re-format their posts in plain text. The note should be customizable > so that instructions might be included for how to do so for common MUAs. > > Please consider adding this feature. > > (I'd asked about this a long time ago, but I never saw any comment on it.) From dairiki@dairiki.org Tue Jan 8 21:27:57 2002 From: dairiki@dairiki.org (Jeff Dairiki) Date: Tue, 8 Jan 2002 13:27:57 -0800 (PST) Subject: [Mailman-Developers] Enforcing plain text posting In-Reply-To: References: Message-ID: <42777.192.168.1.10.1010525277.squirrel@home.dairiki.org> I've written a patch for Mailman 2.0.x which strips non-text attachments from posts. (It is also smart enough to convert HTML-only posts to plain text.) See http://sf.net/tracker/?func=detail&aid=413752&group_id=103&atid=300103 for more information. From mrbill@mrbill.net Tue Jan 8 23:20:59 2002 From: mrbill@mrbill.net (Bill Bradford) Date: Tue, 8 Jan 2002 17:20:59 -0600 Subject: [Mailman-Developers] "bug" in pipermail / 2.0.8 Message-ID: <20020108232059.GA11098@mrbill.net> Okay, I had a problem with a list. I've got HTML archives of the list, generated by Mailman, going back to 1999. However, I've only got .mbox archives of the list going back a few months. I deleted the Janurary 2002 files from the archives/private/rescue/database/ directory, went to ~mailman/bin/, and re-ran "arch rescue". This fixed the "corrupt database" problem. Almost. It then regenerated the archives, fixed the problem - and forgot about everything it had before June 2001! Even though there are files in database/ all the way back to '99. The HTML files are still there, but http://www.sunhelp.org/pipermail/rescue/ doesent list them. Any way to fix this, short of hand-editing the index.html? Bill -- Bill Bradford mrbill@mrbill.net Austin, TX From mrbill@mrbill.net Tue Jan 8 23:32:05 2002 From: mrbill@mrbill.net (Bill Bradford) Date: Tue, 8 Jan 2002 17:32:05 -0600 Subject: [Mailman-Developers] "bug" in pipermail / 2.0.8 In-Reply-To: <20020108232059.GA11098@mrbill.net> References: <20020108232059.GA11098@mrbill.net> Message-ID: <20020108233205.GC11098@mrbill.net> On Tue, Jan 08, 2002 at 05:20:59PM -0600, Bill Bradford wrote: > It then regenerated the archives, fixed the problem - and forgot about > everything it had before June 2001! Even though there are files in > database/ all the way back to '99. > The HTML files are still there, but > http://www.sunhelp.org/pipermail/rescue/ doesent list them. > Any way to fix this, short of hand-editing the index.html? I was able to copy an old index.html file from a tar backup I made of the entire rescue/ directory before I ran arch; however, anytime a new post comes in, the index.html generated ONLY has the stuff from the rescue.mbox in it. Bill -- Bill Bradford mrbill@mrbill.net Austin, TX From mrbill@mrbill.net Wed Jan 9 00:24:03 2002 From: mrbill@mrbill.net (Bill Bradford) Date: Tue, 8 Jan 2002 18:24:03 -0600 Subject: [Mailman-Developers] "bug" in pipermail / 2.0.8 In-Reply-To: <20020108233205.GC11098@mrbill.net> References: <20020108232059.GA11098@mrbill.net> <20020108233205.GC11098@mrbill.net> Message-ID: <20020109002403.GK11098@mrbill.net> On Tue, Jan 08, 2002 at 05:32:05PM -0600, Bill Bradford wrote: > I was able to copy an old index.html file from a tar backup I made > of the entire rescue/ directory before I ran arch; however, anytime a > new post comes in, the index.html generated ONLY has the stuff from > the rescue.mbox in it. Nevermind; I just recombined all the .txt files to create the .mbox dating back to day one, then am re-running arch. Call me a dork. 8-) Bill -- Bill Bradford mrbill@mrbill.net Austin, TX From bob@nleaudio.com Mon Jan 7 06:48:53 2002 From: bob@nleaudio.com (Bob Puff/NLE) Date: Mon, 07 Jan 2002 01:48:53 -0500 Subject: [Mailman-Developers] Changing Digest numbers Message-ID: <3C3944D5.D9978B5F@nleaudio.com> Hey gang, In 2.0.x, how do you bump the volume number, and reset the digest number back to 1? Bob From bob@nleaudio.com Wed Jan 9 02:37:45 2002 From: bob@nleaudio.com (Bob@NLE) Date: Tue, 08 Jan 2002 21:37:45 -0500 Subject: [Mailman-Developers] Changing Digest numbers References: <3C3944D5.D9978B5F@nleaudio.com> Message-ID: <3C3BACF9.CA7565F@nleaudio.com> DId I miss a message, or was there no reply? How do you change the digest numbers? Bob Bob Puff/NLE wrote: > > Hey gang, > > In 2.0.x, how do you bump the volume number, and reset the digest number back to 1? > > Bob > > _______________________________________________ > Mailman-Developers mailing list > Mailman-Developers@python.org > http://mail.python.org/mailman/listinfo/mailman-developers From Dan Mick Wed Jan 9 04:10:59 2002 From: Dan Mick (Dan Mick) Date: Tue, 8 Jan 2002 20:10:59 -0800 (PST) Subject: [Mailman-Developers] Changing Digest numbers Message-ID: <200201090411.UAA26996@utopia.West.Sun.COM> Did I miss a support contract that I was supposed to sign before joining this list? I don't know. Did you look at the source? > DId I miss a message, or was there no reply? How do you change the digest numbers? > > Bob > > > Bob Puff/NLE wrote: > > > > Hey gang, > > > > In 2.0.x, how do you bump the volume number, and reset the digest number back to 1? From Dan Mick Wed Jan 9 04:26:35 2002 From: Dan Mick (Dan Mick) Date: Tue, 8 Jan 2002 20:26:35 -0800 (PST) Subject: [Mailman-Developers] Changing Digest numbers Message-ID: <200201090426.UAA27320@utopia.West.Sun.COM> There's an admin page entry for it; you need to even crack the source. Bottom of admin//digest, if it's the same place as in 2.1 (and it looks like it is; I'm just not running 2.0.x so I can't verify easily). > Did I miss a support contract that I was supposed to sign > before joining this list? I don't know. > Did you look at the source? > > > DId I miss a message, or was there no reply? How do you change the digest > numbers? > > > > Bob > > > > > > Bob Puff/NLE wrote: > > > > > > Hey gang, > > > > > > In 2.0.x, how do you bump the volume number, and reset the digest number > back to 1? From Dan Mick Wed Jan 9 04:28:03 2002 From: Dan Mick (Dan Mick) Date: Tue, 8 Jan 2002 20:28:03 -0800 (PST) Subject: [Mailman-Developers] Changing Digest numbers Message-ID: <200201090428.UAA27462@utopia.West.Sun.COM> > There's an admin page entry for it; you need to even crack the ^ didn't > source. Bottom of admin//digest, if it's the same place From bob@nleaudio.com Wed Jan 9 04:46:54 2002 From: bob@nleaudio.com (Bob Puff@NLE) Date: Tue, 08 Jan 2002 23:46:54 -0500 Subject: [Mailman-Developers] Changing Digest numbers References: <200201090426.UAA27320@utopia.West.Sun.COM> Message-ID: <3C3BCB3E.3B8AEF64@nleaudio.com> > There's an admin page entry for it; you need to even crack the > source. Bottom of admin//digest, if it's the same place > as in 2.1 (and it looks like it is; I'm just not running 2.0.x so > I can't verify easily). Not in 2.0.x there's not. At least that I can see. That's a 2.1.x thing. Bob From Dan Mick Wed Jan 9 04:53:37 2002 From: Dan Mick (Dan Mick) Date: Tue, 8 Jan 2002 20:53:37 -0800 (PST) Subject: [Mailman-Developers] Changing Digest numbers Message-ID: <200201090453.UAA28041@utopia.West.Sun.COM> > > There's an admin page entry for it; you need to even crack the > > source. Bottom of admin//digest, if it's the same place > > as in 2.1 (and it looks like it is; I'm just not running 2.0.x so > > I can't verify easily). > > Not in 2.0.x there's not. At least that I can see. That's a 2.1.x thing. You're right; I was looking at the 2.1 sources (didn't think I had them on this machine). Looks to me then like there's no way other than bin/withlist. Variables are 'volume' and 'next_digest_number'. I base the "there's no way" on the fact that I can't find an assignment to 'volume' anywhere (besides its original init to 1). From barry@zope.com Wed Jan 9 05:51:49 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 9 Jan 2002 00:51:49 -0500 Subject: [Mailman-Developers] Changing Digest numbers References: <3C3944D5.D9978B5F@nleaudio.com> Message-ID: <15419.55925.892093.601656@anthem.wooz.org> >>>>> "BP" == Bob Puff writes: BP> In 2.0.x, how do you bump the volume number, and reset the BP> digest number back to 1? cron/bumpdigests -Barry From Dan Mick Wed Jan 9 05:55:40 2002 From: Dan Mick (Dan Mick) Date: Tue, 8 Jan 2002 21:55:40 -0800 (PST) Subject: [Mailman-Developers] Changing Digest numbers Message-ID: <200201090555.VAA29305@utopia.West.Sun.COM> > >>>>> "BP" == Bob Puff writes: > > BP> In 2.0.x, how do you bump the volume number, and reset the > BP> digest number back to 1? > > cron/bumpdigests Aha, a non-.py file! Looking at the source proved harder than I thought... From bob@nleaudio.com Wed Jan 9 06:05:04 2002 From: bob@nleaudio.com (Bob Puff@NLE) Date: Wed, 09 Jan 2002 01:05:04 -0500 Subject: [Mailman-Developers] Changing Digest numbers References: <3C3944D5.D9978B5F@nleaudio.com> <15419.55925.892093.601656@anthem.wooz.org> Message-ID: <3C3BDD90.93ECB044@nleaudio.com> > cron/bumpdigests Thanks Barry.. how simple can it get? I already did this: file: upddig.py: def upddig(mlist): print mlist.volume print mlist.next_digest_number mlist.volume = 2 mlist.next_digest_number = 9 mlist.Save() Then I did: bin/withlist -l -r upddig [listname] Seems to have taken. Look ok? Bob From barry@zope.com Wed Jan 9 06:05:05 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 9 Jan 2002 01:05:05 -0500 Subject: [Mailman-Developers] Changing Digest numbers References: <200201090555.VAA29305@utopia.West.Sun.COM> Message-ID: <15419.56721.852316.167919@anthem.wooz.org> >>>>> "DM" == Dan Mick writes: DM> Aha, a non-.py file! DM> Looking at the source proved harder than I thought... Yeah, my "find | grep"s often miss those little buggers too! From barry@zope.com Wed Jan 9 06:07:10 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 9 Jan 2002 01:07:10 -0500 Subject: [Mailman-Developers] Changing Digest numbers References: <3C3944D5.D9978B5F@nleaudio.com> <15419.55925.892093.601656@anthem.wooz.org> <3C3BDD90.93ECB044@nleaudio.com> Message-ID: <15419.56846.373634.866813@anthem.wooz.org> >>>>> "B" == Bob writes: >> cron/bumpdigests B> Thanks Barry.. how simple can it get? I already did this: | file: upddig.py: | def upddig(mlist): | print mlist.volume | print mlist.next_digest_number | mlist.volume = 2 | mlist.next_digest_number = 9 | mlist.Save() | Then I did: | bin/withlist -l -r upddig [listname] B> Seems to have taken. Look ok? Yep. That's a one-off though and geared specifically to your one situation. bumpdigest isn't much more than that + the usual boilerplate + incrementing the values instead of hard coding them. -Barry From les@2pi.org Wed Jan 9 06:50:42 2002 From: les@2pi.org (Les Niles) Date: Tue, 8 Jan 2002 22:50:42 -0800 Subject: [Mailman-Developers] Feature request w/code In-Reply-To: <15408.64433.621204.651734@anthem.wooz.org> (barry@zope.com) References: <15408.64433.621204.651734@anthem.wooz.org> Message-ID: <200201090650.WAA27927@mutiny.2pi.org> On Mon, 31 Dec 2001 18:58:41 -0500 barry@zope.com (Barry A. Warsaw) wrote: >Hi all, > >Just wanted to let you know that I've released Mailman 2.1 alpha 4. >Below is the big list of changes with this release. This will be the >last alpha release for 2.1, but this still leaves open the possibility >of a few new features in MM2.1. I've got everything in that I intend >to get in. If you've got a pet new feature -- and have code that >implements it -- please do remind me about it now and I'll work on >getting in what I can for the first beta. Cool! Here's my pet new feature: MIME stripping, particularly for getting rid of HTML and/or various binary attachments. I just uploaded a patch (501199) against 2.1a4 that implements this in a Handler. It is per-list configurable with a list of regexps to match against the mime types to be deleted. (The config is in a new web page in the admin GUI, but maybe it'd be better stuck into one of the existing pages. I just didn't see an obvious candidate.) This implementation was originally written for 2.1alpha3. We've been using it on a few lists for 2-3 months without problems. The basic algorithm has been in use for over a year on several medium-sized lists; it's not perfect but has done a good job of making the multipart HTML generated by a lot of MUAs palatable to plain-text readers, as well as stripping out images and other binaries that shouldn't be posted under the lists' charters. -les From barry@zope.com Wed Jan 9 06:56:53 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 9 Jan 2002 01:56:53 -0500 Subject: [Mailman-Developers] Feature request w/code References: <15408.64433.621204.651734@anthem.wooz.org> <200201090650.WAA27927@mutiny.2pi.org> Message-ID: <15419.59829.743988.490982@anthem.wooz.org> I will /definitely/ take a look at this asap. I'm busy with other work right now, but hopefully tomorrow. -Barry From chuqui@plaidworks.com Wed Jan 9 07:12:02 2002 From: chuqui@plaidworks.com (Chuq Von Rospach) Date: Tue, 08 Jan 2002 23:12:02 -0800 Subject: [Mailman-Developers] Feature request w/code In-Reply-To: <200201090650.WAA27927@mutiny.2pi.org> Message-ID: On 1/8/02 10:50 PM, "Les Niles" wrote: > Here's my pet new feature: MIME stripping, particularly for getting > rid of HTML and/or various binary attachments. > > I just uploaded a patch (501199) against 2.1a4 that implements this > in a Handler. It is per-list configurable with a list of regexps > to match against the mime types to be deleted. Woo-hoo! let me buy this man a beer. (did folks see? First announced flash virus. I've been waiting...) From fil@rezo.net Wed Jan 9 10:28:21 2002 From: fil@rezo.net (Fil) Date: Wed, 9 Jan 2002 11:28:21 +0100 Subject: [Mailman-Developers] can't use mailmanctl -s start Message-ID: <20020109112821.F30739@orwell.bok.net> I don't know how to properly set up my system so that mailman restarts after a crash. I've just experienced one a few minutes ago, and here's the situation # /etc/init.d/mailman start Starting list server: mailman. The master qrunner lock could not be acquired. It appears as though there is a stale master qrunner lock. Try re-running mailmanctl with the -s flag. # /home/mailman/bin/mailmanctl -s start Starting Mailman's master qrunner. Traceback (most recent call last): File "/home/mailman/bin/mailmanctl", line 492, in ? main() File "/home/mailman/bin/mailmanctl", line 364, in main lock._transfer_to(pid) File "/home/mailman/Mailman/LockFile.py", line 357, in _transfer_to os.link(self.__lockfile, self.__tmpfname) OSError: [Errno 2] No such file or directory # ps aux | grep mailman mailman 924 0.0 0.3 4440 2968 pts/1 S 11:22 0:00 /usr/local/bin/python2.1 /home/mailman/bin/mailmanctl -s start So the process has failed but is still running? By the way, I've set things up so that : in mm_cfg.py: PIDFILE = '/var/run/mailman/mailman.pid' /var/run/mailman/ is emptied as startup (I've checked, it's empty now, and permissions seem to be correct: drwxr-xr-x 2 mailman mailman 4096 jan 9 11:15 /var/run/mailman/ I've got a /etc/init.d/mailman script that just does not much more than call /home/mailman/bin/mailmanctl start (Using the most recent CVS version, I prefer to post this to the -dev list) -- Fil From fil@rezo.net Wed Jan 9 14:06:15 2002 From: fil@rezo.net (Fil) Date: Wed, 9 Jan 2002 15:06:15 +0100 Subject: [Mailman-Developers] bad! Message-ID: <20020109150615.B2773@orwell.bok.net> Here's what one of our lists' moderators receive, once in a while, since we updated Mailman to the current CVS. So there's "bad marshal data", but in which file? What to do? (I guess it's people trying to unsubscribe.) > MailCommandHandler.ParseMailCommand() > > Traceback (most recent call last): > File "/home/mailman/Mailman/MailCommandHandler.py", line 261, in ParseMailC > self.__dispatch[cmd](args, line, msg) > File "/home/mailman/Mailman/MailCommandHandler.py", line 601, in ProcessUns > self.ConfirmUnsubscription(cpaddr) > File "/home/mailman/Mailman/MailList.py", line 1011, in ConfirmUnsubscripti > cookie = Pending.new(Pending.UNSUBSCRIPTION, addr) > File "/home/mailman/Mailman/Pending.py", line 62, in new > db = _load() > File "/home/mailman/Mailman/Pending.py", line 115, in _load > return marshal.load(fp) > ValueError: bad marshal data -- Fil From fil@rezo.net Wed Jan 9 17:04:21 2002 From: fil@rezo.net (Fil) Date: Wed, 9 Jan 2002 18:04:21 +0100 Subject: [Mailman-Developers] bad! In-Reply-To: <20020109150615.B2773@orwell.bok.net>; from fil@rezo.net on Wed, Jan 09, 2002 at 03:06:15PM +0100 References: <20020109150615.B2773@orwell.bok.net> Message-ID: <20020109180421.N5289@orwell.bok.net> In fact it was happening with all lists. I traced the problem to data/pending.db, which I removed, and the Mailman went on fine thereafter. Maybe it was because this file was mistakenly with permissions root.mailman 640 ? The trace error message was not very helpful, but I'm OK now. @ Fil : > Here's what one of our lists' moderators receive, once in a while, since we > updated Mailman to the current CVS. > > So there's "bad marshal data", but in which file? What to do? (I guess it's > people trying to unsubscribe.) -- Fil From jason-list-mailman-developers@mastaler.com Thu Jan 10 01:47:30 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Wed, 09 Jan 2002 18:47:30 -0700 Subject: [Mailman-Developers] documentation for config.pck elements? Message-ID: Are the contents of a Mailman configuration "database" (config.db/config.pck) documented anywhere? In particular, the various keys. Keys such as "members", "digest_members", and "owner" are obvious, but others aren't so. I can probably figure them out with some digging, but I'd like to have some sort of reference to point TMDA users to. TMDA has recently been trained to grok MM config databases (see http://mla.libertine.org/tmda-workers/200201/msg00050.html). Thanks. -- (TMDA (http://tmda.sourceforge.net/)) (user-level UCE intrusion prevention) From Dan Mick Thu Jan 10 02:15:43 2002 From: Dan Mick (Dan Mick) Date: Wed, 9 Jan 2002 18:15:43 -0800 (PST) Subject: [Mailman-Developers] documentation for config.pck elements? Message-ID: <200201100215.SAA11364@utopia.West.Sun.COM> They're rapidly changing, so probably not. Barry adds new things all the time, and changes functions of them, etc. In other words, I wouldn't call Mailman's MailList object (which is really what that file contains) a public API. It might be that inverting the problem might be the right answer: Mailman 2.1 goes through an API for all "member"-type queries, and so perhaps storing the member info external to config.db via a new "member-adaptor" interface, so that TMDA could also access it through a stable interface, would be the right Mailman/TMDA integration answer? See MemberAdaptor.py and OldStyleMemberships.py. (of course Barry will chime in too.) Interesting, though; just trying out SpamAssassin, and while it's working fairly well right now, the concept of TMDA is interesting now that I've spent some brainpower on out-of-the-box ideas about spam filtering. It's not very obvious to me that I can use it, though, since I'm not in a position to change my first-line MTAs here at work, and I'd be willing to bet they don't forward the user-extension form of address. > Are the contents of a Mailman configuration "database" > (config.db/config.pck) documented anywhere? > > In particular, the various keys. Keys such as "members", > "digest_members", and "owner" are obvious, but others aren't so. I > can probably figure them out with some digging, but I'd like to have > some sort of reference to point TMDA users to. > > TMDA has recently been trained to grok MM config databases > (see http://mla.libertine.org/tmda-workers/200201/msg00050.html). > > Thanks. From barry@zope.com Thu Jan 10 03:11:21 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 9 Jan 2002 22:11:21 -0500 Subject: [Mailman-Developers] documentation for config.pck elements? References: <200201100215.SAA11364@utopia.West.Sun.COM> Message-ID: <15421.1625.303275.520608@anthem.wooz.org> >>>>> "DM" == Dan Mick writes: DM> They're rapidly changing, so probably not. Barry adds new DM> things all the time, and changes functions of them, etc. DM> In other words, I wouldn't call Mailman's MailList object DM> (which is really what that file contains) a public API. Me neither. :) The intent though is that once I go to beta (next release), those attributes and their semantics will be frozen through the MM2.1 release. At the moment they're only documented in the code. All the "public" attributes appear in two places, in the mixin classes that are the bases for MailList, and in the web gui components that are used to present the data in the admin screens. There's actually a lot more documentation in the latter (see the Mailman/Gui subdir). Unfortunately the attributes are spread over many files, but I think you can find them all there. DM> It might be that inverting the problem might be the right DM> answer: Mailman 2.1 goes through an API for all "member"-type DM> queries, and so perhaps storing the member info external to DM> config.db via a new "member-adaptor" interface, so that TMDA DM> could also access it through a stable interface, would be the DM> right Mailman/TMDA integration answer? See MemberAdaptor.py DM> and OldStyleMemberships.py. That's definitely on the plate for post-MM2.1. Separating out the storage and representation issues and providing an abstract interface to the data model affords all kinds of benefits. DM> Interesting, though; just trying out SpamAssassin Neat! Are you integrating it with Mailman? I'd love to hear about your results (you may have already posted about it, I'm trying to catch up on the list). It looks like a neat thing to try to marry to Mailman. So is TDMA. Thanks for posting that link Jason. -Barry From Dan Mick Thu Jan 10 03:15:54 2002 From: Dan Mick (Dan Mick) Date: Wed, 9 Jan 2002 19:15:54 -0800 (PST) Subject: [Mailman-Developers] documentation for config.pck elements? Message-ID: <200201100316.TAA12929@utopia.West.Sun.COM> > DM> It might be that inverting the problem might be the right > DM> answer: Mailman 2.1 goes through an API for all "member"-type > DM> queries, and so perhaps storing the member info external to > DM> config.db via a new "member-adaptor" interface, so that TMDA > DM> could also access it through a stable interface, would be the > DM> right Mailman/TMDA integration answer? See MemberAdaptor.py > DM> and OldStyleMemberships.py. > > That's definitely on the plate for post-MM2.1. Separating out the > storage and representation issues and providing an abstract interface > to the data model affords all kinds of benefits. Actually, I was semi-proposing that MemberAdaptor was mature enough to be drop-in-replaced by something that TMDA supplies, but I can't quite tell if you're disagreeing or not. > DM> Interesting, though; just trying out SpamAssassin > > Neat! Are you integrating it with Mailman? I'd love to hear about > your results (you may have already posted about it, I'm trying to > catch up on the list). It looks like a neat thing to try to marry to > Mailman. So is TDMA. Thanks for posting that link Jason. No, I'm not trying any marriage, nor any realtime lookups, just using its prewired heuristics (from a .forward file, as I don't own my mailserver). It's a "look at the message and try to intuit if it's spam" solution, so it doesn't use any whitelisting really (well, there's dynamic whitelisting, in that some of its heuristics are "have I ever noted non-spam from this address before?") I love it so far; it's instantly cut my spam to almost nil (from ~30-40 a day) with very few errors. From barry@zope.com Thu Jan 10 03:33:12 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 9 Jan 2002 22:33:12 -0500 Subject: [Mailman-Developers] bad! References: <20020109150615.B2773@orwell.bok.net> <20020109180421.N5289@orwell.bok.net> Message-ID: <15421.2936.21686.615405@anthem.wooz.org> >>>>> "F" == Fil writes: F> In fact it was happening with all lists. I traced the problem F> to data/pending.db, which I removed, and the Mailman went on F> fine thereafter. Maybe it was because this file was mistakenly F> with permissions root.mailman 640 ? The trace error message was F> not very helpful, but I'm OK now. I'm not so sure, because your file was readable by the mailman process and you wouldn't get a marshal error if there was a permission problem, you'd get an IOError on the file open. But it's definitely possible that there was a permission problem when the file was written, although that shouldn't truncate the file. If there was some kind of disk problem that caused the file to get truncated though, the save may not write the entire marshaled dictionary, and then you could get that error when reading it back. Watch for other disk problems on the same filesystem. -Barry From barry@zope.com Thu Jan 10 03:38:33 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 9 Jan 2002 22:38:33 -0500 Subject: [Mailman-Developers] documentation for config.pck elements? References: <200201100316.TAA12929@utopia.West.Sun.COM> Message-ID: <15421.3257.756051.980215@anthem.wooz.org> >>>>> "DM" == Dan Mick writes: DM> Actually, I was semi-proposing that MemberAdaptor was mature DM> enough to be drop-in-replaced by something that TMDA supplies, DM> but I can't quite tell if you're disagreeing or not. MemberAdaptor, yes, I think it's mature enough to use! >> Neat! Are you integrating it with Mailman? I'd love to hear >> about your results (you may have already posted about it, I'm >> trying to catch up on the list). It looks like a neat thing to >> try to marry to Mailman. So is TDMA. Thanks for posting that >> link Jason. DM> No, I'm not trying any marriage, nor any realtime lookups, DM> just using its prewired heuristics (from a .forward file, as I DM> don't own my mailserver). It's a "look at the message and try DM> to intuit if it's spam" solution, so it doesn't use any DM> whitelisting really (well, there's dynamic whitelisting, in DM> that some of its heuristics are "have I ever noted non-spam DM> from this address before?") DM> I love it so far; it's instantly cut my spam to almost nil DM> (from ~30-40 a day) with very few errors. I lost track, SpamAssassin or TDMA? I read about SA briefly and it looks like you could run it in a client/server arrangement. If the on-the-wire protocol were simple enough, you could probably write a pure-Python client and then integrate that into Mailman's handler pipeline. If it's too complex, you might be able to wrap SA's C API in a Python extension module. -Barry From Dan Mick Thu Jan 10 03:41:29 2002 From: Dan Mick (Dan Mick) Date: Wed, 9 Jan 2002 19:41:29 -0800 (PST) Subject: [Mailman-Developers] documentation for config.pck elements? Message-ID: <200201100341.TAA13815@utopia.West.Sun.COM> > DM> No, I'm not trying any marriage, nor any realtime lookups, > DM> just using its prewired heuristics (from a .forward file, as I > DM> don't own my mailserver). It's a "look at the message and try > DM> to intuit if it's spam" solution, so it doesn't use any > DM> whitelisting really (well, there's dynamic whitelisting, in > DM> that some of its heuristics are "have I ever noted non-spam > DM> from this address before?") > > DM> I love it so far; it's instantly cut my spam to almost nil > DM> (from ~30-40 a day) with very few errors. > > I lost track, SpamAssassin or TDMA? SA > I read about SA briefly and it > looks like you could run it in a client/server arrangement. Yeah; it runs as a relatively-big Perl wad normally, but for efficiency you can start it as a daemon and then run a small C client that behaves the same way, so that the startup costs are one-time instead of per-mail. > If the > on-the-wire protocol were simple enough, you could probably write a > pure-Python client and then integrate that into Mailman's handler > pipeline. If it's too complex, you might be able to wrap SA's C API > in a Python extension module. Yeah, either should be simple enough to code in Python (it's an HTML-like protocol). I actually hadn't thought about trying to provide spam filtering for lists; I'm just thrilled with what it's doing for my personal email. From barry@zope.com Thu Jan 10 03:47:19 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 9 Jan 2002 22:47:19 -0500 Subject: [Mailman-Developers] documentation for config.pck elements? References: <200201100341.TAA13815@utopia.West.Sun.COM> Message-ID: <15421.3783.471707.99433@anthem.wooz.org> >>>>> "DM" == Dan Mick writes: DM> SA >> I read about SA briefly and it looks like you could run it in a >> client/server arrangement. DM> Yeah; it runs as a relatively-big Perl wad normally, but for DM> efficiency you can start it as a daemon and then run a small C DM> client that behaves the same way, so that the startup costs DM> are one-time instead of per-mail. >> If the on-the-wire protocol were simple enough, you could >> probably write a pure-Python client and then integrate that >> into Mailman's handler pipeline. If it's too complex, you >> might be able to wrap SA's C API in a Python extension module. DM> Yeah, either should be simple enough to code in Python (it's DM> an HTML-like protocol). DM> I actually hadn't thought about trying to provide spam DM> filtering for lists; I'm just thrilled with what it's doing DM> for my personal email. Cool. If you do look at integrating it with Mailman let me know. If SA has a good low false positive hit rate, it might be nice to provide a handler module to it (if SA's got a GPL compatible license that is ;). -Barry From barry@zope.com Thu Jan 10 04:02:43 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 9 Jan 2002 23:02:43 -0500 Subject: [Mailman-Developers] can't use mailmanctl -s start References: <20020109112821.F30739@orwell.bok.net> Message-ID: <15421.4707.480457.257347@anthem.wooz.org> >>>>> "F" == Fil writes: F> I don't know how to properly set up my system so that mailman F> restarts after a crash. I've just experienced one a few minutes F> ago, and here's the situation This is a tricky bit of code, where it's trying to transfer ownership of a lock file from the parent to a child process. I thought the code was race condition free, but it's very possible I've overlooked something. I'll stare at the code and try to reproduce it. | # /home/mailman/bin/mailmanctl -s start | Starting Mailman's master qrunner. | Traceback (most recent call last): >> le "/home/mailman/bin/mailmanctl", line 492, in ? main() le >> "/home/mailman/bin/mailmanctl", line 364, in main >> lock._transfer_to(pid) le "/home/mailman/Mailman/LockFile.py", line >> 357, in _transfer_to os.link(self.__lockfile, self.__tmpfname) F> OSError: [Errno 2] No such file or directory Note that it's not choking on the pid file, it's choking on the lock file that the parent is supposed to own a lock on. F> So the process has failed but is still running? Probably the child is still running, but the parent threw the exception. The child ought to be blocked in the _take_possession() call, and there should be no locks/master-qrunner lockfile. F> I've got a /etc/init.d/mailman script that just does not much F> more than call /home/mailman/bin/mailmanctl start Are you using misc/mailman as your init.d script? (I don't think it enters into the picture here). F> (Using the most recent CVS version, I prefer to post this to F> the -dev list) The right thing to do! I'll investigate some more. -Barry From fil@rezo.net Thu Jan 10 11:01:40 2002 From: fil@rezo.net (Fil) Date: Thu, 10 Jan 2002 12:01:40 +0100 Subject: [Mailman-Developers] -bounces becoming crazy, typo in bin/newlist (and bin/rmlist) Message-ID: <20020110120140.E9360@orwell.bok.net> 1) I've just faced a huge problem: the listname-bounces address has become crazy, sending bounced messages to the list-admins, and issuing "You have been removed from list" messges to bouncers, then again, then again, in a loop that sent 4000 messages before I interrupted it by sending all -bounces information into /dev/null (latest CVS) 2) There's a small typo in newlist: a double-quote is missing at the end of the listname-admin line (the same happens with bin/rmlist) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mailman@miel:~$ bin/newlist test Enter the email of the person running the list: fil@rezo.net Initial test password:=20 To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the =0Eewaliases' program: ## test mailing list test: "|/home/mailman/mail/mailman post test" test-admin: "|/home/mailman/mail/mailman bounces test test-bounces: "|/home/mailman/mail/mailman bounces test" test-join: "|/home/mailman/mail/mailman join test" test-leave: "|/home/mailman/mail/mailman leave test" test-owner: "|/home/mailman/mail/mailman owner test" test-request: "|/home/mailman/mail/mailman request test" -- Fil From marc@perkel.com Thu Jan 10 14:02:01 2002 From: marc@perkel.com (Marc Perkel) Date: Thu, 10 Jan 2002 06:02:01 -0800 Subject: [Mailman-Developers] Minor Feature Request - Rename List Message-ID: <3C3D9ED9.80419C3A@perkel.com> The first option under General is: The public name of this list (make case-changes only). If this were done right - changing this field would cause the list to be renamed. From Dan Mick Fri Jan 11 02:19:57 2002 From: Dan Mick (Dan Mick) Date: Thu, 10 Jan 2002 18:19:57 -0800 (PST) Subject: [Mailman-Developers] RFE: turn off Bounce Disable notifications Message-ID: <200201110220.SAA09328@utopia.West.Sun.COM> these are unconditional right now, and should be a GUI-selectable item. If I can find the time I'll try to hack up a patch. From jason-list-mailman-developers@mastaler.com Fri Jan 11 02:34:03 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Thu, 10 Jan 2002 19:34:03 -0700 Subject: [Mailman-Developers] documentation for config.pck elements? In-Reply-To: <200201100215.SAA11364@utopia.West.Sun.COM> (Dan Mick's message of "Wed, 9 Jan 2002 18:15:43 -0800 (PST)") References: <200201100215.SAA11364@utopia.West.Sun.COM> Message-ID: Dan Mick writes: > It might be that inverting the problem might be the right answer: > Mailman 2.1 goes through an API for all "member"-type queries, and > so perhaps storing the member info external to config.db via a new > "member-adaptor" interface, so that TMDA could also access it > through a stable interface, would be the right Mailman/TMDA > integration answer? See MemberAdaptor.py and > OldStyleMemberships.py. That would certainly make things easier, but the "integration" is easy enough as it is. TMDA just uses core Python to reach into the config.db or config.pck and extract e-mail addresses from the various attributes. What I was looking more for was consolidated documentation of what attributes are stored in a MM config "database", what their contents are, and what format they are stored in. Although, most users who use TMDA to front their MM lists will only probably need `members', `digest_members', and `owner' anyway, so I think I'll be fine. > Interesting, though; just trying out SpamAssassin, and while it's > working fairly well right now, the concept of TMDA is interesting > now that I've spent some brainpower on out-of-the-box ideas about > spam filtering. Well, nothing against SpamAssassin, but programs like that were why I wrote TMDA. Overly complex, a risk of false-positives, and not effective enough (for me). I talk more about this on the TMDA homepage. Plus, TMDA is written in Python. :-) > It's not very obvious to me that I can use it, though, since I'm not > in a position to change my first-line MTAs here at work, and I'd be > willing to bet they don't forward the user-extension form of > address. You can use whatever you want as the recipient delimiter including `+' which is the default under Sendmail. I just sent a test message to ``dmick+test@utopia.West.Sun.COM'' and it seems to have gone through fine. -- (TMDA (http://tmda.sourceforge.net/)) (user-level UCE intrusion prevention) From jason-list-mailman-developers@mastaler.com Fri Jan 11 02:37:56 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Thu, 10 Jan 2002 19:37:56 -0700 Subject: [Mailman-Developers] documentation for config.pck elements? In-Reply-To: <15421.1625.303275.520608@anthem.wooz.org> (barry@zope.com's message of "Wed, 9 Jan 2002 22:11:21 -0500") References: <200201100215.SAA11364@utopia.West.Sun.COM> <15421.1625.303275.520608@anthem.wooz.org> Message-ID: barry@zope.com (Barry A. Warsaw) writes: > The intent though is that once I go to beta (next release), those > attributes and their semantics will be frozen through the MM2.1 > release. Right now TMDA assumes attributes containing e-mail addresses will either be lists, or dictionaries in which the addresses are the keys. This seems to hold true for both MM 2.0 and 2.1a. -- (TMDA (http://tmda.sourceforge.net/)) (user-level UCE intrusion prevention) From Dan Mick Fri Jan 11 03:06:06 2002 From: Dan Mick (Dan Mick) Date: Thu, 10 Jan 2002 19:06:06 -0800 (PST) Subject: [Mailman-Developers] documentation for config.pck elements? Message-ID: <200201110306.TAA10852@utopia.West.Sun.COM> > Dan Mick writes: > > > It might be that inverting the problem might be the right answer: > > Mailman 2.1 goes through an API for all "member"-type queries, and > > so perhaps storing the member info external to config.db via a new > > "member-adaptor" interface, so that TMDA could also access it > > through a stable interface, would be the right Mailman/TMDA > > integration answer? See MemberAdaptor.py and > > OldStyleMemberships.py. > > That would certainly make things easier, but the "integration" is easy > enough as it is. TMDA just uses core Python to reach into the > config.db or config.pck and extract e-mail addresses from the various > attributes. "ease" wasn't the point; the point is that "reaching into config.db" is unsupported, whereas "plugin membership module" *is* intended to be supported, and therefore stable interface. Then, since you've got your choice of storage formats, the world's your oyster as far as sharing between Mailman and TMDA. Granted, it's a lot more work, but it's a blessed interface as opposed to "looking under the hood", which is almost certainly going to break sometime in the future. > > Interesting, though; just trying out SpamAssassin, and while it's > > working fairly well right now, the concept of TMDA is interesting > > now that I've spent some brainpower on out-of-the-box ideas about > > spam filtering. > > Well, nothing against SpamAssassin, but programs like that were why I > wrote TMDA. Overly complex, a risk of false-positives, and not > effective enough (for me). I talk more about this on the TMDA > homepage. Plus, TMDA is written in Python. :-) Yeah, I read that, which is why I said the concept was interesting... although SA is working pretty well for me right now. The integration with my mail system was a lot easier to grok, if not do. > > It's not very obvious to me that I can use it, though, since I'm not > > in a position to change my first-line MTAs here at work, and I'd be > > willing to bet they don't forward the user-extension form of > > address. > > You can use whatever you want as the recipient delimiter including `+' > which is the default under Sendmail. Under relatively-recent Sendmail, yeah, but I wasn't willing to believe that all our various mailhosts were relatively-recent. > I just sent a test message to > ``dmick+test@utopia.West.Sun.COM'' and it seems to have gone through > fine. I did just get that message, though. Hmm. Well, anyway, my use of TMDF is not exactly on-topic for mm-devel. Um...what's your email address? (d'oh! :) (never mind, I have it.) From barry@zope.com Fri Jan 11 05:24:19 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 00:24:19 -0500 Subject: [Mailman-Developers] documentation for config.pck elements? References: <200201100215.SAA11364@utopia.West.Sun.COM> <15421.1625.303275.520608@anthem.wooz.org> Message-ID: <15422.30467.623136.212250@anthem.wooz.org> >>>>> "JRM" == Jason R Mastaler >>>>> writes: JRM> Right now TMDA assumes attributes containing e-mail addresses JRM> will either be lists, or dictionaries in which the addresses JRM> are the keys. This seems to hold true for both MM 2.0 and JRM> 2.1a. Yup, that shouldn't change for MM2.1. -Barry From barry@zope.com Fri Jan 11 05:29:06 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 00:29:06 -0500 Subject: [Mailman-Developers] Minor Feature Request - Rename List References: <3C3D9ED9.80419C3A@perkel.com> Message-ID: <15422.30754.572537.256997@anthem.wooz.org> >>>>> "MP" == Marc Perkel writes: MP> The first option under General is: MP> The public name of this list (make case-changes only). MP> If this were done right - changing this field would cause the MP> list to be renamed. Too much work for MM2.1, but it's on The List. -Barry From barry@zope.com Fri Jan 11 05:31:32 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 00:31:32 -0500 Subject: [Mailman-Developers] can't use mailmanctl -s start References: <20020109112821.F30739@orwell.bok.net> Message-ID: <15422.30900.794641.997859@anthem.wooz.org> [Fil describes problems with the mailmanctl -s flag...] This is fixed now in CVS I believe. There was a subtle (is there any other kind? :) race condition and a reference counting issue in the handoff of the lock from the parent to the child. Pesky bugger to track down, but I think I've got it now. Thanks, -Barry From barry@zope.com Fri Jan 11 05:53:01 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 00:53:01 -0500 Subject: [Mailman-Developers] 2.1a4: outgoing messages lack 'Date:' header under qmail References: Message-ID: <15422.32189.616606.125535@anthem.wooz.org> >>>>> "JRM" == Jason R Mastaler >>>>> writes: JRM> I think Message.UserNotification.send() should also add a JRM> 'Date' header just as it adds 'Message-ID' (which I'm glad to JRM> see it now does!). JRM> Accordingly, I've submitted a patch (#500670) to the patch JRM> manager at sourceforge. Thanks for the patch! Applied to cvs. -Barry From jason-list-mailman-developers@mastaler.com Fri Jan 11 06:01:11 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Thu, 10 Jan 2002 23:01:11 -0700 Subject: [Mailman-Developers] documentation for config.pck elements? In-Reply-To: <200201110306.TAA10852@utopia.West.Sun.COM> (Dan Mick's message of "Thu, 10 Jan 2002 19:06:06 -0800 (PST)") References: <200201110306.TAA10852@utopia.West.Sun.COM> Message-ID: Dan Mick writes: > "ease" wasn't the point; the point is that "reaching into config.db" > is unsupported, whereas "plugin membership module" *is* intended to > be supported, and therefore stable interface. Then, since you've > got your choice of storage formats, the world's your oyster as far > as sharing between Mailman and TMDA. Sounds good to me, all I'm saying is that until this is implemented, I'm still in business. I'd imagine my wanting access to the `member' addresses from another application isn't all that uncommon. Mine just happens to be written in Python which made this easy. It might be nice to optionally be able to "separate" attributes like `member', and store them along side in a more universal format like text or DBM, rather than keeping them locked up inside config.pck where non-Python apps have a hard time getting at them. Perhaps this is just what you are suggesting. :-) -- (TMDA (http://tmda.sourceforge.net/)) (user-level UCE intrusion prevention) From marc@perkel.com Fri Jan 11 06:08:19 2002 From: marc@perkel.com (Marc Perkel) Date: Thu, 10 Jan 2002 22:08:19 -0800 Subject: [Mailman-Developers] First big Mailing References: <20020107214100.A2372@orwell.bok.net> <15418.31225.162405.41496@anthem.wooz.org> <20020108094957.B10125@orwell.bok.net> <15419.3108.39893.595788@anthem.wooz.org> Message-ID: <3C3E8153.EC6ACA40@perkel.com> I'm doing my first big mailing with Mailman/Exim to deliver effector for the Electronic Frontier Foundation. The list is about 20,000 names. Anyhow - started out moving right along, maybe too well - saturated the T1 pretty quick and the system slowed down. But the email logs were really going fast. This went on for about 45 minutes. During this time I saw a number of errors. Messages indicating the I had too many files open (running tail on the exim logs). A few messages that looked like something couldn't open something.db or something like that. Then ..... The delivery slowed down as it it were done. System load dropped back to low normal levels. This lasted a while - then things started back up again really delivering messages. These deliveries come in spurts. Anyhow - even though Exim is delivering other email. Messages sent to mailman are getting "stuck". It's as if nothing in mailman is working. I see messages being sent to mailman. But mailman isn't responding. I don't know if something is holding these messages and this is waiting in some queue - or if Mailman has crashed and is eating messages - or someing is corrupt or locked or overloaded or what. Anyhow - I'd like some general feedback on what might be happening. The newsletter contains an important story about Norway inditing Jon Johansen criminally. He's the guy who wrote the DVD code. Anyhow - the future of the planet is at stake here - so I'd like to know this is going to work and what I need to do to fine tune the system. Marc Perkel /root EFF From barry@zope.com Fri Jan 11 06:09:00 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 01:09:00 -0500 Subject: [Mailman-Developers] Once again, fame and fortune can be yours Message-ID: <15422.33148.232474.736964@anthem.wooz.org> A few years ago we ran a Mailman logo contest, had quite a few very good submissions, and eventually chose a logo by The Dragon De Monsyne. Now with the advent of favicons I'd like to run another mini-contest. I admit shameful jealousy in seeing more and more cool favicons in my Mozilla tabs, and I want one for Mailman too. Of course, I'm a musician[1] not an artist, so I need your help. I sort of think it ought to be a play on the circle in the cancellation mark logo. Maybe with the words "MAIL LIST" replaced with "Mailman" (bonus to get the "GNU" in there). But hey, feel free to ignore me as much as I ignore my lead singer when he suggests bass parts. :) I don't want to stiffle anyone's creativity! One caveat: please assign copyright to the FSF if we accept your logo. Enjoy, -Barry [1] Don't worry, you all will be forced to buy several copies of my new CD "The Mailman Never Delivers Twice" on my self-owned label Pumpichank Records, when it's released later this year. It'll include the sure-to-be-top-10 Mailman theme song, "Is That A Python In Your Pocket (Or Are You Just Glad To Hack Me)?". From Dan Mick Fri Jan 11 06:09:50 2002 From: Dan Mick (Dan Mick) Date: Thu, 10 Jan 2002 22:09:50 -0800 (PST) Subject: [Mailman-Developers] documentation for config.pck elements? Message-ID: <200201110609.WAA14441@utopia.West.Sun.COM> > Dan Mick writes: > > > "ease" wasn't the point; the point is that "reaching into config.db" > > is unsupported, whereas "plugin membership module" *is* intended to > > be supported, and therefore stable interface. Then, since you've > > got your choice of storage formats, the world's your oyster as far > > as sharing between Mailman and TMDA. > > Sounds good to me, all I'm saying is that until this is implemented, > I'm still in business. I think you still must misunderstand; what I'm suggesting is that TMDF implement and supply a Mailman membership-management plugin for just this purpose. Granted, it's more work than you wanted to do, but it doesn't have to be that much more, as you too can use a Python marshal for persistence; the upside is it's a promised interface. Then again, maybe Barry's already promised enough of config.db so you don't need it. I'm a Public Interfaces Only zealot. > I'd imagine my wanting access to the `member' addresses from another > application isn't all that uncommon. Mine just happens to be written > in Python which made this easy. It might be nice to optionally be > able to "separate" attributes like `member', and store them along > side in a more universal format like text or DBM, rather than keeping > them locked up inside config.pck where non-Python apps have a hard > time getting at them. Right. That is the purpose of the member plugin (well, that and to make member lookups presumably "better" in some generic-dbm-type way, e.g. to share them with other authentication/dictionary databases, etc.) The TMDF usage is sort of a bending, but still a way to use what's meant to be public rather than piggybacking on something private. From barry@zope.com Fri Jan 11 06:12:12 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 01:12:12 -0500 Subject: [Mailman-Developers] documentation for config.pck elements? References: <200201110306.TAA10852@utopia.West.Sun.COM> Message-ID: <15422.33340.826727.663938@anthem.wooz.org> >>>>> "JRM" == Jason R Mastaler >>>>> writes: JRM> I'd imagine my wanting access to the `member' addresses from JRM> another application isn't all that uncommon. Mine just JRM> happens to be written in Python which made this easy. It JRM> might be nice to optionally be able to "separate" attributes JRM> like `member', and store them along side in a more universal JRM> format like text or DBM, rather than keeping them locked up JRM> inside config.pck where non-Python apps have a hard time JRM> getting at them. JRM> Perhaps this is just what you are suggesting. :-) Yes! Only, not now. You're safe for MM2.1. -Barry From Dan Mick Fri Jan 11 06:19:13 2002 From: Dan Mick (Dan Mick) Date: Thu, 10 Jan 2002 22:19:13 -0800 (PST) Subject: [Mailman-Developers] First big Mailing Message-ID: <200201110619.WAA15061@utopia.West.Sun.COM> What version? > I'm doing my first big mailing with Mailman/Exim to deliver effector for the > Electronic Frontier Foundation. The list is about 20,000 names. > > Anyhow - started out moving right along, maybe too well - saturated the T1 > pretty quick and the system slowed down. But the email logs were really going > fast. This went on for about 45 minutes. > > During this time I saw a number of errors. Messages indicating the I had too > many files open (running tail on the exim logs). A few messages that looked > like something couldn't open something.db or something like that. > > Then ..... > > The delivery slowed down as it it were done. System load dropped back to low > normal levels. This lasted a while - then things started back up again really > delivering messages. These deliveries come in spurts. > > Anyhow - even though Exim is delivering other email. Messages sent to mailman > are getting "stuck". It's as if nothing in mailman is working. I see messages > being sent to mailman. But mailman isn't responding. I don't know if something > is holding these messages and this is waiting in some queue - or if Mailman > has crashed and is eating messages - or someing is corrupt or locked or > overloaded or what. > > Anyhow - I'd like some general feedback on what might be happening. The > newsletter contains an important story about Norway inditing Jon Johansen > criminally. He's the guy who wrote the DVD code. > > Anyhow - the future of the planet is at stake here - so I'd like to know this > is going to work and what I need to do to fine tune the system. > > Marc Perkel > /root > EFF > > > > _______________________________________________ > Mailman-Developers mailing list > Mailman-Developers@python.org > http://mail.python.org/mailman/listinfo/mailman-developers From marc@perkel.com Fri Jan 11 06:22:12 2002 From: marc@perkel.com (Marc Perkel) Date: Thu, 10 Jan 2002 22:22:12 -0800 Subject: [Mailman-Developers] How do you tell if DB is corrupt? Message-ID: <3C3E8494.F3415FC7@perkel.com> I think I have a problem. The html interface into mailman is working - the email quit. I have a frowing number of python processes stacking up. I had just started sending to a list of 20,000 for the first time. I think something is locked up dealing with mail delivery and subscribing with mailman. What do I do to figure out if a database is corrupt - locked - or whatever is wrong. Marc Perkel /root EFF From barry@zope.com Fri Jan 11 06:21:36 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 01:21:36 -0500 Subject: [Mailman-Developers] Re: First big Mailing References: <20020107214100.A2372@orwell.bok.net> <15418.31225.162405.41496@anthem.wooz.org> <20020108094957.B10125@orwell.bok.net> <15419.3108.39893.595788@anthem.wooz.org> <3C3E8153.EC6ACA40@perkel.com> Message-ID: <15422.33904.691738.558971@anthem.wooz.org> >>>>> "MP" == Marc Perkel writes: MP> I'm doing my first big mailing with Mailman/Exim to deliver MP> effector for the Electronic Frontier Foundation. The list is MP> about 20,000 names. A good cause, for sure. MP> During this time I saw a number of errors. Messages indicating MP> the I had too many files open (running tail on the exim MP> logs). A few messages that looked like something couldn't open MP> something.db or something like that. Two things are critical before we can move forward: we need to know what versions of the various bits of software you're running (and that includes OS, Python, Mailman, and Exim), and we need to see those tracebacks. Feel free to send along excerpts from logs/error and any Exim syslog entries that are relevant. -Barry From marc@perkel.com Fri Jan 11 06:23:19 2002 From: marc@perkel.com (Marc Perkel) Date: Thu, 10 Jan 2002 22:23:19 -0800 Subject: [Mailman-Developers] First big Mailing References: <200201110619.WAA15061@utopia.West.Sun.COM> Message-ID: <3C3E84D7.5BA9E817@perkel.com> Version 2.08 Dan Mick wrote: > What version? > > > I'm doing my first big mailing with Mailman/Exim to deliver effector for the > > Electronic Frontier Foundation. The list is about 20,000 names. > > > > Anyhow - started out moving right along, maybe too well - saturated the T1 > > pretty quick and the system slowed down. But the email logs were really going > > fast. This went on for about 45 minutes. > > > > During this time I saw a number of errors. Messages indicating the I had too > > many files open (running tail on the exim logs). A few messages that looked > > like something couldn't open something.db or something like that. > > > > Then ..... > > > > The delivery slowed down as it it were done. System load dropped back to low > > normal levels. This lasted a while - then things started back up again really > > delivering messages. These deliveries come in spurts. > > > > Anyhow - even though Exim is delivering other email. Messages sent to mailman > > are getting "stuck". It's as if nothing in mailman is working. I see messages > > being sent to mailman. But mailman isn't responding. I don't know if something > > is holding these messages and this is waiting in some queue - or if Mailman > > has crashed and is eating messages - or someing is corrupt or locked or > > overloaded or what. > > > > Anyhow - I'd like some general feedback on what might be happening. The > > newsletter contains an important story about Norway inditing Jon Johansen > > criminally. He's the guy who wrote the DVD code. > > > > Anyhow - the future of the planet is at stake here - so I'd like to know this > > is going to work and what I need to do to fine tune the system. > > > > Marc Perkel > > /root > > EFF > > > > > > > > _______________________________________________ > > Mailman-Developers mailing list > > Mailman-Developers@python.org > > http://mail.python.org/mailman/listinfo/mailman-developers From chuqui@plaidworks.com Fri Jan 11 06:24:00 2002 From: chuqui@plaidworks.com (Chuq Von Rospach) Date: Thu, 10 Jan 2002 22:24:00 -0800 Subject: [Mailman-Developers] First big Mailing In-Reply-To: <3C3E8153.EC6ACA40@perkel.com> Message-ID: On 1/10/02 10:08 PM, "Marc Perkel" wrote: > Anyhow - started out moving right along, maybe too well - saturated the T1 > pretty quick and the system slowed down. That's not good. IT's not a mailman problem, but it's not good. You need to tune your MTA to slow it down down so it doesn't overload the network. Once it does, the different processes/threads start fighting each other for network, and you'll see things go to heck. What I normally do is see what it takes to saturate my network, and then tune the mailer to stop about 10% shy of that. > During this time I saw a number of errors. Messages indicating the I had too > many files open (running tail on the exim logs). A few messages that looked > like something couldn't open something.db or something like that. That is really, really, really bad. That's a kernel problem: you've filled up the kernel tables handling open files, so any future attempt to open a file plain old fails. Once that starts happening, if you're LUCKY, processes fail gracefully and go away, but in many cases, that doesn't happen. At this point, you're pretty hosed. You need to see how many open files your system is configured to allow, and (a) slow down your MTA so it doesn't blow away your kernel tables, but also (b) have your kernel tuned to increase the number available. > The delivery slowed down as it it were done. System load dropped back to low > normal levels. That's actually fairly normal -- as the delivery takes up more resource, the mailman side tends to slow down. What you're likely seeing is competition for disk I/O, and your disk(s) are likely saturated. That's a whole 'nuther tuning discussion, but it's simply performance, not "it broke" bad. > Anyhow - even though Exim is delivering other email. Messages sent to mailman > are getting "stuck". Not surprising, if the file table overflowed in the kernel. First, reboot. Then, work at getting exim tuned down, it's overloading the system under load and the system is, well, barfing. From marc@perkel.com Fri Jan 11 06:30:35 2002 From: marc@perkel.com (Marc Perkel) Date: Thu, 10 Jan 2002 22:30:35 -0800 Subject: [Mailman-Developers] Re: First big Mailing References: <20020107214100.A2372@orwell.bok.net> <15418.31225.162405.41496@anthem.wooz.org> <20020108094957.B10125@orwell.bok.net> <15419.3108.39893.595788@anthem.wooz.org> <3C3E8153.EC6ACA40@perkel.com> <15422.33904.691738.558971@anthem.wooz.org> Message-ID: <3C3E8685.C8E58B71@perkel.com> I'm running Redhat 7.2 I'm running the 2.4.17 kernel. Python is 1.5.2. Mailman 2.0.8 and exim 3.34. Actually the problem is lack of logs. Mailman appears to be frozen with python tasks backing up as if the mailman tasks are locking up. I'm sure it's also processing a lot of bounced email. Could it be running into a task limit - with just being overloaded? Is there something to check the integrity of the databases? > > > Two things are critical before we can move forward: we need to know > what versions of the various bits of software you're running (and that > includes OS, Python, Mailman, and Exim), and we need to see those > tracebacks. Feel free to send along excerpts from logs/error and any > Exim syslog entries that are relevant. > > -Barry > > _______________________________________________ > Mailman-Developers mailing list > Mailman-Developers@python.org > http://mail.python.org/mailman/listinfo/mailman-developers From jason-list-mailman-developers@mastaler.com Fri Jan 11 06:34:57 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Thu, 10 Jan 2002 23:34:57 -0700 Subject: [Mailman-Developers] documentation for config.pck elements? In-Reply-To: <200201110609.WAA14441@utopia.West.Sun.COM> (Dan Mick's message of "Thu, 10 Jan 2002 22:09:50 -0800 (PST)") References: <200201110609.WAA14441@utopia.West.Sun.COM> Message-ID: Dan Mick writes: > I think you still must misunderstand; Yup. I'm not very hip to the MM jargon yet. > what I'm suggesting is that TMDF TMDA == ``Tagged Message Delivery Agent'' > implement and supply a Mailman membership-management plugin for just > this purpose. You've lost me. What is a Mailman membership-management plugin? > Granted, it's more work than you wanted to do, but it doesn't have > to be that much more, as you too can use a Python marshal for > persistence; the upside is it's a promised interface. Mmmm.. Promised interface.. -- (TMDA (http://tmda.sourceforge.net/)) (user-level UCE intrusion prevention) From Dan Mick Fri Jan 11 06:39:48 2002 From: Dan Mick (Dan Mick) Date: Thu, 10 Jan 2002 22:39:48 -0800 (PST) Subject: [Mailman-Developers] documentation for config.pck elements? Message-ID: <200201110639.WAA16356@utopia.West.Sun.COM> > > what I'm suggesting is that TMDF > > TMDA == ``Tagged Message Delivery Agent'' sorry. > > implement and supply a Mailman membership-management plugin for just > > this purpose. > > You've lost me. What is a Mailman membership-management plugin? The thing we've been talking about. The thing virtclassed in MemberAdaptor.py and derived/instantiated in OldStyleMemberships.py. The thing that implements the membership-management API. > > Granted, it's more work than you wanted to do, but it doesn't have > > to be that much more, as you too can use a Python marshal for > > persistence; the upside is it's a promised interface. > > Mmmm.. Promised interface.. From barry@zope.com Fri Jan 11 06:42:35 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 01:42:35 -0500 Subject: [Mailman-Developers] Re: First big Mailing References: <20020107214100.A2372@orwell.bok.net> <15418.31225.162405.41496@anthem.wooz.org> <20020108094957.B10125@orwell.bok.net> <15419.3108.39893.595788@anthem.wooz.org> <3C3E8153.EC6ACA40@perkel.com> <15422.33904.691738.558971@anthem.wooz.org> <3C3E8685.C8E58B71@perkel.com> Message-ID: <15422.35163.262389.892027@anthem.wooz.org> >>>>> "MP" == Marc Perkel writes: MP> Actually the problem is lack of logs. Is there nothing useful in errors/log? If not, it definitely ain't a Mailman problem. MP> Mailman appears to be frozen with python tasks backing up as MP> if the mailman tasks are locking up. I'm sure it's also MP> processing a lot of bounced email. Well, you can double check and see if there are any stale lock files in the locks directory. If you're exhausting your system resources as Chuq points out, and your Python processes are either hanging, thrashing with other processes, or just getting waxed by your kernel, the processes holding the locks will fail hard, leaving stale locks around. MP> Could it be running into a task limit - with just being MP> overloaded? Is there something to check the integrity of the MP> databases? See Chuq's excellent post. Others in more favorable timezones are going to have to take it from here tonight, I'm beat. But you can make sure your list config.db files are still good by using bin/dumpdb or bin/config_list. Use --help to get synopsis. -Barry From barry@zope.com Fri Jan 11 06:46:40 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 01:46:40 -0500 Subject: [Mailman-Developers] documentation for config.pck elements? References: <200201110639.WAA16356@utopia.West.Sun.COM> Message-ID: <15422.35408.398585.448897@anthem.wooz.org> >>>>> "DM" == Dan Mick writes: DM> The thing we've been talking about. The thing virtclassed in DM> MemberAdaptor.py and derived/instantiated in DM> OldStyleMemberships.py. The thing that implements the DM> membership-management API. Except that I think TDMA wants to be a client of MemberAdaptor, not a backend implementation of it, unless I'm confused. -Barry From jason-list-mailman-developers@mastaler.com Fri Jan 11 06:49:20 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Thu, 10 Jan 2002 23:49:20 -0700 Subject: [Mailman-Developers] documentation for config.pck elements? In-Reply-To: <200201110639.WAA16356@utopia.West.Sun.COM> (Dan Mick's message of "Thu, 10 Jan 2002 22:39:48 -0800 (PST)") References: <200201110639.WAA16356@utopia.West.Sun.COM> Message-ID: Dan Mick writes: > The thing virtclassed in MemberAdaptor.py and derived/instantiated > in OldStyleMemberships.py. The thing that implements the > membership-management API. Jargon. :-) OK, I'll see what I can figure out. -- (TMDA (http://tmda.sourceforge.net/)) (user-level UCE intrusion prevention) From marc@perkel.com Fri Jan 11 06:49:50 2002 From: marc@perkel.com (Marc Perkel) Date: Thu, 10 Jan 2002 22:49:50 -0800 Subject: [Mailman-Developers] First Big mailing Message-ID: <3C3E8B0D.76915B11@perkel.com> I rebooted the system. Still have problems. > Well, you can double check and see if there are any stale lock files > in the locks directory. If you're exhausting your system resources as > Chuq points out, and your Python processes are either hanging, > thrashing with other processes, or just getting waxed by your kernel, > the processes holding the locks will fail hard, leaving stale locks > around. Yea - 28 files in the locks directory. Do I delete the locks? Thanks for your help. I'll fix it in the morning. From chuqui@plaidworks.com Fri Jan 11 06:50:48 2002 From: chuqui@plaidworks.com (Chuq Von Rospach) Date: Thu, 10 Jan 2002 22:50:48 -0800 Subject: [Mailman-Developers] Re: First big Mailing In-Reply-To: <3C3E8685.C8E58B71@perkel.com> Message-ID: On 1/10/02 10:30 PM, "Marc Perkel" wrote: > Python is 1.5.2. That version's known to have some glitches. > Actually the problem is lack of logs. Mailman appears to be frozen with python > tasks backing up as if the mailman tasks are locking up. I'm sure it's also > processing a lot of bounced email. You filled up the kernel file table. Anything that writes to a file might be hosed because of that. Barry, how careful were you to verify opens succeeded, and what do you do if they fail? This might have been a stress test for your error coding.... (grin) > Could it be running into a task limit - with just being overloaded? You're not just overloaded. Once your file table started overflowing, the system is in an unknown and inconsistent state, and the only way to recover semi-gracefully is a reboot, and then making sure THAT never happens again. From Dan Mick Fri Jan 11 06:51:32 2002 From: Dan Mick (Dan Mick) Date: Thu, 10 Jan 2002 22:51:32 -0800 (PST) Subject: [Mailman-Developers] documentation for config.pck elements? Message-ID: <200201110651.WAA17323@utopia.West.Sun.COM> > >>>>> "DM" == Dan Mick writes: > > DM> The thing we've been talking about. The thing virtclassed in > DM> MemberAdaptor.py and derived/instantiated in > DM> OldStyleMemberships.py. The thing that implements the > DM> membership-management API. > > Except that I think TDMA wants to be a client of MemberAdaptor, not a > backend implementation of it, unless I'm confused. I dunno. The thing that occurred to me was: TMDA could provide a TMDAMembership.py that: 1) used its own backend store for membership info, and 2) was usable directly by TMDA, either by reusing that file, or by virtue of the fact that *IT* defines the storage format, so other TMDA-private modules can use that same format. i.e. config.db no longer holds the membership info; TMDA.db does. or whatever; it's a functional interface; whatever glue works, works. Being a client of MemberAdaptor means that TMDA would have to run a lot of Mailman code to deal with addresses; if, instead, it were only in charge of the plugin, then it could run even if Mailman weren't available; the synchronization point is the datastore. From barry@zope.com Fri Jan 11 06:56:04 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 01:56:04 -0500 Subject: [Mailman-Developers] Re: First big Mailing References: <3C3E8685.C8E58B71@perkel.com> Message-ID: <15422.35972.62535.660351@anthem.wooz.org> >>>>> "CVR" == Chuq Von Rospach writes: >> Python is 1.5.2. CVR> That version's known to have some glitches. Good point. Python 2.1.1 should be better. (And Python 2.1.2 release candidate just went out tonight, but I don't think Mailman users need freak out about upgrading). >> Actually the problem is lack of logs. Mailman appears to be >> frozen with python tasks backing up as if the mailman tasks are >> locking up. I'm sure it's also processing a lot of bounced >> email. CVR> You filled up the kernel file table. Anything that writes to CVR> a file might be hosed because of that. Barry, how careful CVR> were you to verify opens succeeded, and what do you do if CVR> they fail? This might have been a stress test for your error CVR> coding.... (grin) I've been very careful with the critical parts, i.e. saving a config.db file. MM uses a write-tmp-file-and-atomically-rename scheme so if anything fails, you're guaranteed to have at least a good backup file, modulo low level problems no app can defend against. config.db files can get corrupted, but if you've got corrupt config.db and config.db.bak files, you got more serious problems with your system. -Barry From chuqui@plaidworks.com Fri Jan 11 07:02:48 2002 From: chuqui@plaidworks.com (Chuq Von Rospach) Date: Thu, 10 Jan 2002 23:02:48 -0800 Subject: [Mailman-Developers] First Big mailing In-Reply-To: <3C3E8B0D.76915B11@perkel.com> Message-ID: On 1/10/02 10:49 PM, "Marc Perkel" wrote: > Yea - 28 files in the locks directory. Do I delete the locks? > > Thanks for your help. I'll fix it in the morning. Yes. Make sure there are no python processes in the queue, though, so you don't step on something by accident. From claw@kanga.nu Fri Jan 11 07:07:10 2002 From: claw@kanga.nu (J C Lawrence) Date: Thu, 10 Jan 2002 23:07:10 -0800 Subject: [Mailman-Developers] First big Mailing In-Reply-To: Message from Marc Perkel of "Thu, 10 Jan 2002 22:08:19 PST." <3C3E8153.EC6ACA40@perkel.com> References: <20020107214100.A2372@orwell.bok.net> <15418.31225.162405.41496@anthem.wooz.org> <20020108094957.B10125@orwell.bok.net> <15419.3108.39893.595788@anthem.wooz.org> <3C3E8153.EC6ACA40@perkel.com> Message-ID: <11529.1010732830@kanga.nu> On Thu, 10 Jan 2002 22:08:19 -0800 Marc Perkel wrote: > I'm doing my first big mailing with Mailman/Exim to deliver > effector for the Electronic Frontier Foundation. The list is about > 20,000 names. I'm going to do some guessing here, so make allowances. > Anyhow - started out moving right along, maybe too well - > saturated the T1 pretty quick and the system slowed down. But the > email logs were really going fast. This went on for about 45 > minutes. Translation: A message came in, was approved (automatically or by moderation) and moved to ~mailman/qfiles along with a copy of the the distribution list. qunner ran a little while later (cron job), and started delivering the broadcast to the MTA (thus all the activity). > During this time I saw a number of errors. Messages indicating the > I had too many files open (running tail on the exim logs). A few > messages that looked like something couldn't open something.db or > something like that. Not good. Very not good. Loose guess: You have configured Exim for more queue runners, parallel deliveries, and/or simultaneous incoming deliveries that Exim exceeded either your kernel's maximum number of file handles per process, or the total number of file handles in the system. You need to track this down and fix it. Now. Before you do anything else. It may be enough (for the short term) to just reconfigure Exim to use a smaller number of processes etc, but that's a stopgap, not a fix. > The delivery slowed down as it it were done. System load dropped > back to low normal levels. This sounds like qrunner processes being forked by cron, each trying to deliver more of your 20K messages to Exim. Qrunner has an internal timeout (15mins IIRC) after which it will be reaped and a new process forked by the next cron pass. > This lasted a while - then things started back up again really > delivering messages. These deliveries come in spurts. Which would explain the above bit. > Anyhow - even though Exim is delivering other email. Messages sent > to mailman are getting "stuck". Odds are good that a qrunner process was ungracefully reaped resulting in a stale lock file in ~mailman/locks. As a result subsequent qrunner processes are doing nothing, waiting for the lock to timeout. Fix: Check that there are no qrunner processes running. If so, delete ~mailman/locks/* Notes: You *REALLY* need to fix your file handle problem. Its not unlikely that that's is a fundamental cause of your problems. qrunner is responsible for all motion of mail thru the Mailman system, in receipt, moderation, and broadcasting. If qrunner is locked, nothing will happen until it is unlocked. > It's as if nothing in mailman is working. I see messages being > sent to mailman. But mailman isn't responding. Nope. They're being stashed in ~mailman/data, awaiting qrunner to Do The Right Thing (deliver to list, process as bounce, broadcast, etc. > I don't know if something is holding these messages and this is > waiting in some queue - or if Mailman has crashed and is eating > messages - or someing is corrupt or locked or overloaded or what. See above. Again: FIX YOUR FILE HANDLE PROBLEM FIRST! Until you do you can lose mail and have inexplicable impossible to debug problems. Notes: If you can spare the systems, the first thing you'll need to do is separate the MTA that is handling final delivery from your Mailman machine. Bounce processing can and will *really* screw with your efficiencies and load with lists of that size. Recommended architecture for scaling Mailman in your sort of situation is to have your Mailman system deliver all outbound mail to a smarthost (either via a smarthost rule on your MTA, or directly via SMTP config in Mailman). Ensure that the MXing for bounces will *NOT* go back to your smarthost, but will go directly to your Mailman system, This allows your smarthost to be tuned for what you need it to do: handle outbound deliveries efficiently, and allows your Mailman system to remain responsive (and under less load as there's no local overburdened MTA queue) for processing inbound bounces etc. Set SMTP_MAX_RCPTS in ~mailman/Mailman/mm_cfg.py to something reasonably large. Suggest something in the 50 - 100 range. Do not go any larger. This may help with temporarily resolving your file handle problem. It will also decrease system load in general and help smooth things along a bit. Later, when everything is known working, you can start tuning for performance and look at dropping SMTP_MAX_RCPTS down to around 5 (usually the sweet spot). > Anyhow - I'd like some general feedback on what might be > happening. The newsletter contains an important story about Norway > inditing Jon Johansen criminally. He's the guy who wrote the DVD > code. Yeah, I read it. ObOffer: If you would like some help offloading your mail traffic, I'm willing to smarthost a chunk of it for you (will need to verify with my upstreams). Basic idea would be to smarthost route a couple TLDs to me for final delivery (I've got a couple T3's so I should be able to take a fair percentage of your load). -- J C Lawrence ---------(*) Satan, oscillate my metallic sonatas. claw@kanga.nu He lived as a devil, eh? http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live. From claw@kanga.nu Fri Jan 11 07:11:23 2002 From: claw@kanga.nu (J C Lawrence) Date: Thu, 10 Jan 2002 23:11:23 -0800 Subject: [Mailman-Developers] Re: First big Mailing In-Reply-To: Message from barry@zope.com (Barry A. Warsaw) of "Fri, 11 Jan 2002 01:21:36 EST." <15422.33904.691738.558971@anthem.wooz.org> References: <20020107214100.A2372@orwell.bok.net> <15418.31225.162405.41496@anthem.wooz.org> <20020108094957.B10125@orwell.bok.net> <15419.3108.39893.595788@anthem.wooz.org> <3C3E8153.EC6ACA40@perkel.com> <15422.33904.691738.558971@anthem.wooz.org> Message-ID: <11564.1010733083@kanga.nu> On Fri, 11 Jan 2002 01:21:36 -0500 Barry A Warsaw wrote: > Two things are critical before we can move forward: we need to > know what versions of the various bits of software you're running > (and that includes OS, Python, Mailman, and Exim), and we need to > see those tracebacks. Feel free to send along excerpts from > logs/error and any Exim syslog entries that are relevant. Uhh, Barry, until he handles his file handle exhaustion problem tracebacks aren't going to do anyone any good. Once that starts happening you're in a realm of "the kernel is doing Bad Things to my processes and probably isn't telling me!" Get the file handle exhaustion handled first, _THEN_ see if we still get any tracebacks. If so, they have a chance of containing data that might be useful. Until then, well, we just have a system that's really really sick. -- J C Lawrence ---------(*) Satan, oscillate my metallic sonatas. claw@kanga.nu He lived as a devil, eh? http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live. From barry@zope.com Fri Jan 11 07:14:06 2002 From: barry@zope.com (Barry A. Warsaw) Date: Fri, 11 Jan 2002 02:14:06 -0500 Subject: [Mailman-Developers] bin/update: "cannot import name SimpleCookie" in mailman cvs References: <20011210005141.A21219@magic.merlins.org> <15409.49868.211472.65222@anthem.wooz.org> <20020102095003.G6661@merlins.org> <20020108203333.GA10767@abulafia.casa> Message-ID: <15422.37054.191227.398519@anthem.wooz.org> >>>>> "SP" == Simone Piunno writes: SP> I've just upgraded from 2.1a3(CVS) to 2.1a4(CVS) and the same SP> problem occurred (even re-issuing make install) I had to SP> remove Cookie.py by hand. I was able to reproduce the problem when upgrading from 2.1a2 to current cvs. It was an import problem which is now fixed now in CVS. -Barry From fil@rezo.net Fri Jan 11 07:35:07 2002 From: fil@rezo.net (Fil) Date: Fri, 11 Jan 2002 08:35:07 +0100 Subject: [Mailman-Developers] can't use mailmanctl -s start In-Reply-To: <15422.30900.794641.997859@anthem.wooz.org>; from barry@zope.com on Fri, Jan 11, 2002 at 12:31:32AM -0500 References: <20020109112821.F30739@orwell.bok.net> <15422.30900.794641.997859@anthem.wooz.org> Message-ID: <20020111083506.A26047@orwell.bok.net> @ Barry A. Warsaw : > [Fil describes problems with the mailmanctl -s flag...] > This is fixed now in CVS I believe. It works. -- Fil From marc@perkel.com Fri Jan 11 16:39:41 2002 From: marc@perkel.com (Marc Perkel) Date: Fri, 11 Jan 2002 08:39:41 -0800 Subject: [Mailman-Developers] Thanks Everyone - First Big Mailing Message-ID: <3C3F154D.3CA9E731@perkel.com> Thanks! Well - except for some significant glitches - our effector newsletter went out just fine last night. I want to than everyone who helped me out here. All I have to do today is tune the system so I don't overload it again. I had SMTP_MAX_RCPTS = 250 Then - using Exim I had remote_max_parallel = 100 I'm wondering what values I should set for these and in exim - should I set: queue_run_max = 30 ? I'm going to upgrade python to the latest and greatest. If I get the exim processes down I shouldn't overload the file handles - but - in the 2.4 kernel - how do I increase the number of open files? Marc Perkel /root EFF From chuqui@plaidworks.com Fri Jan 11 16:59:04 2002 From: chuqui@plaidworks.com (Chuq Von Rospach) Date: Fri, 11 Jan 2002 08:59:04 -0800 Subject: [Mailman-Developers] Thanks Everyone - First Big Mailing In-Reply-To: <3C3F154D.3CA9E731@perkel.com> Message-ID: On 1/11/02 8:39 AM, "Marc Perkel" wrote: > I had SMTP_MAX_RCPTS = 250 I'd leave this alone for now, but once you get things running well, a value of 10 is better. > Then - using Exim I had remote_max_parallel = 100 I'd cut this in half and see what happens. I'm not terribly familiar with exim, though. Hopefully someone who is can give more detail. From spacey-mailman@lenin.nu Fri Jan 11 17:18:12 2002 From: spacey-mailman@lenin.nu (Peter C. Norton) Date: Fri, 11 Jan 2002 09:18:12 -0800 Subject: [Mailman-Developers] Thanks Everyone - First Big Mailing In-Reply-To: <3C3F154D.3CA9E731@perkel.com> References: <3C3F154D.3CA9E731@perkel.com> Message-ID: <20020111171812.GY26335@lenin.nu> On Fri, Jan 11, 2002 at 08:39:41AM -0800, Marc Perkel wrote: > I'm going to upgrade python to the latest and greatest. If I get the exim > processes down I shouldn't overload the file handles - but - in the 2.4 kernel > - how do I increase the number of open files? The kernel ships by default with about 8k file descriptors available. If the system just does email, then you probably have a ulimit setting of 1024 by default, and you can change that by (as root) doing a ulimit -n 2048, or 4096, or whatever and spawning the shell that starts exim, or the shell that starts postfix - whichever is exhausting its resources. There used to be some header twiddling you had to do in 2.2 to get select() to work properly, but I don't think thats an issue anymore. -- The 5 year plan: In five years we'll make up another plan. Or just re-use this one. From dan@ssc.com Fri Jan 11 17:39:08 2002 From: dan@ssc.com (Dan Wilder) Date: Fri, 11 Jan 2002 09:39:08 -0800 Subject: [Mailman-Developers] Thanks Everyone - First Big Mailing In-Reply-To: <20020111171812.GY26335@lenin.nu> References: <3C3F154D.3CA9E731@perkel.com> <20020111171812.GY26335@lenin.nu> Message-ID: <20020111093908.A16174@ssc.com> On Fri, Jan 11, 2002 at 09:18:12AM -0800, Peter C. Norton wrote: > On Fri, Jan 11, 2002 at 08:39:41AM -0800, Marc Perkel wrote: > > I'm going to upgrade python to the latest and greatest. If I get the exim > > processes down I shouldn't overload the file handles - but - in the 2.4 kernel > > - how do I increase the number of open files? I jumped into the middle of this thread. I'm assuming "linux". If that's wrong, ignore this post. Take a look at /usr/src/linux/Documentation/proc.txt It may have changed in 2.4, but in 2.2, you set max file descriptors: echo 8192 >/proc/sys/fs/file-max echo 24576 >/proc/sys/fs/inode-max for example. proc.txt from 2.2 indicates you should set inode-max between three and four times file-max. Biggest number you can set for file-max is 1024*1024. The proc.txt also discusses how to evaluate your settings. Once you arrive at reasonable settings, have your init scripts set them. > The kernel ships by default with about 8k file descriptors available. If > the system just does email, then you probably have a ulimit setting of 1024 > by default, and you can change that by (as root) doing a ulimit -n 2048, or > 4096, or whatever and spawning the shell that starts exim, or the shell that > starts postfix - whichever is exhausting its resources. > > There used to be some header twiddling you had to do in 2.2 to get select() > to work properly, but I don't think thats an issue anymore. > > -- > The 5 year plan: > In five years we'll make up another plan. > Or just re-use this one. > > _______________________________________________ > Mailman-Developers mailing list > Mailman-Developers@python.org > http://mail.python.org/mailman/listinfo/mailman-developers > -- ----------------------------------------------------------------- Dan Wilder Technical Manager & Editor SSC, Inc. P.O. Box 55549 Phone: 206-782-8808 Seattle, WA 98155-0549 URL http://embedded.linuxjournal.com/ ----------------------------------------------------------------- From jason-list-mailman-developers@mastaler.com Fri Jan 11 18:21:08 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Fri, 11 Jan 2002 11:21:08 -0700 Subject: [Mailman-Developers] -bounces becoming crazy, typo in bin/newlist (and bin/rmlist) In-Reply-To: <20020110120140.E9360@orwell.bok.net> (Fil's message of "Thu, 10 Jan 2002 12:01:40 +0100") References: <20020110120140.E9360@orwell.bok.net> Message-ID: Fil writes: > 2) There's a small typo in newlist: a double-quote is missing at the > end of the listname-admin line (the same happens with bin/rmlist) Try the attached patch. I've also filed this as bug #502419 on sourceforge. Index: Mailman/MTA/Utils.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/MTA/Utils.py,v retrieving revision 2.3 diff -u -r2.3 Utils.py --- Mailman/MTA/Utils.py 2001/12/24 20:16:15 2.3 +++ Mailman/MTA/Utils.py 2002/01/11 18:10:46 @@ -47,7 +47,7 @@ # # Seed this with the special cases. aliases = [(listname, '"|%s post %s"' % (wrapper, listname)), - (listname+'-admin', '"|%s bounces %s' % (wrapper, listname)), + (listname+'-admin', '"|%s bounces %s"' % (wrapper, listname)), ] for ext in ('bounces', 'join', 'leave', 'owner', 'request'): aliases.append(('%s-%s' % (listname, ext), From jason-list-mailman-developers@mastaler.com Fri Jan 11 18:27:26 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Fri, 11 Jan 2002 11:27:26 -0700 Subject: [Mailman-Developers] Thanks Everyone - First Big Mailing In-Reply-To: <3C3F154D.3CA9E731@perkel.com> (Marc Perkel's message of "Fri, 11 Jan 2002 08:39:41 -0800") References: <3C3F154D.3CA9E731@perkel.com> Message-ID: Marc Perkel writes: > I'm going to upgrade python to the latest and greatest. You mentioned running RedHat 7.2; I believe that ships with Python 2.1.1 installed as `python2'. Of course, 2.2 is the latest/greatest, but 2.1.1 is pretty close. -- (TMDA (http://tmda.sourceforge.net/)) (user-level UCE intrusion prevention) From jarrell@vt.edu Mon Jan 14 15:32:46 2002 From: jarrell@vt.edu (Ron Jarrell) Date: Mon, 14 Jan 2002 10:32:46 -0500 Subject: [Mailman-Developers] INSTALL file... Message-ID: <5.1.0.14.2.20020114103012.03a5dd80@lennier.cc.vt.edu> Ok, so, after falling behind I'm now trying to upgrade to the current alpha on my test machine, preparatory to thinking about planning the early phases of starting to install it on my production server... First thing I noted - typo in the INSTALL file :-). Talks you through installing email-0.96, then you're supposed to verify that email.__version__ is 0.93 after you install it... From jarrell@vt.edu Mon Jan 14 16:07:21 2002 From: jarrell@vt.edu (Ron Jarrell) Date: Mon, 14 Jan 2002 11:07:21 -0500 (EST) Subject: [Mailman-Developers] more 2.1a4+ stuff Message-ID: <200201141607.g0EG7L204717@babylon5.cc.vt.edu> Ok, amazingly, it seems to be largely working. Two pieces of brokenness and a bitch. (I'd track this farther but suddenly entirely new fish have landed in my frying pan, and I have to context switch...) First, the bitch: It's annoying as crap to have to edit out: To finish creating your mailing list, you must edit your /etc/aliases (or equivalent) file by adding the following lines, and possibly running the `newaliases' program: >From between each and every single alias that genaliases dumps! Brokenness - email to my test list has a List-Archive: /pipermail header in it... And this list echoes to my local test newsgroup, and I'm getting Jan 14 10:57:52 2002 (4653) (NNTPDirect) NNTP error for list "rontest": 441 437 No colon-space in "From jarrell@lennier.cc.vt.edu Mon Jan 14 10:57:48 2002 " header The error is correct, but the problem, obviously, is the unix from header should never have hit the nntp server... From rodolfo@linux.org.uy Mon Jan 14 17:04:52 2002 From: rodolfo@linux.org.uy (Rodolfo Pilas) Date: 14 Jan 2002 14:04:52 -0300 Subject: [Mailman-Developers] Problem in checkdbs Message-ID: <1011027893.2575.20.camel@julieta> I am receving the following notice from my server. (I use Python 2.0 and MM 2.1a3) Can you tell me how to fix it? (thank you) -----Mensaje reenviado----- From: Cron Daemon To: mailman@segurux.com Subject: Cron /usr/bin/python /usr/lib/mailman/cron/checkdbs Date: 14 Jan 2002 12:00:02 -0500 Traceback (most recent call last): File "/usr/lib/mailman/cron/checkdbs", line 104, in ? main() File "/usr/lib/mailman/cron/checkdbs", line 67, in main text = text + '\n' + pending_requests(mlist) File "/usr/lib/mailman/cron/checkdbs", line 82, in pending_requests when, addr, passwd, digest, lang = mlist.GetRecord(id) ValueError: unpack tuple of wrong size From Krischan.Jodies@SerNet.DE Mon Jan 14 19:16:16 2002 From: Krischan.Jodies@SerNet.DE (Krischan Jodies) Date: Mon, 14 Jan 2002 20:16:16 +0100 Subject: [Mailman-Developers] Admin passwords lost after python upgrade Message-ID: I just moved a mailman 2.0.7 installation from our old server (Python 1.5.2) to our new one (Python 2.1.1). The site and list passwords did not work after that. The site admin password was easy to recover but the list admin passwords were no fun (too much clicking in the web interface ;-). Before the change dumdb delivered entrys like this: 'password': 'ktm3d.CsIdg1' After manually changing the password (using the site-admin password) they looked like this: 'password': '\x79\x3d\xd2$>\xc1\x5f\x19M\xd6\x96\x07\xfa\xf1GH', I believe I already read something about this problem but can't find it now. I would suggest to warn people somewere in the distribution - I had no problem because I am also the list-admin of all lists, but it would be painful to recover many passwords you don't know (and even don't _want_ to know) because they owned by the list-admins. Thanks, Krischan From mailman@pro-phile.com Wed Jan 16 06:11:09 2002 From: mailman@pro-phile.com (Pro-phile Technology Solutions) Date: Tue, 15 Jan 2002 22:11:09 -0800 Subject: [Mailman-Developers] Strange problem after a year of service Message-ID: <004001c19e54$97b55750$0200a8c0@ddr> I run a hosting company that subcontracts the space on virtual servers from an outside company. These servers are UNIX boxes. I've had a mail list set up that revolves about 100+ messages a day through it's doors to over 350 members. I recently upgraded my server space (about 2:30 today) and the list stopped working at about 2:30 today. Hmmmm. They (the techs) said that the only thing they did was allocate more space on the servers I was on for me to use and they touched nothing else. I can tail my e-mail to the SMTP server and it states that it has been sent, but I get nothing posted to the mailman list. The directories are still there, and I can get into the html pages (http://server.server.com/admin/list) but I receive no mail. I'm a Windows guy (sorry) so I don't totally understand UNIX environments. Ids there something I should check or try off the top of your heads? I have several clients on the list and I'm SURE this doesn't look good to them. Thanks for the help! _________________________ Brian From wilder@eskimo.com Wed Jan 16 06:35:50 2002 From: wilder@eskimo.com (Dan Wilder) Date: Tue, 15 Jan 2002 22:35:50 -0800 Subject: [Mailman-Developers] Strange problem after a year of service In-Reply-To: <004001c19e54$97b55750$0200a8c0@ddr>; from mailman@pro-phile.com on Tue, Jan 15, 2002 at 10:11:09PM -0800 References: <004001c19e54$97b55750$0200a8c0@ddr> Message-ID: <20020115223550.A22118@eskimo.com> If you can get to the mail logs on the server (someplace in /var/log/ maybe, often called "mail." something, and do a "tail -f logfilename" while you send some mail to the list, you can sometimes gain some insights. What kind of UNIX? What's the e-mail software? Sendmail? On Tue, Jan 15, 2002 at 10:11:09PM -0800, Pro-phile Technology Solutions wrote: > I run a hosting company that subcontracts the space on virtual servers from > an outside company. These servers are UNIX boxes. I've had a mail list set > up that revolves about 100+ messages a day through it's doors to over 350 > members. I recently upgraded my server space (about 2:30 today) and the list > stopped working at about 2:30 today. Hmmmm. They (the techs) said that the > only thing they did was allocate more space on the servers I was on for me > to use and they touched nothing else. I can tail my e-mail to the SMTP > server and it states that it has been sent, but I get nothing posted to the > mailman list. The directories are still there, and I can get into the html > pages (http://server.server.com/admin/list) but I receive no mail. I'm a > Windows guy (sorry) so I don't totally understand UNIX environments. Ids > there something I should check or try off the top of your heads? I have > several clients on the list and I'm SURE this doesn't look good to them. > Thanks for the help! > _________________________ > Brian > > > > > _______________________________________________ > Mailman-Developers mailing list > Mailman-Developers@python.org > http://mail.python.org/mailman/listinfo/mailman-developers > -- Dan Wilder From barry@zope.com Wed Jan 16 13:01:35 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 16 Jan 2002 08:01:35 -0500 Subject: [Mailman-Developers] Strange problem after a year of service References: <004001c19e54$97b55750$0200a8c0@ddr> <20020115223550.A22118@eskimo.com> Message-ID: <15429.31151.211881.626220@anthem.wooz.org> >>>>> "DW" == Dan Wilder writes: DW> If you can get to the mail logs on the server (someplace in DW> /var/log/ maybe, often called "mail." something, and do a DW> "tail -f logfilename" while you send some mail to the list, DW> you can sometimes gain some insights. Yep, also check the Mailman logs in $prefix/logs and check the Mailman queue $prefix/qfiles. What version of Mailman? What version of Python? Did any of these change? Did they upgrade any system software? Did they muck with cron? Maybe your crontab entries got wasted. >>>>> "PTS" == Pro-phile Technology Solutions writes: PTS> I recently upgraded my server space (about 2:30 today) and PTS> the list stopped working at about 2:30 today. Hmmmm. They PTS> (the techs) said that the only thing they did was allocate PTS> more space on the servers I was on for me to use and they PTS> touched nothing else. As a former (and sometimes current reluctant) sysadmin, I just don't believe this. :) It's too suspicious. -Barry From dan@ssc.com Wed Jan 16 16:07:50 2002 From: dan@ssc.com (Dan Wilder) Date: Wed, 16 Jan 2002 08:07:50 -0800 Subject: [Mailman-Developers] Strange problem after a year of service In-Reply-To: <15429.31151.211881.626220@anthem.wooz.org> References: <004001c19e54$97b55750$0200a8c0@ddr> <20020115223550.A22118@eskimo.com> <15429.31151.211881.626220@anthem.wooz.org> Message-ID: <20020116080750.B408@ssc.com> On Wed, Jan 16, 2002 at 08:01:35AM -0500, Barry A. Warsaw wrote: > > >>>>> "DW" == Dan Wilder writes: > > DW> If you can get to the mail logs on the server (someplace in > DW> /var/log/ maybe, often called "mail." something, and do a > DW> "tail -f logfilename" while you send some mail to the list, > DW> you can sometimes gain some insights. > > Yep, also check the Mailman logs in $prefix/logs and check the Mailman > queue $prefix/qfiles. What version of Mailman? What version of > Python? Did any of these change? Did they upgrade any system > software? Did they muck with cron? Maybe your crontab entries got > wasted. > > >>>>> "PTS" == Pro-phile Technology Solutions writes: > > PTS> I recently upgraded my server space (about 2:30 today) and > PTS> the list stopped working at about 2:30 today. Hmmmm. They > PTS> (the techs) said that the only thing they did was allocate > PTS> more space on the servers I was on for me to use and they > PTS> touched nothing else. > > As a former (and sometimes current reluctant) sysadmin, I just don't > believe this. :) It's too suspicious. As a current sysadmin, amen! The original querant had emailed me personally and I replied without thinking to copy the list. I'd suggested he check cron, both the crontab (or /etc/cron*/whatever) entry for qrunner, to see whether it had been deleted, and the cron daemon. Sometimes after a severe clock-shaking it's useful to "killall -HUP crond" to get it moving again. Of course the prudent sysadmin would reboot at that point, as crond isn't the only daemon that'll sulk following a period of temporal chaos. Postfix is my favorite; short of reboot, I'll always do a "postfix reload" following a significant clock jump on a server I can't reboot at that time. -- ----------------------------------------------------------------- Dan Wilder Technical Manager & Editor SSC, Inc. P.O. Box 55549 Phone: 206-782-8808 Seattle, WA 98155-0549 URL http://embedded.linuxjournal.com/ ----------------------------------------------------------------- From mailman@pro-phile.com Wed Jan 16 16:33:42 2002 From: mailman@pro-phile.com (Pro-phile Technology Solutions) Date: Wed, 16 Jan 2002 08:33:42 -0800 Subject: [Mailman-Developers] Strange problem after a year of service References: <004001c19e54$97b55750$0200a8c0@ddr> <20020115223550.A22118@eskimo.com> <15429.31151.211881.626220@anthem.wooz.org> <20020116080750.B408@ssc.com> Message-ID: <006f01c19eab$9202ae50$0200a8c0@ddr> Thanks to all, here is the e-mail I received back from the techs: Response: Honestly don't remember making any changes, while investigating and checking file permissions ownership and other things, you got back to us stating that it was working. I can't take credit for something I honestly don't think I fixed. Support Me: The only thing I did was pico into some of the files to check to see if they were rewritten, corrupted, etc. I restarted the system about 5 times and I also tailed the messages to see where they were going. Beyond that, nothing was done. Things that make ya go hmmmmmmmmm. Thanks for all of the immediate help out there. I'll archive this info on my servers in case it happens again. Thanks again all of you! ____________________ Brian mailman@pro-phile.com ----- Original Message ----- From: "Dan Wilder" To: Sent: Wednesday, January 16, 2002 8:07 AM Subject: Re: [Mailman-Developers] Strange problem after a year of service On Wed, Jan 16, 2002 at 08:01:35AM -0500, Barry A. Warsaw wrote: > > >>>>> "DW" == Dan Wilder writes: > > DW> If you can get to the mail logs on the server (someplace in > DW> /var/log/ maybe, often called "mail." something, and do a > DW> "tail -f logfilename" while you send some mail to the list, > DW> you can sometimes gain some insights. > > Yep, also check the Mailman logs in $prefix/logs and check the Mailman > queue $prefix/qfiles. What version of Mailman? What version of > Python? Did any of these change? Did they upgrade any system > software? Did they muck with cron? Maybe your crontab entries got > wasted. > > >>>>> "PTS" == Pro-phile Technology Solutions writes: > > PTS> I recently upgraded my server space (about 2:30 today) and > PTS> the list stopped working at about 2:30 today. Hmmmm. They > PTS> (the techs) said that the only thing they did was allocate > PTS> more space on the servers I was on for me to use and they > PTS> touched nothing else. > > As a former (and sometimes current reluctant) sysadmin, I just don't > believe this. :) It's too suspicious. As a current sysadmin, amen! The original querant had emailed me personally and I replied without thinking to copy the list. I'd suggested he check cron, both the crontab (or /etc/cron*/whatever) entry for qrunner, to see whether it had been deleted, and the cron daemon. Sometimes after a severe clock-shaking it's useful to "killall -HUP crond" to get it moving again. Of course the prudent sysadmin would reboot at that point, as crond isn't the only daemon that'll sulk following a period of temporal chaos. Postfix is my favorite; short of reboot, I'll always do a "postfix reload" following a significant clock jump on a server I can't reboot at that time. -- ----------------------------------------------------------------- Dan Wilder Technical Manager & Editor SSC, Inc. P.O. Box 55549 Phone: 206-782-8808 Seattle, WA 98155-0549 URL http://embedded.linuxjournal.com/ ----------------------------------------------------------------- _______________________________________________ Mailman-Developers mailing list Mailman-Developers@python.org http://mail.python.org/mailman/listinfo/mailman-developers From Dan Mick Wed Jan 16 21:09:31 2002 From: Dan Mick (Dan Mick) Date: Wed, 16 Jan 2002 13:09:31 -0800 (PST) Subject: [Mailman-Developers] It happened again! Message-ID: <200201162109.NAA27762@utopia.West.Sun.COM> Dammit, last night I upgraded to latest CVS, and all my nomails got reset again! Argh. From Dan Mick Wed Jan 16 21:20:59 2002 From: Dan Mick (Dan Mick) Date: Wed, 16 Jan 2002 13:20:59 -0800 (PST) Subject: [Mailman-Developers] It happened again! Message-ID: <200201162121.NAA28651@utopia.West.Sun.COM> > Dammit, last night I upgraded to latest CVS, and all my nomails got > reset again! > > Argh. ...and it's this line, right, here, right Barry? # 2.1alpha3 -> 2.1alpha4. The DisableDelivery flag is now moved into # get/setDeilveryStatus(). This must be done after the addresses are # canonicalized. l.delivery_status = {} <<<<<<<<<< for k, v in l.user_options.items(): if l.getMemberOption(k, mm_cfg.DisableDelivery): # Convert this flag into a legacy disable l.setDeliveryStatus(k, UNKNOWN) l.setMemberOption(k, mm_cfg.DisableDelivery, 0) From Dan Mick Wed Jan 16 21:28:53 2002 From: Dan Mick (Dan Mick) Date: Wed, 16 Jan 2002 13:28:53 -0800 (PST) Subject: [Mailman-Developers] It happened again! Message-ID: <200201162129.NAA28927@utopia.West.Sun.COM> > > Dammit, last night I upgraded to latest CVS, and all my nomails got > > reset again! > > > > Argh. > > ...and it's this line, right, here, right Barry? > > # 2.1alpha3 -> 2.1alpha4. The DisableDelivery flag is now moved into > # get/setDeilveryStatus(). This must be done after the addresses are > # canonicalized. > l.delivery_status = {} <<<<<<<<<< > for k, v in l.user_options.items(): > if l.getMemberOption(k, mm_cfg.DisableDelivery): > # Convert this flag into a legacy disable > l.setDeliveryStatus(k, UNKNOWN) > l.setMemberOption(k, mm_cfg.DisableDelivery, 0) Perhaps this is right: Index: versions.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/versions.py,v retrieving revision 2.17 diff -r2.17 versions.py 338c338,339 < l.delivery_status = {} --- > if not hasattr(l, 'delivery_status') > l.delivery_status = {} From barry@zope.com Wed Jan 16 22:00:21 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 16 Jan 2002 17:00:21 -0500 Subject: [Mailman-Developers] It happened again! References: <200201162129.NAA28927@utopia.West.Sun.COM> Message-ID: <15429.63477.862550.138313@anthem.wooz.org> >>>>> "DM" == Dan Mick writes: DM> Dammit, last night I upgraded to latest CVS, and all my DM> nomails got reset again! Argh. DM> ...and it's this line, right, here, right Barry? Indeed. DM> Perhaps this is right: Try this one instead. And thanks for tracking this down! -Barry -------------------- snip snip -------------------- Index: versions.py =================================================================== RCS file: /cvsroot/mailman/mailman/Mailman/versions.py,v retrieving revision 2.17 diff -u -r2.17 versions.py --- versions.py 2002/01/06 04:28:02 2.17 +++ versions.py 2002/01/16 21:58:55 @@ -302,6 +302,7 @@ 'bounce_you_are_disabled_warnings_interval', mm_cfg.DEFAULT_BOUNCE_YOU_ARE_DISABLED_WARNINGS_INTERVAL) add_only_if_missing('ban_list', []) + add_only_if_missing('delivery_status', {}) @@ -335,7 +336,6 @@ # 2.1alpha3 -> 2.1alpha4. The DisableDelivery flag is now moved into # get/setDeilveryStatus(). This must be done after the addresses are # canonicalized. - l.delivery_status = {} for k, v in l.user_options.items(): if l.getMemberOption(k, mm_cfg.DisableDelivery): # Convert this flag into a legacy disable From Dan Mick Thu Jan 17 01:29:10 2002 From: Dan Mick (Dan Mick) Date: Wed, 16 Jan 2002 17:29:10 -0800 (PST) Subject: [Mailman-Developers] bounce processing in 2.1CVS Message-ID: <200201170129.RAA14537@utopia.West.Sun.COM> I could be high, but it looks like the sequence in Bouncer.py is: 1) are we a member? No, return 2) do we have previous bounces? No, register it and quit 3) is the member disabled? yes, quit 4) is the bounce info from today? yes, quit 5) is the info stale? yes, clear it out 6) start looking for action It seems like 4) is pretty procrustean. If, for instance, I have a wad of bounces, and decide "screw it, if they get to one bounce, I want them gone" and change the bounce threshold, that's not going to take effect until tomorrow. And besides, that seems like a useful knob to turn (i.e. "how old does the bounce info have to be before I start looking for new ones"). I think maybe the threshold should be checked before the 'check against time', to handle changing thresholds, and that the 'time-to-reexamine' value should be a modifiable value (currently hardcoded 1 day). Comments? From jra@baylink.com Thu Jan 17 04:55:35 2002 From: jra@baylink.com (Jay R. Ashworth) Date: Wed, 16 Jan 2002 23:55:35 -0500 Subject: [Mailman-Developers] Strange problem after a year of service In-Reply-To: <20020116080750.B408@ssc.com>; from Dan Wilder on Wed, Jan 16, 2002 at 08:07:50AM -0800 References: <004001c19e54$97b55750$0200a8c0@ddr> <20020115223550.A22118@eskimo.com> <15429.31151.211881.626220@anthem.wooz.org> <20020116080750.B408@ssc.com> Message-ID: <20020116235535.10708@scfn.thpl.lib.fl.us> On Wed, Jan 16, 2002 at 08:07:50AM -0800, Dan Wilder wrote: > Of course the prudent sysadmin would reboot at that point, > as crond isn't the only daemon that'll sulk following > a period of temporal chaos. As much Buffy as I've been watching the past two months; that sentence is just *beyond* funny. Cheers, -- jra -- Jay R. Ashworth jra@baylink.com Member of the Technical Staff Baylink RFC 2100 The Suncoast Freenet The Things I Think Tampa Bay, Florida http://baylink.pitas.com +1 727 647 1274 "If you don't have a dream; how're you gonna have a dream come true?" -- Captain Sensible, The Damned (from South Pacific's "Happy Talk") From drich@employees.org Thu Jan 17 18:17:14 2002 From: drich@employees.org (Dan Rich) Date: Thu, 17 Jan 2002 10:17:14 -0800 (PST) Subject: [Mailman-Developers] Style Sheet (CSS) support Message-ID: I figure this question is probably better suited for this list than mailman-users. Has anyone looked at adding style sheet support to mailman? I've hacked it into my installtion, since I really need the mailman pages to have the same look-n-feel as the site the lists are related to. The problem is, the support I've hacked in for now only takes care of the page background and some basic colors. It looks like it will be *lots* of work to change all of the dynamic elements (banners, tables, etc). I don't want to start down this path if people are already working on it and it will all be obsolete in version 2.x. Thanks! -- Dan Rich | http://www.employees.org/~drich/ | "Step up to red alert!" "Are you sure, sir? | It means changing the bulb in the sign..." | - Red Dwarf (BBC) From barry@zope.com Thu Jan 17 18:25:14 2002 From: barry@zope.com (Barry A. Warsaw) Date: Thu, 17 Jan 2002 13:25:14 -0500 Subject: [Mailman-Developers] Style Sheet (CSS) support References: Message-ID: <15431.5898.307634.83380@anthem.wooz.org> >>>>> "DR" == Dan Rich writes: DR> The problem is, the support I've hacked in for now only takes DR> care of the page background and some basic colors. It looks DR> like it will be *lots* of work to change all of the dynamic DR> elements (banners, tables, etc). I don't want to start down DR> this path if people are already working on it and it will all DR> be obsolete in version 2.x. AFAIK, nobody's working on style sheet support for MM2.1. -Barry From dgc@uchicago.edu Thu Jan 17 18:33:13 2002 From: dgc@uchicago.edu (David Champion) Date: Thu, 17 Jan 2002 12:33:13 -0600 Subject: [Mailman-Developers] Style Sheet (CSS) support In-Reply-To: References: Message-ID: <20020117183313.GA11320@dust.uchicago.edu> On 2002.01.17, in , "Dan Rich" wrote: > I figure this question is probably better suited for this list than > mailman-users. > > Has anyone looked at adding style sheet support to mailman? I've hacked > it into my installtion, since I really need the mailman pages to have the > same look-n-feel as the site the lists are related to. I contributed a number of patches in this thread to the SourceForge repository about 15 months ago or so. They didn't use CSS (since I dislike CSS and/or the way people use CSS and/or the degree of control my web browser gives me over interpretation & rendering of CSS), but they did enable considerable customization of look and feel. I don't think they've gotten past the 2.0a5 release I wrote them for, though, and I don't have the time to update them -- it's unfortunately more economical for me to have a disintegrated Mailman site than to keep my patches up to date with a CVS version I can't afford to run for real lists. :) > The problem is, the support I've hacked in for now only takes care of the > page background and some basic colors. It looks like it will be *lots* of > work to change all of the dynamic elements (banners, tables, etc). I My patches cared for color schemes and banners, primarily. If anyone wants to find them on SF and update them for current Mailman, please feel free. At the time I wrote them, development was going too fast for Barry to consider and integrate the patches *or* for me to keep them up to date, so they're somewhat behind now. -- -D. dgc@uchicago.edu NSIT University of Chicago From dgc@uchicago.edu Thu Jan 17 18:36:39 2002 From: dgc@uchicago.edu (David Champion) Date: Thu, 17 Jan 2002 12:36:39 -0600 Subject: [Mailman-Developers] Re: Style Sheet (CSS) support In-Reply-To: <20020117183313.GA11320@dust.uchicago.edu> References: <20020117183313.GA11320@dust.uchicago.edu> Message-ID: <20020117183639.GQ14808@dust.uchicago.edu> On 2002.01.17, in <20020117183313.GA11320@dust.uchicago.edu>, "David Champion" wrote: > > I contributed a number of patches in this thread to the SourceForge "Thread"? There's a misleading word. How about "vein"? > My patches cared for color schemes and banners, primarily. > > If anyone wants to find them on SF and update them for current Mailman, > please feel free. At the time I wrote them, development was going too I should add that my test site still runs these patches; you can look at the results at https://listtest.uchicago.edu/ . I know the SSL cert is expired. :) -- -D. dgc@uchicago.edu NSIT University of Chicago From spertus@mills.edu Sun Jan 20 05:35:05 2002 From: spertus@mills.edu (Ellen Spertus) Date: Sat, 19 Jan 2002 21:35:05 -0800 Subject: [Mailman-Developers] extend.py examples Message-ID: <5.1.0.14.0.20020119213256.03e18990@ella.mills.edu> Does anyone have an extend.py file that I can see to get an idea of the functionality? Ellen From rodolfo@linux.org.uy Mon Jan 21 22:02:56 2002 From: rodolfo@linux.org.uy (Rodolfo Pilas) Date: 21 Jan 2002 19:02:56 -0300 Subject: [Mailman-Developers] Problem to admin login Message-ID: <1011650577.6396.0.camel@julieta> I have just installed MM from CVS, and I have a problem to login into admin interface. Bug in Mailman version 2.1a4+ Traceback: Traceback (most recent call last): File "/usr/lib/mailman/scripts/driver", line 86, in run_main main() File "/usr/lib/mailman/Mailman/Cgi/admin.py", line 116, in main elif cgidata.has_key('request_login') and parsedqs: UnboundLocalError: local variable 'parsedqs' referenced before assignment Python information: Variable Value sys.version 2.2 (#2, Dec 27 2001, 18:10:31) [GCC 2.95.3 20010315 (SuSE)] sys.executable /usr/bin/python sys.prefix /usr sys.exec_prefix /usr sys.path /usr sys.platform linux2 Pls, tell me what I can do. -- Rodolfo Pilas Quien los puso a estos tipos donde estan, rodolfo@linux.org.uy Quien los deja seguir en su lugar, http://rodolfo.pilas.net Quien los baja ahora de su altar, ICQ #17461636 Quien les paga para que hagan lo que haran http://xtralinux.org -=# Apocalipsis Now % Cuarteto de Nos #=- Public GnuPG key: http://www.keyserver.net 1024D/57153363 2001-06-02 key fingerprint = DAAE 3246 3F7D A420 B7A0 48A5 D120 C773 5715 3363 From rodolfo@linux.org.uy Mon Jan 21 22:08:29 2002 From: rodolfo@linux.org.uy (Rodolfo Pilas) Date: 21 Jan 2002 19:08:29 -0300 Subject: [Mailman-Developers] Pipermail reference problem Message-ID: <1011650910.6396.2.camel@julieta> In the listinfo page of a list there are a problem at the pipermail reference. You can see the problem at http://www.espaciolibre.net/cgi-bin/listinfo/chischis You can see that the archive of this list is referenced to http://www.espaciolibre.net/pipermail when the correct would be http://www.espaciolibre.net/pipermail/chischis At espaciolibre.net I have 2.1a3 but I have just seen this problem at the recent installed 2.1a4+ from CVS too. -- Rodolfo Pilas Quien los puso a estos tipos donde estan, rodolfo@linux.org.uy Quien los deja seguir en su lugar, http://rodolfo.pilas.net Quien los baja ahora de su altar, ICQ #17461636 Quien les paga para que hagan lo que haran http://xtralinux.org -=# Apocalipsis Now % Cuarteto de Nos #=- Public GnuPG key: http://www.keyserver.net 1024D/57153363 2001-06-02 key fingerprint = DAAE 3246 3F7D A420 B7A0 48A5 D120 C773 5715 3363 From barry@zope.com Tue Jan 22 06:06:58 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 22 Jan 2002 01:06:58 -0500 Subject: [Mailman-Developers] Problem to admin login References: <1011650577.6396.0.camel@julieta> Message-ID: <15437.386.657872.874128@anthem.wooz.org> >>>>> "RP" == Rodolfo Pilas writes: RP> I have just installed MM from CVS, and I have a problem to RP> login into admin interface. | Traceback: | Traceback (most recent call last): | le "/usr/lib/mailman/scripts/driver", line 86, in run_main main() | le "/usr/lib/mailman/Mailman/Cgi/admin.py", line 116, in main elif | cgidata.has_key('request_login') and parsedqs: | UnboundLocalError: local variable 'parsedqs' referenced before | assignment Fixed in CVS I believe. Thanks, -Barry From barry@zope.com Tue Jan 22 06:08:04 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 22 Jan 2002 01:08:04 -0500 Subject: [Mailman-Developers] Pipermail reference problem References: <1011650910.6396.2.camel@julieta> Message-ID: <15437.452.770309.384598@anthem.wooz.org> >>>>> "RP" == Rodolfo Pilas writes: RP> In the listinfo page of a list there are a problem at the RP> pipermail reference. RP> You can see the problem at RP> http://www.espaciolibre.net/cgi-bin/listinfo/chischis RP> You can see that the archive of this list is referenced to RP> http://www.espaciolibre.net/pipermail RP> when the correct would be RP> http://www.espaciolibre.net/pipermail/chischis RP> At espaciolibre.net I have 2.1a3 but I have just seen this RP> problem at the recent installed 2.1a4+ from CVS too. If you've been overriding PUBLIC_ARCHIVE_URL in mm_cfg.py you'll need to update this string. See the comments for this variable in Defaults.py. -Barry From barry@zope.com Tue Jan 22 06:25:03 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 22 Jan 2002 01:25:03 -0500 Subject: [Mailman-Developers] extend.py examples References: <5.1.0.14.0.20020119213256.03e18990@ella.mills.edu> Message-ID: <15437.1471.628539.218870@anthem.wooz.org> >>>>> "ES" == Ellen Spertus writes: ES> Does anyone have an extend.py file that I can see to get an ES> idea of the functionality? I used to, but I don't think I've got it online anymore. It all depends on what you want to do. Let's say for example, you want to disable the membership admin pages, perhaps because you're doing membership from an LDAP database instead of from Mailman's internal data structions. Here's how to simply rip out that page. -------------------- snip snip --------------------extend.py # Extension mechanism for a list. This removes the entire Membership GUI from # the list of components, the effect of which is to rip out the membership # admin pages. from Mailman.Logging.Syslog import syslog from Mailman.Gui import Membership # This is necessary in order to remove the `member' category. See # MailList.GetConfigCategories() for details. def makefunc(oldfunc): def new_GetConfigCategories(oldfunc=oldfunc): categories = oldfunc() categories.keysinorder.remove('members') return categories return new_GetConfigCategories def extend(mlist): newgui = [] for gui in mlist._gui: # Ignore the Membership component if isinstance(gui, Membership): continue newgui.append(gui) mlist._gui = newgui # Interpose our specialized method oldfunc = mlist.GetConfigCategories mlist.GetConfigCategories = makefunc(oldfunc) -------------------- snip snip -------------------- To write an effective extend.py, you do have to probably know a lot about the internals of the MailList class. Hope this helps, -Barry From rodolfo@linux.org.uy Tue Jan 22 18:58:03 2002 From: rodolfo@linux.org.uy (Rodolfo Pilas) Date: 22 Jan 2002 15:58:03 -0300 Subject: [Mailman-Developers] Problem to admin login In-Reply-To: <15437.386.657872.874128@anthem.wooz.org> References: <1011650577.6396.0.camel@julieta> <15437.386.657872.874128@anthem.wooz.org> Message-ID: <1011725885.2558.1.camel@julieta> El mar, 22-01-2002 a las 03:06, Barry A. Warsaw escribi=F3: > | Traceback: > | Traceback (most recent call last): > | le "/usr/lib/mailman/scripts/driver", line 86, in run_main main() > | le "/usr/lib/mailman/Mailman/Cgi/admin.py", line 116, in main elif > | cgidata.has_key('request_login') and parsedqs: > | UnboundLocalError: local variable 'parsedqs' referenced before > | assignment >=20 > Fixed in CVS I believe. Yes, it is fixed! =20 --=20 Rodolfo Pilas Quien los puso a estos tipos donde estan, rodolfo@linux.org.uy Quien los deja seguir en su lugar, http://rodolfo.pilas.net Quien los baja ahora de su altar, ICQ #17461636 Quien les paga para que hagan lo que haran http://xtralinux.org -=3D# Apocalipsis Now % Cuarteto de Nos #=3D- Public GnuPG key: http://www.keyserver.net 1024D/57153363 2001-06-02 key fingerprint =3D DAAE 3246 3F7D A420 B7A0 48A5 D120 C773 5715 3363 From fil@rezo.net Tue Jan 22 20:01:09 2002 From: fil@rezo.net (Fil) Date: Tue, 22 Jan 2002 21:01:09 +0100 Subject: [Mailman-Developers] "there were errors" when there are none Message-ID: <20020122210109.D29418@orwell.bok.net> Hi, there's an annoying thing with Mailman's responses to the requests messages. I usually set the maximum number of commands to be processed to 1. But that still gives me errors where there are none, but just too much text. I explain: when they confirm a message, people usually send the "confirm" cookie, with some text appended and their signature. As a result they get an error message, although their confirmation went fine. > There were errors processing your commands...../..... > (snip) > > ***** confirm fc2ef3874aa2c00e344ef20a86e2257d5bd4fd23 > Réussi (Succeeded) > >>>>> Taille maximale d'une ligne de commande (1) atteinte, reste i... I think they should just receive something more positive. -- Fil From che@debian.org Wed Jan 23 00:57:20 2002 From: che@debian.org (Ben Gertzfield) Date: Wed, 23 Jan 2002 09:57:20 +0900 Subject: [Mailman-Developers] Mailman CVS works on OS X! Message-ID: <87d701c2a7.fsf@nausicaa.interq.or.jp> Just wanted to report that Mailman out of CVS works beautifully with Python 2.1.1 from the Fink porting project for OS X. I was able to compile and install Mailman after creating a "mailman" user and group in NetInfo. The configure process had a few snags where it was confused about the local hostname (I was not on a network at the time) but it continued on, and built and installed no problem. OS X comes with Apache, so I simply changed /etc/httpd/httpd.conf for the Mailman entries, ran /usr/local/mailman/bin/mailmanctl start, and was off and running. Love that portable code! Ben -- Brought to you by the letters I and C and the number 1. "Frungy! Frungy! Frungy!!" Debian GNU/Linux maintainer of Gimp and Nethack -- http://www.debian.org/ From Dale Newfield Wed Jan 23 03:35:56 2002 From: Dale Newfield (Dale Newfield) Date: Tue, 22 Jan 2002 22:35:56 -0500 (EST) Subject: [Mailman-Developers] Mailman CVS works on OS X! In-Reply-To: <87d701c2a7.fsf@nausicaa.interq.or.jp> Message-ID: On Wed, 23 Jan 2002, Ben Gertzfield wrote: > Just wanted to report that Mailman out of CVS works beautifully with > Python 2.1.1 from the Fink porting project for OS X. > Love that portable code! I'd like to report a similar success, but OS X running postfix. Not only is Mailman well-written enough to have few porting problems between platforms, but also between MTAs. -Dale From jra@baylink.com Wed Jan 23 05:14:57 2002 From: jra@baylink.com (Jay R. Ashworth) Date: Wed, 23 Jan 2002 00:14:57 -0500 Subject: [Mailman-Developers] Mailman CVS works on OS X! In-Reply-To: ; from Dale Newfield on Tue, Jan 22, 2002 at 10:35:56PM -0500 References: <87d701c2a7.fsf@nausicaa.interq.or.jp> Message-ID: <20020123001457.00176@scfn.thpl.lib.fl.us> On Tue, Jan 22, 2002 at 10:35:56PM -0500, Dale Newfield wrote: > On Wed, 23 Jan 2002, Ben Gertzfield wrote: > > Just wanted to report that Mailman out of CVS works beautifully with > > Python 2.1.1 from the Fink porting project for OS X. > > > Love that portable code! > > I'd like to report a similar success, but OS X running postfix. Not only > is Mailman well-written enough to have few porting problems between > platforms, but also between MTAs. Mini-HOWTO! Mini-HOWTO!! Cheers, -- jra -- Jay R. Ashworth jra@baylink.com Member of the Technical Staff Baylink RFC 2100 The Suncoast Freenet The Things I Think Tampa Bay, Florida http://baylink.pitas.com +1 727 647 1274 "If you don't have a dream; how're you gonna have a dream come true?" -- Captain Sensible, The Damned (from South Pacific's "Happy Talk") From barry@zope.com Wed Jan 23 05:27:16 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 23 Jan 2002 00:27:16 -0500 Subject: [Mailman-Developers] Mailman CVS works on OS X! References: <87d701c2a7.fsf@nausicaa.interq.or.jp> Message-ID: <15438.18868.191278.368509@anthem.wooz.org> >>>>> "BG" == Ben Gertzfield writes: BG> Just wanted to report that Mailman out of CVS works BG> beautifully with Python 2.1.1 from the Fink porting project BG> for OS X. BG> I was able to compile and install Mailman after creating a BG> "mailman" user and group in NetInfo. The configure process BG> had a few snags where it was confused about the local hostname BG> (I was not on a network at the time) but it continued on, and BG> built and installed no problem. BG> OS X comes with Apache, so I simply changed BG> /etc/httpd/httpd.conf for the Mailman entries, ran BG> /usr/local/mailman/bin/mailmanctl start, and was off and BG> running. BG> Love that portable code! Wow, that is awesome news. BTW, I just last weekend installed OS X on my wife's G4, but I haven't had time to play with it much because it was 10.0 and a number of things didn't work quite right. I didn't want to sleep on the couch all week, so I reboot it to 9.1 and sent my check for the MacOSX upgrade kit. :) Soon as I get the 10.1 discs I do plan to spend some time twiddling with Python and Mailman on MacOSX. BTW, I'm almost entirely Windows-free now (with occasional wagon tumbles with VMware that always make me feel dirty and ashamed afterwards. :). The Mac is a quite cool OS to play with and OSX only makes it cooler. -Barry From barry@zope.com Wed Jan 23 05:38:45 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 23 Jan 2002 00:38:45 -0500 Subject: [Mailman-Developers] Mailman CVS works on OS X! References: <87d701c2a7.fsf@nausicaa.interq.or.jp> Message-ID: <15438.19557.451499.949862@anthem.wooz.org> >>>>> "DN" == Dale Newfield writes: >> Love that portable code! DN> I'd like to report a similar success, but OS X running DN> postfix. Not only is Mailman well-written enough to have few DN> porting problems between platforms, but also between MTAs. Cool, thanks! just-standing-on-the-shoulders-of-giants-ly y'rs, -Barry From barry@zope.com Wed Jan 23 05:40:12 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 23 Jan 2002 00:40:12 -0500 Subject: [Mailman-Developers] Mailman CVS works on OS X! References: <87d701c2a7.fsf@nausicaa.interq.or.jp> <20020123001457.00176@scfn.thpl.lib.fl.us> Message-ID: <15438.19644.491508.444253@anthem.wooz.org> >>>>> "JRA" == Jay R Ashworth writes: JRA> Mini-HOWTO! Mini-HOWTO!! README.MACOSX anyone? -Barry From jon@latchkey.com Wed Jan 23 07:10:24 2002 From: jon@latchkey.com (Jon Scott Stevens) Date: Tue, 22 Jan 2002 23:10:24 -0800 Subject: [Mailman-Developers] Mailman CVS works on OS X! In-Reply-To: Message-ID: on 1/22/02 7:35 PM, "Dale Newfield" wrote: > On Wed, 23 Jan 2002, Ben Gertzfield wrote: >> Just wanted to report that Mailman out of CVS works beautifully with >> Python 2.1.1 from the Fink porting project for OS X. > >> Love that portable code! > > I'd like to report a similar success, but OS X running postfix. Not only > is Mailman well-written enough to have few porting problems between > platforms, but also between MTAs. > > -Dale I have been running postfix on OSX for about 1.5-2 years now. Absolutely beautiful and zero issues. -jon From che@debian.org Wed Jan 23 07:39:37 2002 From: che@debian.org (Ben Gertzfield) Date: Wed, 23 Jan 2002 16:39:37 +0900 Subject: [Mailman-Developers] Mailman CVS works on OS X! In-Reply-To: <15438.18868.191278.368509@anthem.wooz.org> (barry@zope.com's message of "Wed, 23 Jan 2002 00:27:16 -0500") References: <87d701c2a7.fsf@nausicaa.interq.or.jp> <15438.18868.191278.368509@anthem.wooz.org> Message-ID: <87vgdta53a.fsf@nausicaa.interq.or.jp> >>>>> "BAW" == Barry A Warsaw writes: >>>>> "BG" == Ben Gertzfield writes: BAW> Wow, that is awesome news. BTW, I just last weekend BAW> installed OS X on my wife's G4, but I haven't had time to BAW> play with it much because it was 10.0 and a number of things BAW> didn't work quite right. I didn't want to sleep on the couch BAW> all week, so I reboot it to 9.1 and sent my check for the BAW> MacOSX upgrade kit. :) Soon as I get the 10.1 discs I do plan BAW> to spend some time twiddling with Python and Mailman on BAW> MacOSX. Good luck! Make sure to install Fink and apt-get python, etc. Very good stuff. BAW> BTW, I'm almost entirely Windows-free now (with occasional BAW> wagon tumbles with VMware that always make me feel dirty and BAW> ashamed afterwards. :). The Mac is a quite cool OS to play BAW> with and OSX only makes it cooler. Congratulations! I use Windows now and again for games, but haven't used it for anything else in years now.. feels good. Ben -- Brought to you by the letters E and K and the number 3. "If you turn both processors off, you will have to reboot." Debian GNU/Linux maintainer of Gimp and Nethack -- http://www.debian.org/ From indipia@jinbo.net Wed Jan 23 12:15:38 2002 From: indipia@jinbo.net (Á¤¹®Á¤) Date: Wed, 23, Jan 2002 12:15:38 -0000 Subject: [Mailman-Developers] import MySQLdb in the mailman........ Message-ID: <200201231215.g0NCFcP07232@webbs.jinbo.net> Hi, .. I'm a new member in the mailman-developers mailing list... i've one question, although I can not english well.. ^^; hum.. i have tried to update(?) the mailman... One day, i tired to use mailman with mysql dbtabase... but i couldn't import MySQLdb.. ---------error --------- Traceback (innermost last): File "/home/mailman/scripts/driver", line 90, in run_main pkg = __import__('Mailman.Cgi', globals(), locals(), [scriptname]) File "../Mailman/Cgi/admin.py", line 20, in ? import MySQLdb ImportError: No module named MySQLdb -------------------------------- what i cann't understand is the command("import MySQLdb") is good in the python command line... -------no error ------------------------- >>import MySQLdb >> --------------------------------- Please, give me a solution.....T.T From barry@zope.com Wed Jan 23 13:45:05 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 23 Jan 2002 08:45:05 -0500 Subject: [Mailman-Developers] import MySQLdb in the mailman........ References: <200201231215.g0NCFcP07232@webbs.jinbo.net> Message-ID: <15438.48737.921497.817794@anthem.wooz.org> >>>>> "indipia" == writes: indipia> I'm a new member in the mailman-developers mailing indipia> list... indipia> i've one question, although I can not english well.. ^^; indipia> hum.. indipia> i have tried to update(?) the mailman... indipia> One day, i tired to use mailman with mysql indipia> dbtabase... but i couldn't import MySQLdb.. I'm not sure why you think this should work. MySQLdb isn't a module that's distributed by default with Python (or for that matter, with Mailman). And even if it were, simply adding an import statement wouldn't necessarily make Mailman work with it. -Barry From stuartd@alerton.com Wed Jan 23 21:15:13 2002 From: stuartd@alerton.com (Stuart Donaldson) Date: Wed, 23 Jan 2002 13:15:13 -0800 Subject: [Mailman-Developers] pipermail - threading with subjects Message-ID: I have found a bug and possible fix for threading by subject not working as a fallback if In-Reply-To and References headers are missing. What's the status, and who is the maintainer of pipermail? ie: To whom should I address further inquiries, or should they go directly to the list? I posted a problem on the mailman-users list I had with threading not working with Outlook. It turns out that Outlook/Exchange are not passing through the In-Reply-To: header. On inspecting code in pipermail.py, it appears that if there is no In-Reply-To: header, that it should fall-back to threading to the earliest matching subject. However the code in pipermail to implement this is broken. In particular, there appear to be a few problems: 1) HyperDatabase.HyperDatabase class getOldestArticle() method looks like it expects self.subjectIndex.set_location() to return a value which it does not. I think it should rather be using the return value of self.subjectIndex.next(). 2) subjectIndex.DumbBTree class implementation of set_location(subject) expects an exact match on the subject, however the key to that data is actually a tuple (subject, date, msgid) 3) The parsing of the key in getOldestArticle() looks like it is expecting a single string for the key, rather than a tuple, so once the previous two problems have been addressed it still fails to parse the string. I have fixed this problem for myself, but the state of the database classes looks like it might be in flux. There is also the BSDDBdatabase class which does not seem to be used, and may be either obsolete, or something coming. It also looks to have the same problem. Thanks... Stuart Donaldson Alerton Technologies Inc. From jwblist@olympus.net Wed Jan 23 21:20:16 2002 From: jwblist@olympus.net (John W Baxter) Date: Wed, 23 Jan 2002 13:20:16 -0800 Subject: [Mailman-Developers] Mailman CVS works on OS X! In-Reply-To: <15438.18868.191278.368509@anthem.wooz.org> References: <87d701c2a7.fsf@nausicaa.interq.or.jp> <15438.18868.191278.368509@anthem.wooz.org> Message-ID: At 0:27 -0500 1/23/2002, Barry A. Warsaw wrote: >Wow, that is awesome news. BTW, I just last weekend installed OS X on >my wife's G4, but I haven't had time to play with it much because it >was 10.0 and a number of things didn't work quite right. I didn't >want to sleep on the couch all week, so I reboot it to 9.1 and sent my >check for the MacOSX upgrade kit. :) Soon as I get the 10.1 discs I do >plan to spend some time twiddling with Python and Mailman on MacOSX. > >BTW, I'm almost entirely Windows-free now (with occasional wagon >tumbles with VMware that always make me feel dirty and ashamed >afterwards. :). The Mac is a quite cool OS to play with and OSX only >makes it cooler. [Off-list deliberately...OK to quote back onto the list if for some odd reason you want to.] There is a newer /Developer tree for Mac OS X than you will get with the 10.1 upgrade package. It's a free download (200+ meg, but I suspect you have bandwidth available*). Software update will offer you Mac OS X 10.1.2...you should also move to that after installing 10.1. That's probably the version combination you should work with (for now). You were correct to ignore the Mac OS X 10.0 installation and wait. (I've been using Mac OS X since March 24, but the machine wasn't running 10 most of the time until about 1.0.4, and is better now (10.1.2). I plan to buy a fresh retail copy of Mac OS X 10.2 when that comes out...I'll be tired of the prospect of starting at 10.0 on a fresh disk should things go wrong, by then. --John (who runs Virtual PC to run Win2000 on the Mac to support the management client for our firewall...VPC is quite impressive, should you need it sometime) * I put two Macs (56K dialup) and one Linux-running laptop (56K frame) to work on the download task one Sunday afternoon...Apple provides the download in 10 meg segments for fools like me. -- John Baxter jwblist@olympus.net Port Ludlow, WA, USA From darrell@grumblesmurf.net Wed Jan 23 23:22:43 2002 From: darrell@grumblesmurf.net (Darrell Fuhriman) Date: 23 Jan 2002 15:22:43 -0800 Subject: [Mailman-Developers] decoupling the web interface from the exploder. In-Reply-To: barry@zope.com's message of "Wed, 23 Jan 2002 08:45:05 -0500" Message-ID: All right, I haven't done any Mailman hacking for a while, but I wanted to work on adding this feature. Let me explain why. Right now, it's essentially impossible to have more than one machine doing Mailman processing. (Yes, there are ways to hack around it, but they get ugly quickly.) It's also impossible to have the web interface on any machine other than the machine where list explosion happens. This is suboptimal, because you have the potential of having more than one web server, or more than one mail box. Let me give an example, from the real world, aka my setup. |---------| /---| MR/web |---\ | |----------| / |---------| \ | |----------| | internet |< >--|-----|int. mail | |----------| \ |---------| / | |----------| \---| MR/web |---/ | |---------| ^ Firewall MR == Mail Relay. All mail/web traffic is load balanced. Now, I can't simply relay all traffic for mailing lists inside the firewall, because then I would no longer have access to the web interface. Therefore I have to special case all my lists, to have them exploded on the MR machine, then relayed to the internal mail machine for delivery. That part works fine for one machine, it doesn't work for 1+N. Instead you have to do is have each of the N MR machines forward all mailing-list traffic to one machine, and put redirects in your web server to again point to that one machine. That's kinda ugly, and defeats the purpose of having multiple identical relays. What I'd really like is a way to have the web interface be a client which could get/set any mailing list configuration through some sort of backend. Then it would be trivial to just relay all lists into the internal machine(s) for delivery. So, if I understand it correctly there are three things that need to be abstracted, and backends written (ideally, for me, to use a database): 1) membership lists 2) list config 3) templates 4) archives Now (1) seems to have been done already with MemberAdaptor, and (2) shouldn't be that hard to do either, but will require changing a number of the assumptions made in MailList.py and probably elsewhere. 3) is annoying, but shouldn't be too hard to handle. Again, there just needs to be a defined interface. The most challenging one is (4), which is easy enough to do for the case of one delivery machine, but much harder for the 1+N case. It also needs to be abstracted. So, I'll probably be able to devote time over the next couple months to writing this, but I'm interested in how people feel such a beast should look, especially (4). Thoughts? Darrell From bob@nleaudio.com Thu Jan 24 03:11:52 2002 From: bob@nleaudio.com (Bob Puff@NLE) Date: Wed, 23 Jan 2002 22:11:52 -0500 Subject: [Mailman-Developers] pipermail - threading with subjects References: Message-ID: <3C4F7B78.672D5B69@nleaudio.com> I submitted to Barry a few mods to pipermail's archives, one being the order of messages shown in Thread mode. It really bothered me that messages without the message ID got put in a totally different area of the thread list. My solution was to alphabetize the thread list, which is listed in date order. So at least all the threads of a given subject are together, as long as the subject line remains constant. Bob From stuartd@alerton.com Thu Jan 24 03:12:35 2002 From: stuartd@alerton.com (Stuart Donaldson) Date: Wed, 23 Jan 2002 19:12:35 -0800 Subject: [Mailman-Developers] pipermail - threading with subjects Message-ID: The solution my mods implement, basically fixes pipermail to work as it looks like was intended. If no message ID based threading is available when archiveing (ie: no In-Reply-To:/References: headers), then thread the message after the oldest message with the same subject. This has the benefit of grouping messages with the same subject together, but allows the entire thread list to continue to be sorted by date. You also continue to get indentation under the oldest message in the thread. I prefer the overall date sorting of the threadlist because you can go to the end and see recent threads. Unfortunately, we get very little message-Id based threading on our internal mailing list, because of our Exchange server stripping out the information. -Stuart- -----Original Message----- From: Bob Puff@NLE [mailto:bob@nleaudio.com] Sent: Wednesday, January 23, 2002 7:12 PM To: Stuart Donaldson Cc: 'mailman-developers@python.org' Subject: Re: [Mailman-Developers] pipermail - threading with subjects I submitted to Barry a few mods to pipermail's archives, one being the order of messages shown in Thread mode. It really bothered me that messages without the message ID got put in a totally different area of the thread list. My solution was to alphabetize the thread list, which is listed in date order. So at least all the threads of a given subject are together, as long as the subject line remains constant. Bob From jwblist@olympus.net Thu Jan 24 04:25:11 2002 From: jwblist@olympus.net (John W Baxter) Date: Wed, 23 Jan 2002 20:25:11 -0800 Subject: [Mailman-Developers] Mailman CVS works on OS X! In-Reply-To: References: <87d701c2a7.fsf@nausicaa.interq.or.jp> <15438.18868.191278.368509@anthem.wooz.org> Message-ID: At 13:20 -0800 1/23/2002, John W Baxter wrote: >[Off-list deliberately...OK to quote back onto the list if for some odd >reason you want to.] Aargh...fortunately, there was no reason aside from off-topicness for me to try to send off-list. --John -- John Baxter jwblist@olympus.net Port Ludlow, WA, USA From jason-list-mailman-developers@mastaler.com Thu Jan 24 17:48:43 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Thu, 24 Jan 2002 10:48:43 -0700 Subject: [Mailman-Developers] USE_ENVELOPE_SENDER is not flexible enough Message-ID: For members-only lists like this one, USE_ENVELOPE_SENDER currently allows the admin to determine membership by checking either the From: header, OR the envelope sender address. I think a more flexible alternative would be to first check the envelope sender, and then the From: header for a match. In fact, this would make sense as the default setting IMHO. Why am I interested in this? Because I like to post to public mailing lists and newsgroups with a 'dated' address that expires after a set period of time to thwart SPAM harvesters. Obviously I can't use these one-time addresses on closed lists, but I could get around this by posting with an envelope sender address that matches my subscription address, and a 'dated' address in my From: header. The closed list would be happy, and I would be happy. -- (TMDA (http://tmda.sourceforge.net/) (UCE intrusion prevention in Python) From marc@perkel.com Fri Jan 25 02:23:10 2002 From: marc@perkel.com (Marc Perkel) Date: Thu, 24 Jan 2002 18:23:10 -0800 Subject: [Mailman-Developers] Another Easy Suggestion Message-ID: <3C50C18E.D454192E@perkel.com> With the setting SMTP_MAX_RCPTS - I'd like to be able to set a default value - and be able to set this individually per list. That way a list with 20,000 names can have different performance characteristics than a list with 500 names. From les@2pi.org Fri Jan 25 06:00:10 2002 From: les@2pi.org (Les Niles) Date: Thu, 24 Jan 2002 22:00:10 -0800 Subject: [Mailman-Developers] Can't approve subscriptions in 2.1a4 Message-ID: <200201250600.WAA08022@mutiny.2pi.org> (Apologies if this has already been reported. I don't remember it.) Approval of pending subscriptions via the admindb web page is ignored in 2.1a4. Here's a patch that fixes this. ------------------------------------------------------------- *** Mailman/Cgi/admindb.py.~1~ Sun Jan 6 23:04:02 2002 --- Mailman/Cgi/admindb.py Thu Jan 24 21:56:59 2002 *************** *** 630,635 **** --- 630,636 ---- except ValueError: continue if v not in (mm_cfg.DEFER, mm_cfg.APPROVE, + mm_cfg.SUBSCRIBE, mm_cfg.UNSUBSCRIBE, mm_cfg.REJECT, mm_cfg.DISCARD): continue # Get the action comment and reasons if present. From LEES107@aol.com Thu Jan 10 02:59:37 2002 From: LEES107@aol.com (LEES107@aol.com) Date: Wed, 9 Jan 2002 21:59:37 EST Subject: [Mailman-Developers] (no subject) Message-ID: <11.20b0565e.296e5d99@aol.com> I AM INTERESTED IN GETTING THI S PROGRAM. WILL YOU SEN ME THE NECESSARY INFORMATION I WILL NEED FOR THE DOWNLOAD. I AM USING WINDOWS XP. I TRIED LAST FRIDAY MORNING TO GET IT DOWNLOADED BUT HAD SOME SUCCESS , BUT VERY LITTLE. I DO HAVE A CONFIRMATION NUMBER IT IS 520974. THANK YOU LEE From brian@pro-phile.com Wed Jan 16 06:03:48 2002 From: brian@pro-phile.com (Pro-phile Technology Solutions) Date: Tue, 15 Jan 2002 22:03:48 -0800 Subject: [Mailman-Developers] Strange problem after a tear of service Message-ID: <003001c19e53$90f36930$0200a8c0@ddr> I run a hosting company that subcontracts the space on virtual servers from an outside company. These servers are UNIX boxes. I've had a mail list set up that revolves about 100+ messages a day through it's doors to over 350 members. I recently upgraded my server space (about 2:30 today) and the list stopped working at about 2:30 today. Hmmmm. They (the techs) said that the only thing they did was allocate more space on the servers I was on for me to use and they touched nothing else. I can tail my e-mail to the SMTP server and it states that it has been sent, but I get nothing posted to the mailman list. The directories are still there, and I can get into the html pages (http://server.server.com/admin/list) but I receive no mail. I'm a Windows guy (sorry) so I don't totally understand UNIX environments. Ids there something I should check or try off the top of your heads? I have several clients on the list and I'm SURE this doesn't look good to them. Thanks for the help! _________________________ Brian From doko@cs.tu-berlin.de Fri Jan 18 20:02:28 2002 From: doko@cs.tu-berlin.de (Matthias Klose) Date: Fri, 18 Jan 2002 21:02:28 +0100 Subject: [Mailman-Developers] Sending reminders monthly, quarterly and yearly Message-ID: <15432.32596.316982.528922@gargle.gargle.HOWL> [submitted as patch #502668 on sf.net] On announcment lists, there are often only a few mailings a year, so it seems to be inadequate to send monthly reminders or no reminders to the list. On sf.net #502668 you'll find two variants of a patch, which - extends the meaning of the send_reminders option (adding quaterly and yearly reminders) - adds a new option send_reminders_frequency For both cases, there is a new option `--cron' for `mailpasswds' to recognize, that the reminders are sent by the regular cron job (and not manually by an admin). Matthias From jason-dated-1012585552.f4c3fa@mastaler.com Thu Jan 24 17:45:50 2002 From: jason-dated-1012585552.f4c3fa@mastaler.com (Jason R. Mastaler) Date: Thu, 24 Jan 2002 10:45:50 -0700 Subject: [Mailman-Developers] USE_ENVELOPE_SENDER is not flexible enough Message-ID: For members-only lists like this one, USE_ENVELOPE_SENDER currently allows the admin to determine membership by checking either the From: header, OR the envelope sender address. I think a more flexible alternative would be to first check the envelope sender, and then the From: header for a match. In fact, this would make sense as the default setting IMHO. Why am I interested in this? Because I like to post to public mailing lists and newsgroups with a 'dated' address that expires after a set period of time to thwart SPAM harvesters. Obviously I can't use these one-time addresses on closed lists, but I could get around this by posting with an envelope sender address that matches my subscription address, and a 'dated' address in my From: header. The closed list would be happy, and I would be happy. -- (TMDA (http://tmda.sourceforge.net/) (UCE intrusion prevention in Python) From wilane@yahoo.com Fri Jan 25 23:19:30 2002 From: wilane@yahoo.com (Ousmane Wilane) Date: Fri, 25 Jan 2002 23:19:30 +0000 Subject: [Mailman-Developers] Mailman deliver twice Message-ID: <15441.59394.15784.386301@localhost.localdomain> Hi, The headers below are from a post I received twice (http://mail.python.org/pipermail/mailman-developers/2002-January/010501.html)... I remember having noticed this sometime back but thought that I needed some sleep and didn't investigated it... Now I thing that either Exim on mail.python.org or Mailman need some sleep, or that I need some vacations :) --- Headers excerpt from Post --- Received: from pop.vip.sc5.yahoo.com [216.136.173.10] by localhost with POP3 (fetchmail-5.9.0) for wilane@localhost (single-drop); Fri, 25 Jan 2002 22:26:12 +0000 (GMT) Received: from mail.python.org (63.102.49.29) by mta308.mail.yahoo.com with SMTP; 25 Jan 2002 14:20:06 -0800 (PST) Received: from localhost.localdomain ([127.0.0.1] helo=mail.python.org) by mail.python.org with esmtp (Exim 3.21 #1) id 16UEgh-0006Ax-00; Fri, 25 Jan 2002 17:19:11 -0500 Received: from [66.70.189.168] (helo=pro-phile.pro-phile.com ident=root) by mail.python.org with esmtp (Exim 3.21 #1) id 16QjAr-0003Si-00 for mailman-developers@python.org; Wed, 16 Jan 2002 01:03:49 -0500 Received: from ddr (adsl-64-163-108-194.dsl.chic01.pacbell.net [64.163.108.194]\) by pro-phile.pro-phile.com (8.11.1/8.11.1) with SMTP id g0G63lY12482 for ; Tue, 15 Jan 2002 22:03:48 -0800 Message-ID: <003001c19e53$90f36930$0200a8c0@ddr> --- Headers End --- Cheers -- Ousmane Wilane From bob@nleaudio.com Sat Jan 26 03:42:06 2002 From: bob@nleaudio.com (Bob Puff@NLE) Date: Fri, 25 Jan 2002 22:42:06 -0500 Subject: [Mailman-Developers] Postfix tuning Message-ID: <3C52258E.9BE27C64@nleaudio.com> Last night, a couple of my bigger lists had really big digests go out... It flooded my ==1mb connection for a good 20 minutes solid. During this, bounce replies had a hard time coming back. Actually, most everything had a hard time, except the delivery. I do see a lot of timeout messages in the delivery, so I'm wondering if I'm just initiating too many smtp sessions for my own good. Ideally, I'd like to throttle back the bandwidth of the -sending- of mailman messages to something like 512k or something, so my connection is still worth something while messages are being sent. I've seen messages related to using bandwidth control programs, but I really want to just slow down (a little) the deliveries, while keeping the server always open for incoming messages. Any pointers on Postfix tuning for such? Bob From donal.hunt2@mail.dcu.ie Fri Jan 25 17:14:27 2002 From: donal.hunt2@mail.dcu.ie (Donal Hunt) Date: Fri, 25 Jan 2002 17:14:27 +0000 Subject: [Mailman-Developers] MemberAdaptor.py [missing line?] Message-ID: <3C519273.348B08A6@mail.dcu.ie> MemberAdaptor.py [lines 119-124] def getMemberPassword(self, member): """Return the member's password. If the member KEY/LCE is not a member of the list, raise NotAMemberError. """ should there be a "raise NotImplemented" after the documentation stuff?? ie - is that the general rule to raise with any method in MemberAdaptor that we don't want implemented... Currently working on the LDAP authenticator and I don't want people to change their LDAP password with Mailman. :) Regards Donal --DCU-- From barry@zope.com Sat Jan 26 23:57:08 2002 From: barry@zope.com (Barry A. Warsaw) Date: Sat, 26 Jan 2002 18:57:08 -0500 Subject: [Mailman-Developers] MemberAdaptor.py [missing line?] References: <3C519273.348B08A6@mail.dcu.ie> Message-ID: <15443.16980.41407.131177@anthem.wooz.org> >>>>> "DH" == Donal Hunt writes: DH> MemberAdaptor.py [lines 119-124] | def getMemberPassword(self, member): | """Return the member's password. | If the member KEY/LCE is not a member of the list, raise | NotAMemberError. | """ DH> should there be a "raise NotImplemented" after the DH> documentation stuff?? ie - is that the general rule to raise DH> with any method in MemberAdaptor that we don't want DH> implemented... Not quite, although you're right that there should be a "raise NotImplemented" there. The exception is raised in the method because MemberAdaptor.py plays the role of an abstract interface, defining method that /must/ be overridden in derived classes. In practice, it probably makes little difference, but I'll add it back for cleanliness. DH> Currently working on the LDAP authenticator and I don't want DH> people to change their LDAP password with Mailman. :) Then you should either no-op the setMemberPassword() method, or raise a RuntimeError. I sort of doubt that Mailman is prepared to capture exceptions in the MemberAdaptor methods, so a no-op might be the most expedient thing to do. -Barry From donal.hunt2@mail.dcu.ie Sun Jan 27 01:55:08 2002 From: donal.hunt2@mail.dcu.ie (donal.hunt2@mail.dcu.ie) Date: Sun, 27 Jan 2002 01:55:08 +0000 Subject: [Mailman-Developers] MemberAdaptor.py [missing line?] In-Reply-To: <15443.16980.41407.131177@anthem.wooz.org> Message-ID: <3C4DC7CA00001A7D@hawk.dcu.ie> >-- Original Message -- >Date: Sat, 26 Jan 2002 18:57:08 -0500 >To: Donal Hunt >Cc: "mailman-developers@python.org" >Subject: Re: [Mailman-Developers] MemberAdaptor.py [missing line?] >From: barry@zope.com (Barry A. Warsaw) > > DH> should there be a "raise NotImplemented" after the > DH> documentation stuff?? ie - is that the general rule to raise > DH> with any method in MemberAdaptor that we don't want > DH> implemented... > >Not quite, although you're right that there should be a "raise >NotImplemented" there. The exception is raised in the method because >MemberAdaptor.py plays the role of an abstract interface, defining >method that /must/ be overridden in derived classes. In practice, it >probably makes little difference, but I'll add it back for cleanliness. Yeh - it was more a cleanliness thing more than anything... > DH> Currently working on the LDAP authenticator and I don't want > DH> people to change their LDAP password with Mailman. :) > >Then you should either no-op the setMemberPassword() method, or raise >a RuntimeError. I sort of doubt that Mailman is prepared to capture >exceptions in the MemberAdaptor methods, so a no-op might be the most >expedient thing to do. That's what I wasn't sure about... There's no point raising exceptions in MemberAdaptor methods if they aren't caught at a later stage... Depending on what the LDAP authenticator code throws up, i might add some= code to the Mailman GUI side, so that the users get a nice message when an admin decides that password changes aren't permitted via Mailman... I haven't checked the code to see what happens presently... On a separate note (and more on python train of thought...) - is there a way of working out what types are being returned by Python methods?? For= example in the OldStyleMemberships class, you return different structures= for some methods... eg getRegularMemberKeys() returns a marshal (I think)= ... If the expected return type was specified in the MemberAdaptor.py file fo= r the method, it would be mighty handy... :) Later Donal From mailman-list@mackinlay.demon.co.uk Sun Jan 27 19:13:57 2002 From: mailman-list@mackinlay.demon.co.uk (Colin Mackinlay) Date: Sun, 27 Jan 2002 19:13:57 +0000 (GMT) Subject: [Mailman-Developers] Importing email 0.96 problem Message-ID: I've had some problems with getting 2.1a4 going on my Mandrake 8.1 installation and have gone back to a "clean" system. The documented way to install email is: python setup.py install This doesn't work for me as 2.1.1 is installed from an RPM and throws errors in relation to configure. What seemed ok was to copy the email folder into the python2.1 site-packages folder. Running python interactively enables me to import email and check the version. I can also import email.Utils and others too. I've created the site wide mailman list and also a test list from the command line. When I go to the /mailman/admin page I get a Bug error message Traceback (most recent call last) File "/usr/local/mailman/scripts/driver", line 80 in run_main pkg = __import__('Mailman.Cgi', globals(), locals(), [scriptname]) File "../mailman/Cgi/admin.py", line 31, in ? from email.Utils import unquote, parseaddr ImportError: No module named Utils Is there some othe part of python 2.1 that I need to hack? Colin -- Colin Mackinlay From barry@zope.com Mon Jan 28 02:16:30 2002 From: barry@zope.com (Barry A. Warsaw) Date: Sun, 27 Jan 2002 21:16:30 -0500 Subject: [Mailman-Developers] MemberAdaptor.py [missing line?] References: <15443.16980.41407.131177@anthem.wooz.org> <3C4DC7CA00001A7D@hawk.dcu.ie> Message-ID: <15444.46206.885216.723164@anthem.wooz.org> >Then you should either no-op the setMemberPassword() method, or raise >a RuntimeError. I sort of doubt that Mailman is prepared to capture >exceptions in the MemberAdaptor methods, so a no-op might be the most >expedient thing to do. DH> That's what I wasn't sure about... There's no point raising DH> exceptions in MemberAdaptor methods if they aren't caught at a DH> later stage... Agreed. We definitely don't want exceptions percolating up to the top. DH> Depending on what the LDAP authenticator code throws up, i DH> might add some code to the Mailman GUI side, so that the users DH> get a nice message when an admin decides that password changes DH> aren't permitted via Mailman... Cool. DH> On a separate note (and more on python train of thought...) - DH> is there a way of working out what types are being returned by DH> Python methods?? For example in the OldStyleMemberships DH> class, you return different structures for some methods... eg DH> getRegularMemberKeys() returns a marshal (I think) Not in plain Python, there really isn't. However, Zope defines and uses something called an Interface type which is likely how MemberAdaptor and friends should refer to. Interfaces can define the signatures of methods, although implementations aren't forced to adhere to them. Python ain't C++. :) I don't think I'll use Interfaces until I can require Python 2.2 or better. I believe (but am not 100% sure) that Zope's Interfaces are implemented as ExtensionClass types, and that's too big a hurdle for Mailman. -Barry From barry@zope.com Mon Jan 28 05:31:53 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 28 Jan 2002 00:31:53 -0500 Subject: [Mailman-Developers] Importing email 0.96 problem References: Message-ID: <15444.57929.7084.352993@anthem.wooz.org> >>>>> "CM" == Colin Mackinlay writes: CM> The documented way to install email is: python setup.py CM> install CM> This doesn't work for me as 2.1.1 is installed from an RPM and CM> throws errors in relation to configure. I'd like to see the exact errors that occur. This may indicate a bug in Python's distutils system. Or it could be that you need the devel rpms for Python (although that would suck, since email is a pure Python package -- i.e. no C extensions). Also, you may want to try upgrading to Python 2.1.2 to see if that fixes the problem. In any case, I'd like to know more about this failure. CM> What seemed ok was to copy the email folder into the python2.1 CM> site-packages folder. Running python interactively enables me CM> to import email and check the version. I can also import CM> email.Utils and others too. By default, running "python" w/o the -S option executes site.py, which adds to sys.path all the necessary directories to find site packages. However, to decrease startup costs, all Mailman cgi and mail filter programs effectively run with the -S option, which inhibits importing site.py, and thus does not add any of the site-packages folders to sys.path. To make up for this, Defaults.py always adds sys.prefix + 'lib/python' + sys.version[:3] + 'site-packages' to sys.path. Make sure this is the path that contains the email directory. CM> I've created the site wide mailman list and also a test list CM> from the command line. When I go to the /mailman/admin page I CM> get a Bug error message CM> Traceback (most recent call last) >> le "/usr/local/mailman/scripts/driver", line 80 in run_main pkg = >> __import__('Mailman.Cgi', globals(), locals(), [scriptname]) le >> "../mailman/Cgi/admin.py", line 31, in ? from email.Utils import >> unquote, parseaddr CM> ImportError: No module named Utils CM> Is there some othe part of python 2.1 that I need to hack? Shouldn't be, but you can try this: In mm_cfg.py add the lines: import sys print >> sys.stderr, sys.path Then run one of the command line scripts, e.g. bin/list_lists. Do you get the same error? What does the output say? Is the directory into which you copied email's directory? -Barry From barry@zope.com Mon Jan 28 05:37:18 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 28 Jan 2002 00:37:18 -0500 Subject: [Mailman-Developers] Mailman deliver twice References: <15441.59394.15784.386301@localhost.localdomain> Message-ID: <15444.58254.728652.466003@anthem.wooz.org> >>>>> "OW" == Ousmane Wilane writes: OW> Hi, The headers below are from a post I received twice OW> (http://mail.python.org/pipermail/mailman-developers/2002-January/010501.html)... OW> I remember having noticed this sometime back but thought that OW> I needed some sleep and didn't investigated it... Now I thing OW> that either Exim on mail.python.org or Mailman need some OW> sleep, or that I need some vacations :) Nope. I check the archives and the duplicates have different Message-Id:'s so they were apparently emailed to mailman-developers multiple times. not-my-problem-this-time-ly y'rs, -Barry From jason-list-mailman-developers@mastaler.com Mon Jan 28 06:09:56 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Sun, 27 Jan 2002 23:09:56 -0700 Subject: [Mailman-Developers] Importing email 0.96 problem In-Reply-To: <15444.57929.7084.352993@anthem.wooz.org> (barry@zope.com's message of "Mon, 28 Jan 2002 00:31:53 -0500") References: <15444.57929.7084.352993@anthem.wooz.org> Message-ID: barry@zope.com (Barry A. Warsaw) writes: > Also, you may want to try upgrading to Python 2.1.2 to see if that > fixes the problem. Why not upgrade to Python 2.2 instead? Since 2.2 comes with the email module, he won't have to worry about installing it separately which seems to be the crux of his problem. > to decrease startup costs, all Mailman cgi and mail filter programs > effectively run with the -S option, which inhibits importing > site.py, and thus does not add any of the site-packages folders to > sys.path. I'm just curious, how much startup cost does this save? I hadn't thought of doing this before. -- (TMDA (http://tmda.sourceforge.net/) (UCE intrusion prevention in Python) From Nigel.Metheringham@VData.co.uk Mon Jan 28 10:36:17 2002 From: Nigel.Metheringham@VData.co.uk (Nigel Metheringham) Date: 28 Jan 2002 10:36:17 +0000 Subject: [Mailman-Developers] (no subject) In-Reply-To: <11.20b0565e.296e5d99@aol.com> References: <11.20b0565e.296e5d99@aol.com> Message-ID: <1012214177.1567.29.camel@gaspode.localnet> On Thu, 2002-01-10 at 02:59, LEES107@aol.com SHOUTED ALL-IN-CAPITALS:- > I AM INTERESTED IN GETTING THI S PROGRAM. WILL YOU SEN ME THE NECESSARY > INFORMATION I WILL NEED FOR THE DOWNLOAD. I AM USING WINDOWS XP. > I TRIED LAST FRIDAY MORNING TO GET IT DOWNLOADED BUT HAD SOME SUCCESS , BUT > VERY LITTLE. You have a number of problems here.... 1. The requirements to download and run Mailman are detailed in http://www.list.org/download.html Windows XP is not capable of running Mailman without substantial work, although a machine capable of running XP should be convertable into a reasonable Unix box by installing either Linux, FreeBSD, NetBSD or OpenBSD 2. You will need another hosting site to run this stuff - I hate to think how much work it would be to make this run of an AOL based dialup. > I DO HAVE A CONFIRMATION NUMBER IT IS 520974. 3. Thats presumably the list subscription confirmation number The message you got the confirmation request in tells you what you need to do with it... if you haven't gathered that then just possibly you shouldn't be thinking of running internet based mailing lists yourself. > THANK YOU Any chance you can examine your keyboard and find the largish key on the left hand side marked caps lock. Press it once - a light either within the key or normally placed towards the top right of your keyboard will then go out. This makes your text *much* easier to read and you not appear to be shouting all the time.... Nigel. From darrell@grumblesmurf.net Mon Jan 28 18:50:08 2002 From: darrell@grumblesmurf.net (Darrell Fuhriman) Date: 28 Jan 2002 10:50:08 -0800 Subject: [Mailman-Developers] load balancing with mailman. In-Reply-To: Marc MERLIN's message of "Sat, 26 Jan 2002 21:38:31 -0800" References: <20020126213831.G13692@merlins.org> Message-ID: Marc MERLIN writes: > I have a mail server which automatically rewrites mailman lists > envelope tos to go to the mailman only mail server. Exactly, but I'd rather avoid that. I don't like having special cases if it's avoidable. Special cases don't scale well. > You _can_ export ~mailman over NFS. The problem was that with Yes, but since the mailman machine lives outside the firewall, I'd *really* rather not run NFS, even if it is filtered at the router. Further, that means you've introduced a single dependency into your mail server setup, which rather defeats the purpose of having redundant mail receivers. > I think the NFS approach is the simplest by far :-) Yah, but ultimately suboptimal, I think... especially since the only reason it's the easiest is because of the lack of abstraction of the interfaces. Darrell From barry@zope.com Mon Jan 28 22:08:53 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 28 Jan 2002 17:08:53 -0500 Subject: [Mailman-Developers] USE_ENVELOPE_SENDER is not flexible enough References: Message-ID: <15445.52213.151465.881442@anthem.wooz.org> >>>>> "JRM" == Jason R Mastaler >>>>> writes: JRM> For members-only lists like this one, USE_ENVELOPE_SENDER JRM> currently allows the admin to determine membership by JRM> checking either the From: header, OR the envelope sender JRM> address. JRM> I think a more flexible alternative would be to first check JRM> the envelope sender, and then the From: header for a match. JRM> In fact, this would make sense as the default setting IMHO. When USE_ENVELOPE_SENDER was the default, it was next to useless because it rarely matched the sender's membership address. So that's why it was disabled. It probably would be best to add a method get_author() which returned a list of (From_, From:, Sender:) for comparison, and we'd have to evaluate each get_sender() call site to see if it was doing such a comparison or just trying to find an address to use (in which case, I guess you still trust From: first?). In either case, you'd have to change every affected call site to do an `in' test instead of an == test. What do others think? This is such an integral part of the logic that I'm a bit wary to change it, but if we were to change things, now would be the time. Jason, do you think you could whip together a patch against CVS, based on the above sketch? If so, attach it to your feature request and I'll take a look. -Barry From mailman-list@mackinlay.demon.co.uk Mon Jan 28 22:20:43 2002 From: mailman-list@mackinlay.demon.co.uk (Colin Mackinlay) Date: Mon, 28 Jan 2002 22:20:43 +0000 (GMT) Subject: [Mailman-Developers] Importing email 0.96 problem In-Reply-To: Message-ID: In on Mon 28 Jan, Jason R. Mastaler wrote: > barry@zope.com (Barry A. Warsaw) writes: > > > Also, you may want to try upgrading to Python 2.1.2 to see if that > > fixes the problem. > > Why not upgrade to Python 2.2 instead? Since 2.2 comes with the email > module, he won't have to worry about installing it separately which > seems to be the crux of his problem. This is what I did originally, it makes a bit of a mess as 2.2 doesn't install by default into the same place that 2.1 lives (may be a Mandrake issue). Also what I go were a number of errors (from bsddb3 I think) which complained that programs were linked to differen versions of a library file. I went back to trying to hack 2.1.1 into using email as I was concerned that the libray errors were why my lit moderator pages wouldn't let me confirm new subscription requests. -- Colin Mackinlay From mailman-list@mackinlay.demon.co.uk Mon Jan 28 22:34:32 2002 From: mailman-list@mackinlay.demon.co.uk (Colin Mackinlay) Date: Mon, 28 Jan 2002 22:34:32 +0000 (GMT) Subject: [Mailman-Developers] Importing email 0.96 problem In-Reply-To: <15444.57929.7084.352993@anthem.wooz.org> Message-ID: In on Mon 28 Jan, Barry A. Warsaw wrote: > > >>>>> "CM" == Colin Mackinlay writes: > > CM> The documented way to install email is: python setup.py > CM> install > > CM> This doesn't work for me as 2.1.1 is installed from an RPM and > CM> throws errors in relation to configure. > > I'd like to see the exact errors that occur. This may indicate a bug > in Python's distutils system. Or it could be that you need the devel > rpms for Python (although that would suck, since email is a pure > Python package -- i.e. no C extensions). Also, you may want to try > upgrading to Python 2.1.2 to see if that fixes the problem. > > In any case, I'd like to know more about this failure. Traceback ..... File setup.py line 19 in ? . . . File "/usr/lib/python2.1/distutils/sysconfig.py" line 302, in _init_posix rais DistutilsPlatformError, my_msg distutils.errors.DistutilsPlatformError invaid Python installation unable to open /usr/lib/python2.1/config/Makefile (no such file or directory) Colin From barry@zope.com Mon Jan 28 22:56:40 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 28 Jan 2002 17:56:40 -0500 Subject: [Mailman-Developers] Importing email 0.96 problem References: <15444.57929.7084.352993@anthem.wooz.org> Message-ID: <15445.55080.381540.294400@anthem.wooz.org> >>>>> "JRM" == Jason R Mastaler >>>>> writes: >> Also, you may want to try upgrading to Python 2.1.2 to see if >> that fixes the problem. JRM> Why not upgrade to Python 2.2 instead? Since 2.2 comes with JRM> the email module, he won't have to worry about installing it JRM> separately which seems to be the crux of his problem. That may not help, for a few reasons. First, there are some patches to the email package that got applied after 2.2 was released. For these, upgrading to Python 2.2.1 -- when it's ready -- would take care of the problem. Second, Ben Gertzfield is working on some enhancements to the email package to better support Japanese (presumably, this extends to Korean, Chinese, etc.). Since those are new features, they won't make it into Python proper until 2.3, but I will add them to the email add-on package. So if you're probably best off still installing the add-on even in Python 2.2. (Aside: I just realized that I'll have to change the order in which directories are added to sys.path in Defaults.py.in so that site-packages appears /before/ the default paths, otherwise you wouldn't get the add-on email package in Python 2.2. Hope that doesn't have any ugly consequences. :( We'll see...). >> to decrease startup costs, all Mailman cgi and mail filter >> programs effectively run with the -S option, which inhibits >> importing site.py, and thus does not add any of the >> site-packages folders to sys.path. JRM> I'm just curious, how much startup cost does this save? I JRM> hadn't thought of doing this before. I don't remember the details, and they've likely changed since Python 2.0 when I made this change. If you want to get a feel for it, strace an interactive Python startup with and without -S. Enjoy the stat()'s :) IIRC they're significant, but with MM2.1's current architecture it will only hurt you during cgi startup, since the email side of things is done in a daemon now. -Barry From barry@zope.com Mon Jan 28 23:20:33 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 28 Jan 2002 18:20:33 -0500 Subject: [Mailman-Developers] Importing email 0.96 problem References: Message-ID: <15445.56513.904709.492172@anthem.wooz.org> >>>>> "CM" == Colin Mackinlay writes: >> Why not upgrade to Python 2.2 instead? Since 2.2 comes with >> the email module, he won't have to worry about installing it >> separately which seems to be the crux of his problem. CM> This is what I did originally, it makes a bit of a mess as 2.2 CM> doesn't install by default into the same place that 2.1 lives CM> (may be a Mandrake issue). I think so. From source, Python will install in /usr/local/bin by default, but Mandrake puts it in /usr/bin/python I believe. I've got MD8.1 on my laptop, and /usr/bin/python is 2.1.1. Python install trick: if you want to have multiple version of Python live side-by-side in /usr/local, use "make install" for the one you want to be the default, and "make altinstall" for the others. Thus, you'll have /usr/local/bin/python and /usr/local/bin/pythonX.Y where X is the major rev and Y is the minor rev. You can't have micro (bug fix) releases live side-by-side AFAIK. CM> Also what I go were a number of errors (from bsddb3 I think) CM> which complained that programs were linked to differen CM> versions of a library file. Yeah, this is definitely a fragile bit of the configuration for Postfix integration. Probably too fragile for production. Sigh. CM> I went back to trying to hack 2.1.1 into using email as I was CM> concerned that the libray errors were why my lit moderator CM> pages wouldn't let me confirm new subscription requests. Hmm, Python 2.1.1 or 2.1.2 ought to work just fine, with the add-on email package of course. -Barry From barry@zope.com Mon Jan 28 23:21:50 2002 From: barry@zope.com (Barry A. Warsaw) Date: Mon, 28 Jan 2002 18:21:50 -0500 Subject: [Mailman-Developers] Importing email 0.96 problem References: <15444.57929.7084.352993@anthem.wooz.org> Message-ID: <15445.56590.751470.229952@anthem.wooz.org> >>>>> "CM" == Colin Mackinlay writes: CM> Traceback ..... CM> File setup.py line 19 in ? . . . File CM> "/usr/lib/python2.1/distutils/sysconfig.py" line 302, in CM> _init_posix rais DistutilsPlatformError, my_msg CM> distutils.errors.DistutilsPlatformError invaid Python CM> installation unable to open /usr/lib/python2.1/config/Makefile CM> (no such file or directory) Possibly you need the python-devel rpms too? I think I hit a similar issue with StandaloneZODB, which I just released last Friday. Double check that and if that's not it, we can go from there. -Barry From Dan Mick Mon Jan 28 23:30:16 2002 From: Dan Mick (Dan Mick) Date: Mon, 28 Jan 2002 15:30:16 -0800 (PST) Subject: [Mailman-Developers] Importing email 0.96 problem Message-ID: <200201282330.PAA00491@utopia.West.Sun.COM> > That may not help, for a few reasons. First, there are some patches > to the email package that got applied after 2.2 was released. Have you been including a later-than-2.2 email.py in the CVS? I've been ignoring it there, perhaps to my detriment... From chuqui@plaidworks.com Tue Jan 29 00:54:56 2002 From: chuqui@plaidworks.com (Chuq Von Rospach) Date: Mon, 28 Jan 2002 16:54:56 -0800 Subject: [Mailman-Developers] More weird situations... Message-ID: I've just run into yet another weird condition that mailman struggles with. This may sound silly, but.. I renamed a mailing list today. However, if you strictly follow the List-ID RFC (at least, as I read it), even though it's been renamed, the List-ID shouldn't change. Even though opentransportdev@lists.apple.com has become macprogdev@lists.apple.com, the List-ID should still be opentransportdev.lists.apple.com, since that's how it was defined in the global name space. Now, in practice, I think it's important for the list-ID to track the list name, but to be strictly compliant for those who want it that way, it seems there ought to be a way to explicitly set List-ID, which Mailman just can't do right now. This, obviously, is a showstopper for 2.1.... (snork). From terri@hole.zone12.com Tue Jan 29 04:38:16 2002 From: terri@hole.zone12.com (Terri Oda) Date: Mon, 28 Jan 2002 23:38:16 -0500 Subject: [Mailman-Developers] Re: [Mailman-Announce] Once again, fame and fortune can be yours Message-ID: <5.1.0.14.0.20020128233438.01f26a70@pop.ncf.carleton.ca> At 01:09 AM 11/01/02 -0500, you wrote: >Of course, I'm a musician[1] not an artist, so I need your help. I'm a musician too (well, more so than artist) but at 16x16 I can at least blame the medium. :) Here's a first attempt. http://terri.zone12.com/mm.gif BTW, hi everyone. I'm new. I decided it was time to subscribe, brush up on my python, read for a bit and see if I could help. I've been adminning the linuxchix lists (in mailman) for a while now, and other less-public lists for longer. I'm not too sure what else I should say by way of introduction, so I guess I'll skip the "my life in a nutshell" essay for tonight. :) Terri From jra@baylink.com Tue Jan 29 17:02:21 2002 From: jra@baylink.com (Jay R. Ashworth) Date: Tue, 29 Jan 2002 12:02:21 -0500 Subject: [Mailman-Developers] Re: [Mailman-Announce] Once again, fame and fortune can be yours In-Reply-To: <5.1.0.14.0.20020128233438.01f26a70@pop.ncf.carleton.ca>; from Terri Oda on Mon, Jan 28, 2002 at 11:38:16PM -0500 References: <5.1.0.14.0.20020128233438.01f26a70@pop.ncf.carleton.ca> Message-ID: <20020129120221.09344@scfn.thpl.lib.fl.us> On Mon, Jan 28, 2002 at 11:38:16PM -0500, Terri Oda wrote: > BTW, hi everyone. I'm new. I decided it was time to subscribe, brush up > on my python, read for a bit and see if I could help. > > I've been adminning the linuxchix lists (in mailman) for a while now, and > other less-public lists for longer. I'm not too sure what else I should > say by way of introduction, so I guess I'll skip the "my life in a > nutshell" essay for tonight. :) Aw, *darn*. :-) Welcome aboard. Cheers, -- jra -- Jay R. Ashworth jra@baylink.com Member of the Technical Staff Baylink RFC 2100 The Suncoast Freenet The Things I Think Tampa Bay, Florida http://baylink.pitas.com +1 727 647 1274 "If you don't have a dream; how're you gonna have a dream come true?" -- Captain Sensible, The Damned (from South Pacific's "Happy Talk") From jason-list-mailman-developers@mastaler.com Tue Jan 29 17:34:30 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Tue, 29 Jan 2002 10:34:30 -0700 Subject: [Mailman-Developers] USE_ENVELOPE_SENDER is not flexible enough In-Reply-To: <15445.52213.151465.881442@anthem.wooz.org> (barry@zope.com's message of "Mon, 28 Jan 2002 17:08:53 -0500") References: <15445.52213.151465.881442@anthem.wooz.org> Message-ID: barry@zope.com (Barry A. Warsaw) writes: > When USE_ENVELOPE_SENDER was the default, it was next to useless > because it rarely matched the sender's membership address. So > that's why it was disabled. Understandable. By the same token, there are cases where From doesn't match, but the envelope sender does. Checking both by default will satisfy all cases. > Jason, do you think you could whip together a patch against CVS, > based on the above sketch? Sure, I'll give it a shot. Thanks. -- (TMDA (http://tmda.sourceforge.net/) (UCE intrusion prevention in Python) From barry@zope.com Tue Jan 29 17:46:22 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 29 Jan 2002 12:46:22 -0500 Subject: [Mailman-Developers] USE_ENVELOPE_SENDER is not flexible enough References: <15445.52213.151465.881442@anthem.wooz.org> Message-ID: <15446.57326.701504.729678@anthem.wooz.org> >>>>> "JRM" == Jason R Mastaler >>>>> writes: >> When USE_ENVELOPE_SENDER was the default, it was next to >> useless because it rarely matched the sender's membership >> address. So that's why it was disabled. JRM> Understandable. By the same token, there are cases where JRM> From doesn't match, but the envelope sender does. Checking JRM> both by default will satisfy all cases. True. I wonder if Reply-To: ought to be added to the mix? Note that all are easily spoofable, so that argument doesn't bother me much. If so, the order ought to go (I think) 1. From: 2. From_ 3. Reply-To: 4. Sender: >> Jason, do you think you could whip together a patch against >> CVS, based on the above sketch? JRM> Sure, I'll give it a shot. Thanks. Cool. Thanks, -Barry From jason-list-mailman-developers@mastaler.com Tue Jan 29 17:57:51 2002 From: jason-list-mailman-developers@mastaler.com (Jason R. Mastaler) Date: Tue, 29 Jan 2002 10:57:51 -0700 Subject: [Mailman-Developers] USE_ENVELOPE_SENDER is not flexible enough In-Reply-To: <15446.57326.701504.729678@anthem.wooz.org> (barry@zope.com's message of "Tue, 29 Jan 2002 12:46:22 -0500") References: <15445.52213.151465.881442@anthem.wooz.org> <15446.57326.701504.729678@anthem.wooz.org> Message-ID: barry@zope.com (Barry A. Warsaw) writes: > True. I wonder if Reply-To: ought to be added to the mix? It wouldn't hurt. FWIW, TMDA checks Reply-To: in addition to From: and the envelope sender. > Note that all are easily spoofable, so that argument doesn't bother > me much. Exactly. Which is why I don't understand why all MLMs don't do this. It just makes things more difficult for list subscribers. Majordomo checks just From: and Reply-To:, ezmlm checks just the envelope sender, etc. Well, at least we are "fixing" this here. > If so, the order ought to go (I think) > > 1. From: > 2. From_ > 3. Reply-To: > 4. Sender: Alrighty. -- (TMDA (http://tmda.sourceforge.net/) (UCE intrusion prevention in Python) From barry@zope.com Tue Jan 29 18:00:35 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 29 Jan 2002 13:00:35 -0500 Subject: [Mailman-Developers] USE_ENVELOPE_SENDER is not flexible enough References: <15445.52213.151465.881442@anthem.wooz.org> <15446.57326.701504.729678@anthem.wooz.org> Message-ID: <15446.58179.21519.25462@anthem.wooz.org> >>>>> "JRM" == Jason R Mastaler >>>>> writes: JRM> Well, at least we are "fixing" this here. Mailman shall rule THE WORLD! >> If so, the order ought to go (I think) >> 1. From: 2. From_ 3. Reply-To: 4. Sender: JRM> Alrighty. Cool, thanks. -Barry From barry@zope.com Tue Jan 29 18:42:12 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 29 Jan 2002 13:42:12 -0500 Subject: [Mailman-Developers] bounce processing in 2.1CVS References: <200201170129.RAA14537@utopia.West.Sun.COM> Message-ID: <15446.60676.701456.646853@anthem.wooz.org> >>>>> "DM" == Dan Mick writes: DM> I could be high, but it looks like the sequence in Bouncer.py DM> is: | 1) are we a member? No, return | 2) do we have previous bounces? No, register it and quit | 3) is the member disabled? yes, quit | 4) is the bounce info from today? yes, quit | 5) is the info stale? yes, clear it out | 6) start looking for action DM> It seems like 4) is pretty procrustean. If, for instance, I DM> have a wad of bounces, and decide "screw it, if they get to DM> one bounce, I want them gone" and change the bounce threshold, DM> that's not going to take effect until tomorrow. You have a good point. I think this is best handled by a slight reorg of registerBounce(), so that the check of the bounce score is always done after adjustment of the bounce score. I.e. 1) are we a member? No, return 2) do we have previous bounces? No, register it skip to step 7 3) is the member disabled? yes, quit 4) is the bounce info from today? yes, don't increment, skip to step 7 5) is the info stale? yes, reset it and skip to step 7 6) increment score for today's bounce 7) is score > threshold? yes, disable 'em. DM> And besides, that seems like a useful knob to turn (i.e. "how DM> old does the bounce info have to be before I start looking for DM> new ones"). It might be, but I think for now I don't want to add that. I realized you also want to add a step in cron/disabled that performs a sweep over the currently-bouncing-but-not-yet-disabled members, checking their scores against the threshold. Say this morning the threshold was 4.0 and some member had a score of 3.0. Then I go in and say screw it, set the threshold to 2.0. I'd like today's cron/disabled run to disable all those members with a score of 3.0. Checking in this stuff to cvs momentarily. Thanks, -Barry From nelson@crynwr.com Mon Jan 28 05:20:35 2002 From: nelson@crynwr.com (Russell Nelson) Date: Mon, 28 Jan 2002 00:20:35 -0500 (EST) Subject: [Mailman-Developers] Re: Theoretical way to minimize IO load with MTA supported VERP Message-ID: <15444.54741.935931.685245@desk.crynwr.com> tneff@bigfoot.com writes: > "Jay R. Ashworth" wrote: > > I don't see that there *is* any theoretical way to *keep* loads down > > with VERP, by it's very nature. > > If one was willing to extend SMTP again, Not necessary. If you know the remote MTA supports VERP, you can just send email like this: MAIL FROM: 250 mylist-owner@mydomain.com... Sender ok RCPT TO: 250 johnsmith@aol.com... Recipient ok RCPT TO: 250 joerandom@aol.com... Recipient ok DATA In other words, no extensions to SMTP are needed other than an announcement in the ESMTP banner that the MTA will take responsibility for expanding VERP addresses. My own feeling is that qmail ought to recognize that it's talking to another qmail server, and send a VERP envelope sender, and multiple envelope recipients. There's no reason why mailman couldn't use a bulk mailer which sorts users by recipient hostname, knows how to recognize qmail, and uses VERP when it does. It could issue "EHLO hostname" and look for "VERP" (for future use) or else just two lines: 250-ns.crynwr.com NO UCE 250-PIPELINING 250 8BITMIME If just -PIPELINING and 8BITMIME are present, then it could issue "HELP" and look for the qmail help message: 214 qmail home page: http://pobox.com/~djb/qmail.html As Barry says, VERP tells you precisely which address is bouncing, but it doesn't say why. -- -russ nelson http://russnelson.com | The problem with do-gooders Crynwr sells support for free software | PGPok | and governments is that they 521 Pleasant Valley Rd. | +1 315 268 1925 voice | always think the government Potsdam, NY 13676-3213 | +1 315 268 9201 FAX | will choose as they would. From marc_news@vasoftware.com Sun Jan 27 05:38:31 2002 From: marc_news@vasoftware.com (Marc MERLIN) Date: Sat, 26 Jan 2002 21:38:31 -0800 Subject: [Mailman-Developers] load balancing with mailman. In-Reply-To: ; from darrell@grumblesmurf.net on Wed, Jan 23, 2002 at 03:22:43PM -0800 References: Message-ID: <20020126213831.G13692@merlins.org> [Barry, question for you further down] On Wed, Jan 23, 2002 at 03:22:43PM -0800, Darrell Fuhriman wrote: > Right now, it's essentially impossible to have more than one > machine doing Mailman processing. (Yes, there are ways to hack > around it, but they get ugly quickly.) I have a mail server which automatically rewrites mailman lists envelope tos to go to the mailman only mail server. > It's also impossible to have the web interface on any machine > other than the machine where list explosion happens. This is Yes and no. Back in the mm2.0 days, one of my requirements for upgrading mailman on sourceforge.net was to have redundancy and load balancing. You _can_ export ~mailman over NFS. The problem was that with linux 2.2 back then, under very high load and lock contention (I sent 1000 messages to the same list on the two different mail servers to force them to fight over ~mailman/lists/listname/config.db). I was able to find a race condition in NFS rename/unlinks which caused 3 messages out of the 2000 to bounce. (I don't know if it's under NFS only, but after getting config.db corruption on 3 messages, when mailman renames the ocnfig.db.last to config.db, there was a very small time window when there was no config.db, and my exim with auto list detection failed to stat the config.db, and stated that the list didn't exist). For more details, see my this message in the archives: From: Marc MERLIN To: mailman-developers@python.org Subject: Doing load balancing with mailman Message-ID: <20001117130521.V9808@marc.merlins.org> Date: Fri, 17 Nov 2000 13:05:21 -0800 and the following thread: From: Marc MERLIN To: mailman-developers@python.org Subject: about qrunner and locking Message-ID: <20001207162234.D25463@marc.merlins.org> Date: Thu, 7 Dec 2000 16:22:34 -0800 Barry: With the new qrunner infrastructure, does qrunner still need to lock the lists during delivery? If qrunner doesn't modify config.db anymore, could it open config.db read only? The reason I ask is that, while the current sourceforge.net list server is still doing ok with 16,000+ lists, 600,000 Emails a day or so, and full SMTP callbacks on each incoming message, I'm still getting pressure to load balance the machine, especially for the high availability part :-) If I can have qrunner not lock ocnfig.db, the only lock contention I'll have is when lists are modified through the web, and even if I share ~mailman over NFS, I'm confident that we won't hit some NFS race condition because the same list is being modified by two different admins at the same exact nanosecond. > So, I'll probably be able to devote time over the next couple > months to writing this, but I'm interested in how people feel > such a beast should look, especially (4). I think the NFS approach is the simplest by far :-) It even works today if you don't deliver thousands of messages in a few seconds to the same list :-) (actually with linux 2.4 or some other OS, and mailman 2.1, the bug may not be triggered anymore) Marc -- Microsoft is to operating systems & security .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/ | Finger marc_f@merlins.org for PGP key From hgoodarzy@idea.cambridge.edu Tue Jan 29 16:28:05 2002 From: hgoodarzy@idea.cambridge.edu (Hormoz Goodarzy) Date: Tue, 29 Jan 2002 11:28:05 -0500 Subject: [Mailman-Developers] our mailman problem Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_000E_01C1A8B8.04FCA6C0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Please visit the archive of the following listserve. Could you let us know how we can correct the messages not to appear with so many codes in the thread discussions and responses and approvals the moderators need to perform. http://www.cambridge.edu/eforum/ Example: This is a multi-part message in MIME format. ------=_NextPart_000_01AB_01C1A5C7.5D088940 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable and we can have contact fast and easy everyone ------=_NextPart_000_01AB_01C1A5C7.5D088940 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

and we can have contact fast and easy=20 everyone
------=_NextPart_000_01AB_01C1A5C7.5D088940-- ------=_NextPart_000_000E_01C1A8B8.04FCA6C0 Content-Type: application/ms-tnef; name="winmail.dat" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="winmail.dat" eJ8+IgUQAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEGgAMADgAAANIHAQAdAAsAGwAAAAIAHwEB A5AGAFQHAAAiAAAACwACAAEAAAALACMAAAAAAAMAJgAAAAAACwApAAAAAAADADYAAAAAAB4AcAAB AAAAFAAAAG91ciBtYWlsbWFuIHByb2JsZW0AAgFxAAEAAAAWAAAAAcGo4du5udrRtxTIEdaa3QAG KRWpLAAAAgEdDAEAAAAiAAAAU01UUDpIR09PREFSWllASURFQS5DQU1CUklER0UuRURVAAAACwAB DgAAAABAAAYOAGLUxuGowQECAQoOAQAAABgAAAAAAAAA3g1NZ8mN1RGZ8wAGKRWpLMKAAAALAB8O AQAAAAIBCRABAAAAWgMAAFYDAAAABQAATFpGdd8slQsDAAoAcmNwZzEyNRYyAPgLYG4OEDAzM08B 9wKkA+MCAGNoCsBz8GV0MCAHEwKDAFADVFcQyQdtAoB9CoF2CJB30msLgGQ0DGBjAFALA0ELtSBQ bGVhESAg5xSQAJAFQHRoFpAKwBDgZGl2FpBvZhcDAhBspwkAA/APICBsBAB0ESASchegLiAIUWxk IE55CGAY0BEwIHUEIGtSbhiAIGgawXcWkGM3A5EFoQlwYxb0B4FzYS5nB5EasBbxbxdAcHDPFmAF wAPwFxAgcx1AA4H+eRuRAQAEIAuAFwMXEAlw6mEZ0GQEAGMacACQAiDPBCAAcBnQCXBzcCBhB5H3 IKIdYQNgdgdABCAcIwRy/mEdMBEQHOAJ4BnQHTEdgOJyAhBybS4KogqECoCCaAJAcDovL3clgK4u G2AG0AUQZBywLgmAjHUvARAFsHVtLyRamSRURXgl0AtQZTonHvkLMHNiD0ABQByQKfISAv0L8DQT MBeAHuEggRxQGbB4dGktCrEFQBxlHvJNeElNRRgxJCAi8BlwLYkt4z1fB8B4dFAsIYpfKgAwLuAx QUIvIQJDL0A1QzcuNUTgMDg4OTQRUAhQAjChCfB0LVR5HYA6FwA1LnEvC1M7G1AQ9D0iCQQAby0w QDU5LTEuIjCYIuAAgGYEkC1Fzm4eoRihMWBxdR0ACYD/LAAFEAIwAaAWUCCTGzUQ8O8XoQWgNeEb 8WYWcAVAIKLrFmEegGUXoHIZ8CNQLd/vLu8v/zELJRBtAnAyPzNPAzRfNW08IURPQ1SEWVAtQEhU TUwWMABVQkxJQyAiLRElYFczQyVgRFRE+UI0NC4TIT9yFuAgUQdAYSVgRU4iPkGQQkI+MUWQRUFE RXEtMFRBMxrgJSEtZUCQF5A9M15EPAo3QzDhR2EiPOk9fz2HR3A+KUZGSGkF4EJDNSE7YDAuNDkO IC4zXyoAPsBE8AeAR2FHRUBFoFJBVE9SRXFTQfC0TEVF4C9O9EGQL0YFgEJPRFkgYmcIUDsJAUdh IwEgUXJFcURJQlZF4EZPTlQ3wWO7TfIHEz42XzdvOHE9FhHfOLZPUFJST0FSAy9Qck9B/0WjOT86 TztYWEAK4ylWC7YLJGMUUQBc8AAACwABgAggBgAAAAAAwAAAAAAAAEYAAAAAA4UAAAAAAAADAAOA CCAGAAAAAADAAAAAAAAARgAAAAAQhQAAAAAAAAMAB4AIIAYAAAAAAMAAAAAAAABGAAAAAFKFAAB9 bgEAHgAJgAggBgAAAAAAwAAAAAAAAEYAAAAAVIUAAAEAAAAEAAAAOS4wAAsADYAIIAYAAAAAAMAA AAAAAABGAAAAAIKFAAABAAAACwA6gAggBgAAAAAAwAAAAAAAAEYAAAAADoUAAAAAAAADADyACCAG AAAAAADAAAAAAAAARgAAAAARhQAAAAAAAAMAPYAIIAYAAAAAAMAAAAAAAABGAAAAABiFAAAAAAAA CwBSgAggBgAAAAAAwAAAAAAAAEYAAAAABoUAAAAAAAADAFOACCAGAAAAAADAAAAAAAAARgAAAAAB hQAAAAAAAAIB+A8BAAAAEAAAAN4NTWfJjdURmfMABikVqSwCAfoPAQAAABAAAADeDU1nyY3VEZnz AAYpFaksAgH7DwEAAACRAAAAAAAAADihuxAF5RAaobsIACsqVsIAAFBTVFBSWC5ETEwAAAAAAAAA AE5JVEH5v7gBAKoAN9luAAAAQzpcV0lOTlRcUHJvZmlsZXNcY2FtdXNlclxMb2NhbCBTZXR0aW5n c1xBcHBsaWNhdGlvbiBEYXRhXE1pY3Jvc29mdFxPdXRsb29rXG91dGxvb2sucHN0AAAAAAMA/g8F AAAAAwANNP03AAACAX8AAQAAADwAAAA8TkZCQkpKUEROT0FMR0VIQ0dBS0JJRU1CQ0VBQS5oZ29v ZGFyenlAaWRlYS5jYW1icmlkZ2UuZWR1PgADAAYQeCLC7AMABxB/AwAAAwAQEAAAAAADABEQAAAA AB4ACBABAAAAZQAAAFBMRUFTRVZJU0lUVEhFQVJDSElWRU9GVEhFRk9MTE9XSU5HTElTVFNFUlZF Q09VTERZT1VMRVRVU0tOT1dIT1dXRUNBTkNPUlJFQ1RUSEVNRVNTQUdFU05PVFRPQVBQRUFSV0kA AAAAsMI= ------=_NextPart_000_000E_01C1A8B8.04FCA6C0-- From terri@zone12.com Mon Jan 28 08:08:42 2002 From: terri@zone12.com (Terri Oda) Date: Mon, 28 Jan 2002 03:08:42 -0500 Subject: [Mailman-Developers] Re: [Mailman-Announce] Once again, fame and fortune can be yours In-Reply-To: <15422.33148.232474.736964@anthem.wooz.org> Message-ID: <5.1.0.14.0.20020128025558.00ac2080@pop.ncf.carleton.ca> At 01:09 AM 11/01/02 -0500, you wrote: >Of course, I'm a musician[1] not an artist, so I need your help. I'm a musician too (well, more so than artist) but at 16x16 I can at least blame the medium. :) Here's a first attempt. http://terri.zone12.com/mm.gif BTW, hi everyone. I'm new. I decided it was time to subscribe, brush up on my python, read for a bit and see if I could help. I've been adminning the linuxchix lists (in mailman) for a while now, and other less-public lists for longer. I'm not too sure what else I should say by way of introduction, so I guess I'll skip the "my life in a nutshell" essay for tonight. :) Terri From barry@zope.com Tue Jan 29 19:40:56 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 29 Jan 2002 14:40:56 -0500 Subject: [Mailman-Developers] load balancing with mailman. References: <20020126213831.G13692@merlins.org> Message-ID: <15446.64200.227781.98866@anthem.wooz.org> >>>>> "MM" == Marc MERLIN writes: MM> You _can_ export ~mailman over NFS. The problem was that with MM> linux 2.2 back then, under very high load and lock contention MM> (I sent 1000 messages to the same list on the two different MM> mail servers to force them to fight over MM> ~mailman/lists/listname/config.db). I was able to find a race MM> condition in NFS rename/unlinks which caused 3 messages out of MM> the 2000 to bounce. (I don't know if it's under NFS only, but MM> after getting config.db corruption on 3 messages, when mailman MM> renames the ocnfig.db.last to config.db, there was a very MM> small time window when there was no config.db, and my exim MM> with auto list detection failed to stat the config.db, and MM> stated that the list didn't exist). I believe that the algorithm that LockFile uses should be safe across NFS, modulo system bugs of course. I haven't run any stress tests against it in a looong time, but I once did, and don't ever remember seeing the bug you describe. I also don't remember the kernel rev, but it was a 2.2.something I'm sure. Maybe I was just (un)luckier than you. MM> Barry: With the new qrunner infrastructure, does qrunner still MM> need to lock the lists during delivery? If qrunner doesn't MM> modify config.db anymore, could it open config.db read only? Remember that now, we have usually 7 queues, and each one has its own runner process. One of the advantages of this is that we can really isolate lock acquisition to a finer granularity. In fact, OutgoingRunner -- which processes qfiles/out files, and thus is the process that actually calls SMTPDirect -- does not lock the lists for the normal delivery processing. It simply shovels messages from the queue to smtpd and doesn't need to update any list information, as that's all done before the message gets to the outgoing queue. There's one exception (of course ;). If your smtpd ever returns synchronous errors, then Mailman has to lock the list in order to register bounces. However, Mailman only does this periodically, and this is controllable by the variable DEAL_WITH_PERMFAILURES_EVERY in Mailman/Queue/OutgoingRunner.py (it's not a mm_cfg.py variable). By default this is set to 1, but you could crank it up so that the culling of the known bounces is done less frequently. OTOH, if your MTA is set up to never do recipient tests/deliveries synchonously (and you're not delivering to local users), you should never have such delivery failures to deal with, thus you'd never need to lock the list. -Barry From mailman-list@mackinlay.demon.co.uk Tue Jan 29 22:13:51 2002 From: mailman-list@mackinlay.demon.co.uk (Colin Mackinlay) Date: Tue, 29 Jan 2002 22:13:51 +0000 (GMT) Subject: [Mailman-Developers] Importing email 0.96 problem In-Reply-To: <15445.56590.751470.229952@anthem.wooz.org> Message-ID: In on Mon 28 Jan, Barry A. Warsaw wrote: > [snip] > > Possibly you need the python-devel rpms too? I think I hit a similar > issue with StandaloneZODB, which I just released last Friday. Double > check that and if that's not it, we can go from there. > [blushes] email-0.96 straight in! Now that just leaves me withthe main problem I've been trying to fix - web based approval of list subscription. I asked this question originally on Mailman-Users before I realised Developers might be a more appropriate forum. Of the four options available only one works properly! Defer: Fine because this is the default and nothing happens Approve: No message sent and not added to members list. DB is said to be updated but subscriber still appears in list of pending requests. Reject: Rejection message sent but subscriber remains in list of pending requests Discard: Subscriber remains in list of pending requests There is no error reported and Ican't see anything in the logs to help track down the problem. Is there another level of logging I could turn on? I received this reply from Jon Carnes on Mailman-Users: > From: Jon Carnes > Subject: Re: [Mailman-Users] 2.1a4 Approving users not working > To: mailman , mailman-users@python.org > > I believe that this is a browser specific problem. > When I have seen this problem, it is always with IE 6.0 (or now that folks > had to up-date, with 5.5 as well). > > If that is the case, then add the site as "trusted" to your browser. After > that, it will act properly. > > BTW: I use Mandrake 8.1 and have to use Netscape for approvals, Konqueror > has a problem in handling the page. Perhaps its the same problem that > converting the site to "trusted" fixes for IE. The problem manifests itself with IE6 and on RISCOS with Fresco and Oregano. I haven't tried netscape yet. -- Colin Mackinlay From Dan Mick Tue Jan 29 22:30:43 2002 From: Dan Mick (Dan Mick) Date: Tue, 29 Jan 2002 14:30:43 -0800 (PST) Subject: [Mailman-Developers] bounce processing in 2.1CVS Message-ID: <200201292231.OAA13986@utopia.West.Sun.COM> > 1) are we a member? No, return > 2) do we have previous bounces? No, register it skip to step 7 > 3) is the member disabled? yes, quit > 4) is the bounce info from today? yes, don't increment, skip to step 7 > 5) is the info stale? yes, reset it and skip to step 7 > 6) increment score for today's bounce > 7) is score > threshold? yes, disable 'em. Yeah, I like that better; at least it handles "I need to reset my bounce threshold to get out of a hole" better. > DM> And besides, that seems like a useful knob to turn (i.e. "how > DM> old does the bounce info have to be before I start looking for > DM> new ones"). > > It might be, but I think for now I don't want to add that. I suppose I know how to write that much Python. :) > I realized you also want to add a step in cron/disabled that performs > a sweep over the currently-bouncing-but-not-yet-disabled members, > checking their scores against the threshold. Say this morning the > threshold was 4.0 and some member had a score of 3.0. Then I go in > and say screw it, set the threshold to 2.0. I'd like today's > cron/disabled run to disable all those members with a score of 3.0. Yeah, good point. From jra@baylink.com Tue Jan 29 22:37:58 2002 From: jra@baylink.com (Jay R. Ashworth) Date: Tue, 29 Jan 2002 17:37:58 -0500 Subject: [Mailman-Developers] Re: Theoretical way to minimize IO load with MTA supported VERP In-Reply-To: <15444.54741.935931.685245@desk.crynwr.com>; from Russell Nelson on Mon, Jan 28, 2002 at 12:20:35AM -0500 References: <15444.54741.935931.685245@desk.crynwr.com> Message-ID: <20020129173758.62744@scfn.thpl.lib.fl.us> On Mon, Jan 28, 2002 at 12:20:35AM -0500, Russell Nelson wrote: > tneff@bigfoot.com writes: > > "Jay R. Ashworth" wrote: > > > I don't see that there *is* any theoretical way to *keep* loads down > > > with VERP, by it's very nature. > > > > If one was willing to extend SMTP again, > > Not necessary. If you know the remote MTA supports VERP, you can just > send email like this: Well, *that* was a blast from the past. My point, of course, had been *network loads*, and I stand by it, *in the face of standard mailers at the other end of all the links*. Of course smart recipient mailers can solve a lot of the problem, but only if they're there. Cheers, -- jra -- Jay R. Ashworth jra@baylink.com Member of the Technical Staff Baylink RFC 2100 The Suncoast Freenet The Things I Think Tampa Bay, Florida http://baylink.pitas.com +1 727 647 1274 "If you don't have a dream; how're you gonna have a dream come true?" -- Captain Sensible, The Damned (from South Pacific's "Happy Talk") From barry@zope.com Tue Jan 29 23:10:22 2002 From: barry@zope.com (Barry A. Warsaw) Date: Tue, 29 Jan 2002 18:10:22 -0500 Subject: [Mailman-Developers] Importing email 0.96 problem References: <15445.56590.751470.229952@anthem.wooz.org> Message-ID: <15447.11230.52973.260127@anthem.wooz.org> >>>>> "CM" == Colin Mackinlay writes: CM> [blushes] CM> email-0.96 straight in! Yay! CM> Now that just leaves me withthe main problem I've been trying CM> to fix - web based approval of list subscription. I asked this CM> question originally on Mailman-Users before I realised CM> Developers might be a more appropriate forum. For 2.1 issues, definitely. CM> Of the four options available only one works properly! Defer: CM> Fine because this is the default and nothing happens Approve: CM> No message sent and not added to members list. DB is said to CM> be updated but subscriber still appears in list of pending CM> requests. Reject: Rejection message sent but subscriber CM> remains in list of pending requests Discard: Subscriber CM> remains in list of pending requests CM> There is no error reported and Ican't see anything in the logs CM> to help track down the problem. Is there another level of CM> logging I could turn on? I can't reproduce any of this using Mailman-cvs, on one of the latest post 0.9.6 Mozilla builds, Konquerer 2.2.1, NS 4.74, or IE 5.5 on W2K. All 4 subscription options seem to work just fine. CM> The problem manifests itself with IE6 and on RISCOS with CM> Fresco and Oregano. I haven't tried netscape yet. I don't have IE6 so someone else is going to have to verify this. If you're using 2.1a4, then please update to CVS, although I can't think of a change that might affect this. -Barry From bob@nleaudio.com Wed Jan 30 06:01:14 2002 From: bob@nleaudio.com (bob@nleaudio.com) Date: Wed, 30 Jan 2002 01:01:14 -0500 (EST) Subject: [Mailman-Developers] bounce processing in 2.1CVS Message-ID: <20020130060114.079A213D126@main.nlenet.net> This is a MIME-encapsulated message. --------------026733399023883558022683 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Also, don't forget that you need to ignore days that go by without posts. You need to count "posting" days. Bob > >> 1) are we a member? No, return >> 2) do we have previous bounces? No, register it skip to step 7 >> 3) is the member disabled? yes, quit >> 4) is the bounce info from today? yes, don't increment, skip to step 7 >> 5) is the info stale? yes, reset it and skip to step 7 >> 6) increment score for today's bounce >> 7) is score > threshold? yes, disable 'em. > >Yeah, I like that better; at least it handles "I need to reset >my bounce threshold to get out of a hole" better. > >> DM> And besides, that seems like a useful knob to turn (i.e. "how >> DM> old does the bounce info have to be before I start looking for >> DM> new ones"). >> >> It might be, but I think for now I don't want to add that. > >I suppose I know how to write that much Python. :) > >> I realized you also want to add a step in cron/disabled that performs >> a sweep over the currently-bouncing-but-not-yet-disabled members, >> checking their scores against the threshold. Say this morning the >> threshold was 4.0 and some member had a score of 3.0. Then I go in >> and say screw it, set the threshold to 2.0. I'd like today's >> cron/disabled run to disable all those members with a score of 3.0. > >Yeah, good point. > > >_______________________________________________ >Mailman-Developers mailing list >Mailman-Developers@python.org >http://mail.python.org/mailman/listinfo/mailman-developers > --------------026733399023883558022683-- From barry@zope.com Wed Jan 30 07:16:04 2002 From: barry@zope.com (Barry A. Warsaw) Date: Wed, 30 Jan 2002 02:16:04 -0500 Subject: [Mailman-Developers] bounce processing in 2.1CVS References: <20020130060114.079A213D126@main.nlenet.net> Message-ID: <15447.40372.201407.282660@anthem.wooz.org> >>>>> "bob" == writes: bob> Also, don't forget that you need to ignore days that go by bob> without posts. You need to count "posting" days. I think I convinced myself that you don't, last time I thought hard about it. I could be wrong, but I also believe not worrying about it simplifies a lot (not the least of which is describing to an admin how all the knobs work together). I'm so tired right now, I can't explain more, but I'll try to tomorrow. -Barry From Dan Mick Wed Jan 30 08:04:23 2002 From: Dan Mick (Dan Mick) Date: Wed, 30 Jan 2002 00:04:23 -0800 (PST) Subject: [Mailman-Developers] Postfix mailq formatter/dumper/searcher: mq Message-ID: <200201300804.AAA05180@utopia.West.Sun.COM> I use Mailman with Postfix, and every so often, I would like to examine the outgoing mail queue and kill some messages. Postfix supplies "postsuper" to do this given that you know the queue ID, but won't, say, take an address and find all mail to that address and dequeue it. Also, I sorta hate the output format of mailq. So I hacked together a Python program that: 1) formats the mailq output more nicely, in two different ways: a verbose format: id: E78C251BDD* size: 4317 datetime: Tue Jan 29 15:25:50 sender: -bounces@dom.ain recipients: ['luser1@dom.ain', 'luser2@dom.ain2'] and a one-per-line greppable format: id=E78C251BDD* size=4317 datetime=Tue Jan 29 15:25:50 sender=-bounces@dom.ain recipients=['luser1@dom.ain','luser2@dom.ain2'] Both formats can optionally include the 'remote SMTP error message'. 2) filter by looking for any one-recipient queued messages that match a regular expression: mailq -v luser1@dom.ain might show id: E78C251BDD size: 4317 datetime: Tue Jan 29 15:25:50 sender: -bounces@dom.ain recipients: ['luser1@dom.ain'] 3) output just the queue ID, useful in combination with 2) above, so that one can do postsuper -d `mq -i luser1@dom.ain` and delete all the queued messages going just to luser1@dom.ain. Here's a usage message: mailq [-vie] [--verbose] [--id-only] [--show-errors] [recip RE] show the queued mail (using mailq) -v/--verbose: show a multiline view of each queued mail (default is one line per queue item) -i/--id-only: show only the queue IDs -e/--show-errors: show SMTP errors for each recipient recip RE: a regular expression to filter by recipient if that recipient is the only one for a queue item Example: mailq -i foo@bar.com shows queue IDs for any mails queued for foo@bar.com only Example: mailq -v shows all queue items in verbose format and here's the code. Use as you wish; any comments on Python style are especially welcome. I'd be happy to adapt this to other mailq output formats if I find out about them; obviously it's pretty fragile wrt the Postfix output format. It's either that or get my fingers into the queue directories, which is a less-stable interface, IMO. But if someone can document the sendmail format I'll see if I can't adapt to it as well. #!/usr/bin/env python import os import sys import re import getopt class MyRec: def __init__(self, id): self.id = id self.size = 0 self.sender = self.datetime = '' self.recipients = [] def __str__(self): return self.makestr(1) def makestr(self, errors): if errors: reciplist = self.recipients else: reciplist = map(lambda x: x[0], self.recipients) return '\n'.join(( "id: %s" % self.id, "size: %d" % self.size, "datetime: %s" % self.datetime, "sender: %s" % self.sender, "recipients: %s" % repr(reciplist))) def __repr__(self): return self.__str__() def oneline(self, errors): if errors: reciplist = self.recipients else: reciplist = map(lambda x: x[0], self.recipients) return ' '.join(( "id=%s" % self.id, "size=%d" % self.size, "datetime=%s" % self.datetime, "sender=%s" % self.sender, "recipients=%s" % repr(reciplist))) def multiline(self, errors): return self.makestr(errors) + '\n' def parsemailq(): hre = re.compile('.*Queue ID.*') idre = re.compile(r""" ^(?P[0-9A-Z\*]+) \s+(?P[0-9]+) \s+(?P\S+) \s+(?P\S+) \s+(?P[0-9]+) \s+(?P