diff options
author | Mark Sapiro <mark@msapiro.net> | 2008-08-22 15:21:26 -0700 |
---|---|---|
committer | Mark Sapiro <mark@msapiro.net> | 2008-08-22 15:21:26 -0700 |
commit | f431ffd2849dae99946fb22d7e1beb021989d7cb (patch) | |
tree | c7b39fd859aaf54ba296e96c1482562e2ab51caa | |
parent | 39b6bc673e4cbcd1c71aefa3b7130960604c4749 (diff) | |
download | mailman2-f431ffd2849dae99946fb22d7e1beb021989d7cb.tar.gz mailman2-f431ffd2849dae99946fb22d7e1beb021989d7cb.tar.xz mailman2-f431ffd2849dae99946fb22d7e1beb021989d7cb.zip |
MTA/Postfix.py
If the STANZA END for a list being removed is missing or munged, the
remainder of the aliases and/or virtual-mailman file is lost. Fixed.
Diffstat (limited to '')
-rw-r--r-- | Mailman/MTA/Postfix.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Mailman/MTA/Postfix.py b/Mailman/MTA/Postfix.py index 33cb9a47..daa9692f 100644 --- a/Mailman/MTA/Postfix.py +++ b/Mailman/MTA/Postfix.py @@ -1,4 +1,4 @@ -# Copyright (C) 2001-2005 by the Free Software Foundation, Inc. +# Copyright (C) 2001-2008 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 @@ -256,6 +256,7 @@ def _do_remove(mlist, textfile, virtualp): filteroutp = False start = '# STANZA START: ' + listname end = '# STANZA END: ' + listname + oops = '# STANZA START: ' while 1: line = infp.readline() if not line: @@ -270,6 +271,10 @@ def _do_remove(mlist, textfile, virtualp): # Discard the trailing blank line, but don't worry if # we're at the end of the file. infp.readline() + elif line.startswith(oops): + # Stanza end must be missing - start writing from here. + filteroutp = False + outfp.write(line) # Otherwise, ignore the line else: if line.strip() == start: |