[Mailman-Users] bin/rmlist too bold removing entries from postfix aliases file
Jon Parise
jon at csh.rit.edu
Thu Jan 2 03:43:58 CET 2003
On Wed, Jan 01, 2003 at 07:14:41PM -0500, Todd wrote:
> I was testing out MM2.1 yesterday and created a few test lists. I was
> feeling especially creative so I named them test and test2. When I used
> bin/rmlist to remove "test" I found that it had also deleted the test2
> entries from data/aliases (I use postfix as my MTA).
[snip]
> It looks like the problem is in Mailman/MTA/Postfix.py's _do_remove(). It
> simply checks that the line startswith '# STANZA START: ' + listname. This
> matches any lists that start with the same string as another listname. So
> If I have the lists test, test-users, and test-announce, running 'bin/rmlist
> test' will remove all three lists from data/aliases. This makes it hard for
> postfix to deliver mail to the list. :)
[snip]
> Here's the several line diff (let me know if there's a better place to post
> this):
I don't think a regular expression is the correct way to handle this,
but you've definitely identified the problem. I like the attached
patch a bit better (although Barry has the final say).
--
Jon Parise (jon at csh.rit.edu) :: http://www.csh.rit.edu/~jon/
-------------- next part --------------
Index: Postfix.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/MTA/Postfix.py,v
retrieving revision 2.18
diff -u -r2.18 Postfix.py
--- Postfix.py 23 Aug 2002 20:32:05 -0000 2.18
+++ Postfix.py 2 Jan 2003 02:41:33 -0000
@@ -259,14 +259,14 @@
# filtering out a stanza, we're just looking for the proper begin
# marker.
if filteroutp:
- if line.startswith(end):
+ if line.strip() == end:
filteroutp = 0
# Discard the trailing blank line, but don't worry if
# we're at the end of the file.
infp.readline()
# Otherwise, ignore the line
else:
- if line.startswith(start):
+ if line.strip() == start:
# Filter out this stanza
filteroutp = 1
else:
More information about the Mailman-Users
mailing list