Package: mailman Severity: wishlist Tags: patch Hi, We're running one mailman installation for mailing lists of several different domains. And we don't want mail sent to <listA>@<domain1> to be accepted when <listA> is set up for <domain2>.
Attached patch makes it possible to configure postfix-to-mailman.py in a way that it only accepts mails when they are send to the right domain. I've called the configure parameter DEB_PUREVIRTUAL, to reflect the fact that this results in a pure virtual domain setting. And it obviously defaults to off. Sjoerd -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (101, 'experimental') Architecture: powerpc (ppc) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.15-rc4-powerpc Locale: LANG=C, [EMAIL PROTECTED] (charmap=ISO-8859-15)
--- ./debian/contrib/postfix-to-mailman.py 2005-12-28 18:52:28.000000000 +0100 +++ /tmp/postfix-to-mailman.py 2005-12-28 18:52:55.000000000 +0100 @@ -85,6 +85,17 @@ from Mailman import mm_cfg +def check_virtual(mlist, domain): + try: + if not mm_cfg.DEB_PUREVIRTUAL: + return True + except AttributeError: + return True + # Check if the given list actually exists on this domain + from Mailman import MailList + m = MailList.MailList(mlist, lock=False) + return m.host_name == domain + def main(): os.nice(5) # Handle mailing lists at non-interactive priority. # delete this if you wish @@ -134,7 +145,7 @@ # Let Mailman decide if a list exists. from Mailman.Utils import list_exists - if list_exists(mlist): + if list_exists(mlist) and check_virtual(mlist, domain): mm_pgm = os.path.join(paths.prefix, 'mail', 'mailman') os.execv(mm_pgm, (mm_pgm, func, mlist)) # NOT REACHED