Dennis Putnam wrote:

>The MTA that delivers to mailman is postfix but as I said above, the
>issue is that I have to use fetchmail. As far as mailman is concerned it
>is indeed going to list-request so the actual address used by list
>members is transparent to mailman. That is why I need to munge the
>Reply-To header for confirmations.

And:

>Actually no. There is only 1 list that otherwise exceeds this limit. The
>mapping can be deduced programmatically. It is simply the list name
>prepended to 'req' rather than prepended to '-request'.


The attached MailList.patch.txt patch (with an appropriate value for
MAGIC_LENGTH) or something like it should do what you want for the
-request address.

The attached MailList.patch2.txt patch is a slight modification that
handles substituting listabc for list-abcdef for any abcdef.

-- 
Mark Sapiro <[EMAIL PROTECTED]>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

--- c:/test-mailman-2.2/Mailman/MailList.py     2008-08-22 15:48:58.500000000 
-0700
+++ c:/test-mailman/Mailman/MailList.py 2008-11-02 21:49:50.447344300 -0800
@@ -75,6 +75,8 @@
 
 EMPTYSTRING = ''
 OR = '|'
+# The magic listname length beyond which list-request becomes listreq
+MAGIC_LENGTH = 10
 
 try:
     True, False
@@ -188,6 +190,8 @@
     def getListAddress(self, extra=None):
         if extra is None:
             return '[EMAIL PROTECTED]' % (self.internal_name(), self.host_name)
+        if len(self.internal_name()) > MAGIC_LENGTH and extra == 'request':
+            return '[EMAIL PROTECTED]' % (self.internal_name(), self.host_name)
         return '[EMAIL PROTECTED]' % (self.internal_name(), extra, 
self.host_name)
 
     # For backwards compatibility
--- c:/test-mailman-2.2/Mailman/MailList.py     2008-08-22 15:48:58.500000000 
-0700
+++ c:/test-mailman/Mailman/MailList.py 2008-11-02 21:49:50.447344300 -0800
@@ -75,6 +75,8 @@
 
 EMPTYSTRING = ''
 OR = '|'
+# The magic listname length beyond which list-request becomes listreq
+MAGIC_LENGTH = 10
 
 try:
     True, False
@@ -188,6 +190,8 @@
     def getListAddress(self, extra=None):
         if extra is None:
             return '[EMAIL PROTECTED]' % (self.internal_name(), self.host_name)
+        if len(self.internal_name()) > MAGIC_LENGTH:
+            return '[EMAIL PROTECTED]' % (self.internal_name(), extra[:3], 
self.host_name)
         return '[EMAIL PROTECTED]' % (self.internal_name(), extra, 
self.host_name)
 
     # For backwards compatibility
------------------------------------------------------
Mailman-Users mailing list
Mailman-Users@python.org
http://mail.python.org/mailman/listinfo/mailman-users
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-users/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Reply via email to