The Anarcat <[EMAIL PROTECTED]> wrote: > [sourceforge seems to be down, so I post this here]
> Hi there, > We developped a reliable solution for running lists with the same name > on different domains on the same Mailman installation. > I implemented that on top of the Mailman 2.1.1-5.1 Debian stable > package. All that is needed is to patch 2 files (bin/newlist, > Mailman/MailList.py) in the mailman install, and here is the patch: > http://bugs.koumbit.net/file_download.php?file_id=3&type=bug > There's only one caveat right now: Mailman/Cgi/create.py might need to > get patched too, but I haven't got around looking at it yet, and it > "just works", for now. I've implemented a patch like this some time ago, and it has somewhat grown during time due to various bugs we found out. I didn't check your patch, since I'm writing this offline, but here are some gotchas that weren't so obvious for us: _setValue in Mailman/Gui/General.py has to be patched, or your list admins won't be able to make real_name case changes. This bug can also be found in (some?) cPanel versions. There's also some usage of internal_name in HasExplicitDest() in MailList.py, which would make Mailman hold messages errorneously under certain circumstances: -------------- diff -Nru mailman-2.1.4/Mailman/MailList.py mailman-2.1.4.patched/Mailman/MailList.py --- mailman-2.1.4/Mailman/MailList.py 2003-12-01 01:54:16.000000000 +0100 +++ mailman-2.1.4.patched/Mailman/MailList.py 2004-01-09 15:22:16.463664000 +0100 @@ -1243,7 +1243,7 @@ to or cc addrs.""" # BAW: fall back to Utils.ParseAddr if the first test fails. # this is the list's full address - listfullname = '[EMAIL PROTECTED]' % (self.internal_name(), self.host_name) + listfullname = self.getListAddress() recips = [] # check all recipient addresses against the list's explicit addresses, # specifically To: Cc: and Resent-to: @@ -1259,7 +1259,7 @@ addr = addr.lower() localpart = addr.split('@')[0] if (# TBD: backwards compatibility: deprecated - localpart == self.internal_name() or + localpart == self.real_name.lower() or # exact match against the complete list address addr == listfullname): return 1 -------------- > All it does is to add the domain to the internal_name() of a list. The > real_name is kept as is, and the getListAddress() does the Right Thing. Hope you did not forget to use .lower() on self.real_name in getListAddress(), like we did. ;-) There, so you now know all the mistakes we made (and found out about). Regards, Zoran _______________________________________________ Mailman-Developers mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-developers Unsubscribe: http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org
