mailman/mailman.patch

changeset 371
3d7d8c68b2fc
parent 7
5443cb9b550a
child 631
08b1736686fa
     1.1 --- a/mailman/mailman.patch	Tue Sep 20 15:24:08 2011 +0200
     1.2 +++ b/mailman/mailman.patch	Tue Sep 20 17:37:48 2011 +0200
     1.3 @@ -1,42 +1,44 @@
     1.4  Index: Mailman/Archiver/pipermail.py
     1.5 ---- Mailman/Archiver/pipermail.py.orig	2008-06-30 18:29:46 +0200
     1.6 -+++ Mailman/Archiver/pipermail.py	2008-07-01 20:48:10 +0200
     1.7 -@@ -122,9 +122,9 @@
     1.8 -         parentID = article.parentID
     1.9 +--- Mailman/Archiver/pipermail.py.orig	2009-02-23 22:23:35 +0100
    1.10 ++++ Mailman/Archiver/pipermail.py	2009-03-27 11:55:18 +0100
    1.11 +@@ -123,9 +123,10 @@
    1.12           if parentID is not None and self.articleIndex.has_key(parentID):
    1.13               parent = self.getArticle(archive, parentID)
    1.14 --            myThreadKey = parent.threadKey + article.date + '-'
    1.15 -+            myThreadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
    1.16 +             myThreadKey = (parent.threadKey + article.date + '.'
    1.17 +-                           + str(article.sequence) + '-')
    1.18 ++                           + str(article.sequence)
    1.19 ++                           + '/' + article.msgid + '-')
    1.20           else:
    1.21 --            myThreadKey = article.date + '-'
    1.22 -+            myThreadKey = article.date + '/' + article.msgid + '-'
    1.23 +-            myThreadKey = article.date + '.' + str(article.sequence) + '-'
    1.24 ++            myThreadKey = article.date + '.' + str(article.sequence) + '/' + article.msgid + '-'
    1.25           article.threadKey = myThreadKey
    1.26           key = myThreadKey, article.msgid
    1.27           self.setThreadKey(archive, key, article.msgid)
    1.28 -@@ -418,7 +418,7 @@
    1.29 -                 else:
    1.30 +@@ -420,7 +421,7 @@
    1.31                       parent = self.database.getArticle(self.archive,
    1.32                                                       article.parentID)
    1.33 --                    article.threadKey = parent.threadKey+article.date+'-'
    1.34 -+                    article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
    1.35 +                     article.threadKey = (parent.threadKey + article.date + '.'
    1.36 +-                                         + str(article.sequence) + '-')
    1.37 ++                                         + str(article.sequence) + '/' + article.msgid + '-')
    1.38                   self.database.setThreadKey(self.archive,
    1.39                       (article.threadKey, article.msgid),
    1.40                       msgid)
    1.41 -@@ -632,9 +632,9 @@
    1.42 -             article.parentID = parentID = self.get_parent_info(arch, article)
    1.43 +@@ -635,10 +636,10 @@
    1.44               if parentID:
    1.45                   parent = self.database.getArticle(arch, parentID)
    1.46 --                article.threadKey = parent.threadKey + article.date + '-'
    1.47 -+                article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
    1.48 +                 article.threadKey = (parent.threadKey + article.date + '.'
    1.49 +-                                     + str(article.sequence) + '-')
    1.50 ++                                     + str(article.sequence) + '/' + article.msgid + '-')
    1.51               else:
    1.52 --                article.threadKey = article.date + '-'
    1.53 -+                article.threadKey = article.date + '/' + article.msgid + '-'
    1.54 +                 article.threadKey = (article.date + '.'
    1.55 +-                                     + str(article.sequence) + '-')
    1.56 ++                                     + str(article.sequence) + '/' + article.msgid + '-')
    1.57               key = article.threadKey, article.msgid
    1.58   
    1.59               self.database.setThreadKey(arch, key, article.msgid)
    1.60  Index: Mailman/Commands/cmd_subscribe.py
    1.61 ---- Mailman/Commands/cmd_subscribe.py.orig	2008-06-30 18:29:46 +0200
    1.62 -+++ Mailman/Commands/cmd_subscribe.py	2008-07-01 20:48:10 +0200
    1.63 +--- Mailman/Commands/cmd_subscribe.py.orig	2009-02-23 22:23:35 +0100
    1.64 ++++ Mailman/Commands/cmd_subscribe.py	2009-03-27 11:55:18 +0100
    1.65  @@ -84,6 +84,7 @@
    1.66       if password is None:
    1.67           password = Utils.MakeRandomPassword()
    1.68 @@ -46,8 +48,8 @@
    1.69           if not address:
    1.70               # Fall back to the sender address
    1.71  Index: Mailman/HTMLFormatter.py
    1.72 ---- Mailman/HTMLFormatter.py.orig	2008-06-30 18:29:46 +0200
    1.73 -+++ Mailman/HTMLFormatter.py	2008-07-01 20:48:10 +0200
    1.74 +--- Mailman/HTMLFormatter.py.orig	2009-02-23 22:23:35 +0100
    1.75 ++++ Mailman/HTMLFormatter.py	2009-03-27 11:55:18 +0100
    1.76  @@ -44,7 +44,7 @@
    1.77           realname = self.real_name
    1.78           hostname = self.host_name
    1.79 @@ -58,9 +60,9 @@
    1.80           return Container(
    1.81               '<hr>',
    1.82  Index: Mailman/Handlers/Decorate.py
    1.83 ---- Mailman/Handlers/Decorate.py.orig	2008-06-30 18:29:46 +0200
    1.84 -+++ Mailman/Handlers/Decorate.py	2008-07-01 20:48:10 +0200
    1.85 -@@ -197,6 +197,7 @@
    1.86 +--- Mailman/Handlers/Decorate.py.orig	2009-02-23 22:23:35 +0100
    1.87 ++++ Mailman/Handlers/Decorate.py	2009-03-27 11:55:18 +0100
    1.88 +@@ -205,6 +205,7 @@
    1.89       del msg['content-transfer-encoding']
    1.90       del msg['content-disposition']
    1.91       msg['Content-Type'] = 'multipart/mixed'
    1.92 @@ -69,9 +71,9 @@
    1.93   
    1.94   
    1.95  Index: Mailman/Handlers/Scrubber.py
    1.96 ---- Mailman/Handlers/Scrubber.py.orig	2008-06-30 18:29:46 +0200
    1.97 -+++ Mailman/Handlers/Scrubber.py	2008-07-01 20:48:10 +0200
    1.98 -@@ -385,6 +385,8 @@
    1.99 +--- Mailman/Handlers/Scrubber.py.orig	2009-02-23 22:23:35 +0100
   1.100 ++++ Mailman/Handlers/Scrubber.py	2009-03-27 11:55:18 +0100
   1.101 +@@ -368,6 +368,8 @@
   1.102                       t = unicode(t, 'ascii', 'replace')
   1.103                   try:
   1.104                       # Should use HTML-Escape, or try generalizing to UTF-8
   1.105 @@ -81,8 +83,8 @@
   1.106                   except (UnicodeError, LookupError, ValueError,
   1.107                           AssertionError):
   1.108  Index: Mailman/Queue/OutgoingRunner.py
   1.109 ---- Mailman/Queue/OutgoingRunner.py.orig	2008-06-30 18:29:46 +0200
   1.110 -+++ Mailman/Queue/OutgoingRunner.py	2008-07-01 20:48:10 +0200
   1.111 +--- Mailman/Queue/OutgoingRunner.py.orig	2009-02-23 22:23:35 +0100
   1.112 ++++ Mailman/Queue/OutgoingRunner.py	2009-03-27 11:55:18 +0100
   1.113  @@ -89,6 +89,7 @@
   1.114                   syslog('error', 'Cannot connect to SMTP server %s on port %s',
   1.115                          mm_cfg.SMTPHOST, port)
   1.116 @@ -92,8 +94,8 @@
   1.117           except Errors.SomeRecipientsFailed, e:
   1.118               # Handle local rejects of probe messages differently.
   1.119  Index: Mailman/htmlformat.py
   1.120 ---- Mailman/htmlformat.py.orig	2008-06-30 18:29:46 +0200
   1.121 -+++ Mailman/htmlformat.py	2008-07-01 20:48:10 +0200
   1.122 +--- Mailman/htmlformat.py.orig	2009-02-23 22:23:35 +0100
   1.123 ++++ Mailman/htmlformat.py	2009-03-27 11:55:18 +0100
   1.124  @@ -300,7 +300,8 @@
   1.125           charset = 'us-ascii'
   1.126           if self.language:
   1.127 @@ -105,8 +107,8 @@
   1.128               kws.setdefault('bgcolor', self.bgcolor)
   1.129               tab = ' ' * indent
   1.130  Index: bin/check_perms
   1.131 ---- bin/check_perms.orig	2008-06-30 18:29:46 +0200
   1.132 -+++ bin/check_perms	2008-07-01 20:48:10 +0200
   1.133 +--- bin/check_perms.orig	2009-02-23 22:23:35 +0100
   1.134 ++++ bin/check_perms	2009-03-27 11:55:18 +0100
   1.135  @@ -82,7 +82,7 @@
   1.136       return os.stat(path)[ST_MODE]
   1.137   
   1.138 @@ -117,8 +119,8 @@
   1.139   
   1.140   seen = {}
   1.141  Index: bin/config_list
   1.142 ---- bin/config_list.orig	2008-06-30 18:29:46 +0200
   1.143 -+++ bin/config_list	2008-07-01 20:48:10 +0200
   1.144 +--- bin/config_list.orig	2009-02-23 22:23:35 +0100
   1.145 ++++ bin/config_list	2009-03-27 11:55:18 +0100
   1.146  @@ -307,6 +307,11 @@
   1.147                                       in mm_cfg.OPTINFO.items()
   1.148                                       if validval & bitval]
   1.149 @@ -132,13 +134,12 @@
   1.150       finally:
   1.151           if savelist and not checkonly:
   1.152  Index: bin/mailmanctl
   1.153 ---- bin/mailmanctl.orig	2008-06-30 18:29:46 +0200
   1.154 -+++ bin/mailmanctl	2008-07-01 20:48:10 +0200
   1.155 -@@ -417,6 +417,13 @@
   1.156 -         # won't be opening any terminal devices, don't do the ultra-paranoid
   1.157 -         # suggestion of doing a second fork after the setsid() call.
   1.158 -         os.setsid()
   1.159 -+
   1.160 +--- bin/mailmanctl.orig	2009-02-23 22:23:35 +0100
   1.161 ++++ bin/mailmanctl	2009-03-27 11:55:18 +0100
   1.162 +@@ -424,6 +424,12 @@
   1.163 +         os.dup2(devnull, 1)
   1.164 +         os.dup2(devnull, 2)
   1.165 + 
   1.166  +        # Be sure to close any open std{in,out,err}
   1.167  +        devnull = os.open('/dev/null', 0)
   1.168  +        os.dup2(devnull, 0)
   1.169 @@ -149,9 +150,9 @@
   1.170           os.chdir(mm_cfg.PREFIX)
   1.171           # Set our file mode creation umask
   1.172  Index: bin/newlist
   1.173 ---- bin/newlist.orig	2008-06-30 18:29:46 +0200
   1.174 -+++ bin/newlist	2008-07-01 20:48:10 +0200
   1.175 -@@ -87,6 +87,9 @@
   1.176 +--- bin/newlist.orig	2009-02-23 22:23:35 +0100
   1.177 ++++ bin/newlist	2009-03-27 11:58:07 +0100
   1.178 +@@ -88,12 +88,16 @@
   1.179   defined in your Defaults.py file or overridden by settings in mm_cfg.py).
   1.180   
   1.181   Note that listnames are forced to lowercase.
   1.182 @@ -161,10 +162,9 @@
   1.183   """
   1.184   
   1.185   import sys
   1.186 -@@ -94,6 +97,7 @@
   1.187 + import os
   1.188   import getpass
   1.189   import getopt
   1.190 - import sha
   1.191  +import grp
   1.192   
   1.193   import paths
   1.194 @@ -179,7 +179,7 @@
   1.195       try:
   1.196           opts, args = getopt.getopt(sys.argv[1:], 'hql:u:e:',
   1.197                                      ['help', 'quiet', 'language=',
   1.198 -@@ -203,7 +210,7 @@
   1.199 +@@ -204,7 +211,7 @@
   1.200           except Errors.BadListNameError, s:
   1.201               usage(1, _('Illegal list name: %(s)s'))
   1.202           except Errors.EmailAddressError, s:
   1.203 @@ -189,9 +189,9 @@
   1.204               usage(1, _('List already exists: %(listname)s'))
   1.205   
   1.206  Index: bin/update
   1.207 ---- bin/update.orig	2008-06-30 18:29:46 +0200
   1.208 -+++ bin/update	2008-07-01 20:48:10 +0200
   1.209 -@@ -552,9 +552,11 @@
   1.210 +--- bin/update.orig	2009-02-23 22:23:35 +0100
   1.211 ++++ bin/update	2009-03-27 11:55:18 +0100
   1.212 +@@ -554,9 +554,11 @@
   1.213       file20 = os.path.join(mm_cfg.DATA_DIR, 'pending_subscriptions.db')
   1.214       file214 = os.path.join(mm_cfg.DATA_DIR, 'pending.pck')
   1.215       db = None
   1.216 @@ -203,7 +203,7 @@
   1.217       except IOError, e:
   1.218           if e.errno <> errno.ENOENT: raise
   1.219       else:
   1.220 -@@ -566,6 +568,7 @@
   1.221 +@@ -568,6 +570,7 @@
   1.222           # Try to load the Mailman 2.1.x where x < 5, file
   1.223           try:
   1.224               fp = open(file214)
   1.225 @@ -211,7 +211,7 @@
   1.226           except IOError, e:
   1.227               if e.errno <> errno.ENOENT: raise
   1.228           else:
   1.229 -@@ -599,8 +602,12 @@
   1.230 +@@ -601,8 +604,12 @@
   1.231               # data[0] is the address being unsubscribed
   1.232               addrops_by_address.setdefault(data[0], []).append((key, val))
   1.233           elif op == Pending.SUBSCRIPTION:
   1.234 @@ -227,9 +227,9 @@
   1.235           elif op == Pending.RE_ENABLE:
   1.236               # data[0] is the mailing list's internal name
   1.237  Index: scripts/driver
   1.238 ---- scripts/driver.orig	2008-06-30 18:29:46 +0200
   1.239 -+++ scripts/driver	2008-07-01 20:48:10 +0200
   1.240 -@@ -95,6 +95,15 @@
   1.241 +--- scripts/driver.orig	2009-02-23 22:23:35 +0100
   1.242 ++++ scripts/driver	2009-03-27 11:55:18 +0100
   1.243 +@@ -98,6 +98,15 @@
   1.244           module = getattr(pkg, scriptname)
   1.245           main = getattr(module, 'main')
   1.246           try:

mercurial