diff options
Diffstat (limited to 'patches/mailman.patch')
-rw-r--r-- | patches/mailman.patch | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/patches/mailman.patch b/patches/mailman.patch new file mode 100644 index 0000000..1688e69 --- /dev/null +++ b/patches/mailman.patch @@ -0,0 +1,76 @@ +diff -u mailman/Mailman/HTMLFormatter.py vhost/Mailman/HTMLFormatter.py +--- mailman/Mailman/HTMLFormatter.py ++++ vhost/Mailman/HTMLFormatter.py +@@ -382,7 +382,8 @@ + d = { + '<mm-mailman-footer>' : self.GetMailmanFooter(), + '<mm-list-name>' : self.real_name, +- '<mm-email-user>' : self._internal_name, ++ '<mm-email-user>' : self.local_part, ++ '<mm-complete-name>' : self.internal_name(), + '<mm-list-description>' : Utils.websafe(self.description), + '<mm-list-info>' : + '<!---->' + BR.join(self.info.split(NL)) + '<!---->', +diff -u mailman/Mailman/MailList.py vhost/Mailman/MailList.py +--- mailman/Mailman/MailList.py ++++ vhost/Mailman/MailList.py +@@ -253,7 +253,7 @@ + # Using "local_part" here works for both site wide lists on + # the default url host and for vhost lists on the vhost url host. + return Utils.ScriptURL(scriptname, self.web_page_url, absolute) + \ +- '/' + self.local_part ++ '/' + self._internal_name + + def GetOptionsURL(self, user, obscure=0, absolute=0): + url = self.GetScriptURL('options', absolute) +diff -u mailman/Mailman/Archiver/Archiver.py vhost/Mailman/Archiver/Archiver.py +--- mailman/Mailman/Archiver/Archiver.py ++++ vhost/Mailman/Archiver/Archiver.py +@@ -162,7 +162,7 @@ + if hostname == mm_cfg.DEFAULT_URL_HOST: +- fullname = self.local_part ++ fullname = self._internal_name + else: +- fullname = os.path.join(hostname, self.local_part) ++ fullname = os.path.join(hostname, self._internal_name) + url = mm_cfg.PUBLIC_ARCHIVE_URL % { + 'listname': fullname, + 'hostname': hostname +diff -u mailman/Mailman/Handlers/Decorate.py vhost/Mailman/Handlers/Decorate.py +--- mailman/Mailman/Handlers/Decorate.py ++++ vhost/Mailman/Handlers/Decorate.py +@@ -221,7 +221,7 @@ + d = SafeDict({'real_name' : mlist.real_name, + 'list_name' : mlist.local_part, + # For backwards compatibility +- '_internal_name': mlist.local_part, ++ '_internal_name': mlist._internal_name, + 'host_name' : mlist.host_name, + 'web_page_url' : mlist.web_page_url, + 'description' : mlist.description, +diff -u lib/bin/postfix-to-mailman.py vhost/bin/postfix-to-mailman.py +--- mailman/bin/postfix-to-mailman.py ++++ vhost/bin/postfix-to-mailman.py +@@ -111,6 +111,11 @@ + 'mailman_destination_recipient_limit=1 ' + 'in main.cf?') + sys.exit(EX_USAGE) ++ try: ++ l,d = local.split('#',2) ++ local = '%s@%s' % (l,d) ++ except ValueError: ++ l,d = local, None + + # Redirect required addresses to + if local in ('postmaster', 'abuse', 'mailer-daemon'): +@@ -140,8 +145,9 @@ + '-subscribe', + '-unsubscribe', + ): +- if local.endswith(ext): +- mlist = local[:-len(ext)] ++ if l.endswith(ext): ++ mlist = l[:-len(ext)] ++ if d: mlist = '%s@%s' % (mlist,d) + func = ext[1:] + break |