diff -r 6475ac4895a9 -r 3d7d8c68b2fc mailman/mailman.patch
--- a/mailman/mailman.patch Tue Sep 20 15:24:08 2011 +0200
+++ b/mailman/mailman.patch Tue Sep 20 17:37:48 2011 +0200
@@ -1,42 +1,44 @@
Index: Mailman/Archiver/pipermail.py
---- Mailman/Archiver/pipermail.py.orig 2008-06-30 18:29:46 +0200
-+++ Mailman/Archiver/pipermail.py 2008-07-01 20:48:10 +0200
-@@ -122,9 +122,9 @@
- parentID = article.parentID
+--- Mailman/Archiver/pipermail.py.orig 2009-02-23 22:23:35 +0100
++++ Mailman/Archiver/pipermail.py 2009-03-27 11:55:18 +0100
+@@ -123,9 +123,10 @@
if parentID is not None and self.articleIndex.has_key(parentID):
parent = self.getArticle(archive, parentID)
-- myThreadKey = parent.threadKey + article.date + '-'
-+ myThreadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
+ myThreadKey = (parent.threadKey + article.date + '.'
+- + str(article.sequence) + '-')
++ + str(article.sequence)
++ + '/' + article.msgid + '-')
else:
-- myThreadKey = article.date + '-'
-+ myThreadKey = article.date + '/' + article.msgid + '-'
+- myThreadKey = article.date + '.' + str(article.sequence) + '-'
++ myThreadKey = article.date + '.' + str(article.sequence) + '/' + article.msgid + '-'
article.threadKey = myThreadKey
key = myThreadKey, article.msgid
self.setThreadKey(archive, key, article.msgid)
-@@ -418,7 +418,7 @@
- else:
+@@ -420,7 +421,7 @@
parent = self.database.getArticle(self.archive,
article.parentID)
-- article.threadKey = parent.threadKey+article.date+'-'
-+ article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
+ article.threadKey = (parent.threadKey + article.date + '.'
+- + str(article.sequence) + '-')
++ + str(article.sequence) + '/' + article.msgid + '-')
self.database.setThreadKey(self.archive,
(article.threadKey, article.msgid),
msgid)
-@@ -632,9 +632,9 @@
- article.parentID = parentID = self.get_parent_info(arch, article)
+@@ -635,10 +636,10 @@
if parentID:
parent = self.database.getArticle(arch, parentID)
-- article.threadKey = parent.threadKey + article.date + '-'
-+ article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
+ article.threadKey = (parent.threadKey + article.date + '.'
+- + str(article.sequence) + '-')
++ + str(article.sequence) + '/' + article.msgid + '-')
else:
-- article.threadKey = article.date + '-'
-+ article.threadKey = article.date + '/' + article.msgid + '-'
+ article.threadKey = (article.date + '.'
+- + str(article.sequence) + '-')
++ + str(article.sequence) + '/' + article.msgid + '-')
key = article.threadKey, article.msgid
self.database.setThreadKey(arch, key, article.msgid)
Index: Mailman/Commands/cmd_subscribe.py
---- Mailman/Commands/cmd_subscribe.py.orig 2008-06-30 18:29:46 +0200
-+++ Mailman/Commands/cmd_subscribe.py 2008-07-01 20:48:10 +0200
+--- Mailman/Commands/cmd_subscribe.py.orig 2009-02-23 22:23:35 +0100
++++ Mailman/Commands/cmd_subscribe.py 2009-03-27 11:55:18 +0100
@@ -84,6 +84,7 @@
if password is None:
password = Utils.MakeRandomPassword()
@@ -46,8 +48,8 @@
if not address:
# Fall back to the sender address
Index: Mailman/HTMLFormatter.py
---- Mailman/HTMLFormatter.py.orig 2008-06-30 18:29:46 +0200
-+++ Mailman/HTMLFormatter.py 2008-07-01 20:48:10 +0200
+--- Mailman/HTMLFormatter.py.orig 2009-02-23 22:23:35 +0100
++++ Mailman/HTMLFormatter.py 2009-03-27 11:55:18 +0100
@@ -44,7 +44,7 @@
realname = self.real_name
hostname = self.host_name
@@ -58,9 +60,9 @@
return Container(
'
',
Index: Mailman/Handlers/Decorate.py
---- Mailman/Handlers/Decorate.py.orig 2008-06-30 18:29:46 +0200
-+++ Mailman/Handlers/Decorate.py 2008-07-01 20:48:10 +0200
-@@ -197,6 +197,7 @@
+--- Mailman/Handlers/Decorate.py.orig 2009-02-23 22:23:35 +0100
++++ Mailman/Handlers/Decorate.py 2009-03-27 11:55:18 +0100
+@@ -205,6 +205,7 @@
del msg['content-transfer-encoding']
del msg['content-disposition']
msg['Content-Type'] = 'multipart/mixed'
@@ -69,9 +71,9 @@
Index: Mailman/Handlers/Scrubber.py
---- Mailman/Handlers/Scrubber.py.orig 2008-06-30 18:29:46 +0200
-+++ Mailman/Handlers/Scrubber.py 2008-07-01 20:48:10 +0200
-@@ -385,6 +385,8 @@
+--- Mailman/Handlers/Scrubber.py.orig 2009-02-23 22:23:35 +0100
++++ Mailman/Handlers/Scrubber.py 2009-03-27 11:55:18 +0100
+@@ -368,6 +368,8 @@
t = unicode(t, 'ascii', 'replace')
try:
# Should use HTML-Escape, or try generalizing to UTF-8
@@ -81,8 +83,8 @@
except (UnicodeError, LookupError, ValueError,
AssertionError):
Index: Mailman/Queue/OutgoingRunner.py
---- Mailman/Queue/OutgoingRunner.py.orig 2008-06-30 18:29:46 +0200
-+++ Mailman/Queue/OutgoingRunner.py 2008-07-01 20:48:10 +0200
+--- Mailman/Queue/OutgoingRunner.py.orig 2009-02-23 22:23:35 +0100
++++ Mailman/Queue/OutgoingRunner.py 2009-03-27 11:55:18 +0100
@@ -89,6 +89,7 @@
syslog('error', 'Cannot connect to SMTP server %s on port %s',
mm_cfg.SMTPHOST, port)
@@ -92,8 +94,8 @@
except Errors.SomeRecipientsFailed, e:
# Handle local rejects of probe messages differently.
Index: Mailman/htmlformat.py
---- Mailman/htmlformat.py.orig 2008-06-30 18:29:46 +0200
-+++ Mailman/htmlformat.py 2008-07-01 20:48:10 +0200
+--- Mailman/htmlformat.py.orig 2009-02-23 22:23:35 +0100
++++ Mailman/htmlformat.py 2009-03-27 11:55:18 +0100
@@ -300,7 +300,8 @@
charset = 'us-ascii'
if self.language:
@@ -105,8 +107,8 @@
kws.setdefault('bgcolor', self.bgcolor)
tab = ' ' * indent
Index: bin/check_perms
---- bin/check_perms.orig 2008-06-30 18:29:46 +0200
-+++ bin/check_perms 2008-07-01 20:48:10 +0200
+--- bin/check_perms.orig 2009-02-23 22:23:35 +0100
++++ bin/check_perms 2009-03-27 11:55:18 +0100
@@ -82,7 +82,7 @@
return os.stat(path)[ST_MODE]
@@ -117,8 +119,8 @@
seen = {}
Index: bin/config_list
---- bin/config_list.orig 2008-06-30 18:29:46 +0200
-+++ bin/config_list 2008-07-01 20:48:10 +0200
+--- bin/config_list.orig 2009-02-23 22:23:35 +0100
++++ bin/config_list 2009-03-27 11:55:18 +0100
@@ -307,6 +307,11 @@
in mm_cfg.OPTINFO.items()
if validval & bitval]
@@ -132,13 +134,12 @@
finally:
if savelist and not checkonly:
Index: bin/mailmanctl
---- bin/mailmanctl.orig 2008-06-30 18:29:46 +0200
-+++ bin/mailmanctl 2008-07-01 20:48:10 +0200
-@@ -417,6 +417,13 @@
- # won't be opening any terminal devices, don't do the ultra-paranoid
- # suggestion of doing a second fork after the setsid() call.
- os.setsid()
-+
+--- bin/mailmanctl.orig 2009-02-23 22:23:35 +0100
++++ bin/mailmanctl 2009-03-27 11:55:18 +0100
+@@ -424,6 +424,12 @@
+ os.dup2(devnull, 1)
+ os.dup2(devnull, 2)
+
+ # Be sure to close any open std{in,out,err}
+ devnull = os.open('/dev/null', 0)
+ os.dup2(devnull, 0)
@@ -149,9 +150,9 @@
os.chdir(mm_cfg.PREFIX)
# Set our file mode creation umask
Index: bin/newlist
---- bin/newlist.orig 2008-06-30 18:29:46 +0200
-+++ bin/newlist 2008-07-01 20:48:10 +0200
-@@ -87,6 +87,9 @@
+--- bin/newlist.orig 2009-02-23 22:23:35 +0100
++++ bin/newlist 2009-03-27 11:58:07 +0100
+@@ -88,12 +88,16 @@
defined in your Defaults.py file or overridden by settings in mm_cfg.py).
Note that listnames are forced to lowercase.
@@ -161,10 +162,9 @@
"""
import sys
-@@ -94,6 +97,7 @@
+ import os
import getpass
import getopt
- import sha
+import grp
import paths
@@ -179,7 +179,7 @@
try:
opts, args = getopt.getopt(sys.argv[1:], 'hql:u:e:',
['help', 'quiet', 'language=',
-@@ -203,7 +210,7 @@
+@@ -204,7 +211,7 @@
except Errors.BadListNameError, s:
usage(1, _('Illegal list name: %(s)s'))
except Errors.EmailAddressError, s:
@@ -189,9 +189,9 @@
usage(1, _('List already exists: %(listname)s'))
Index: bin/update
---- bin/update.orig 2008-06-30 18:29:46 +0200
-+++ bin/update 2008-07-01 20:48:10 +0200
-@@ -552,9 +552,11 @@
+--- bin/update.orig 2009-02-23 22:23:35 +0100
++++ bin/update 2009-03-27 11:55:18 +0100
+@@ -554,9 +554,11 @@
file20 = os.path.join(mm_cfg.DATA_DIR, 'pending_subscriptions.db')
file214 = os.path.join(mm_cfg.DATA_DIR, 'pending.pck')
db = None
@@ -203,7 +203,7 @@
except IOError, e:
if e.errno <> errno.ENOENT: raise
else:
-@@ -566,6 +568,7 @@
+@@ -568,6 +570,7 @@
# Try to load the Mailman 2.1.x where x < 5, file
try:
fp = open(file214)
@@ -211,7 +211,7 @@
except IOError, e:
if e.errno <> errno.ENOENT: raise
else:
-@@ -599,8 +602,12 @@
+@@ -601,8 +604,12 @@
# data[0] is the address being unsubscribed
addrops_by_address.setdefault(data[0], []).append((key, val))
elif op == Pending.SUBSCRIPTION:
@@ -227,9 +227,9 @@
elif op == Pending.RE_ENABLE:
# data[0] is the mailing list's internal name
Index: scripts/driver
---- scripts/driver.orig 2008-06-30 18:29:46 +0200
-+++ scripts/driver 2008-07-01 20:48:10 +0200
-@@ -95,6 +95,15 @@
+--- scripts/driver.orig 2009-02-23 22:23:35 +0100
++++ scripts/driver 2009-03-27 11:55:18 +0100
+@@ -98,6 +98,15 @@
module = getattr(pkg, scriptname)
main = getattr(module, 'main')
try: