On 05/28/2013 04:48 AM, Graham Leggett wrote:
> 
> Here is another small issue, when VIRTUAL_HOST_OVERVIEW was switched off to 
> allow all virtual lists to appear on the same host, the host_name of the list 
> wasn't passed in the URL. The attached patch fixes this.
> 
> diff -u -r mailman-2.1.12/Mailman/MailList.py 
> mailman-2.1.12-patched/Mailman/MailList.py
> --- mailman-2.1.12/Mailman/MailList.py  2013-05-28 10:39:09.333154778 +0000
> +++ mailman-2.1.12-patched/Mailman/MailList.py  2013-05-28 10:40:57.874209489 
> +0000
> @@ -252,6 +252,9 @@
>      def GetScriptURL(self, scriptname, absolute=0):
>          # Using "local_part" here works for both site wide lists on
>          # the default url host and for vhost lists on the vhost url host.
> +        if not mm_cfg.VIRTUAL_HOST_OVERVIEW:
> +            return Utils.ScriptURL(scriptname, self.web_page_url, absolute) 
> + \
> +                   '/' + self.local_part + '@' + self.host_name
>          return Utils.ScriptURL(scriptname, self.web_page_url, absolute) + \
>                 '/' + self.local_part
>  


Actually, that patch is not what's required. The comment is wrong.
@hostname is required for all vhosts lists regardless of the host name
in the URL or the setting of VIRTUAL_HOST_OVERVIEW.

A correct patch is attached.

As for the patch below, I see what you're trying to do, but I'm nervous
about untended consequences of creating lists in domains not in
VIRTUAL_HOSTS. I think the patch should be OK, but as I say, I'm nervous
about it.

I will definitely commit the attached patch, and I'll think about the
other. Do you have any motivation for it other than just not wanting to
bother with adding add_virtualhost() to mm_cfg.py?


> diff -u -r mailman-2.1.12/bin/newlist mailman-2.1.12-patched/bin/newlist
> --- mailman-2.1.12/bin/newlist  2013-05-28 10:39:09.339158852 +0000
> +++ mailman-2.1.12-patched/bin/newlist  2013-05-28 10:21:04.730131451 +0000
> @@ -165,7 +165,7 @@
>              emailhost = domain
>          elif emailhost != domain:
>              usage(1, C_('You cannot use an email host different from the 
> domain part of the list name.'))
> -        if not mm_cfg.VIRTUAL_HOSTS.has_key(urlhost):
> +        if mm_cfg.VIRTUAL_HOST_OVERVIEW and not 
> mm_cfg.VIRTUAL_HOSTS.has_key(urlhost):
>              _urlhost = repr(urlhost)
>              _emailhost = repr(emailhost)
>              usage(1, C_('The Mailman config file lacks a line mapping 
> urlhost to emailhost:\n  add_virtualhost(%(_urlhost)s,\n                  
> %(_emailhost)s)'))

-- 
Mark Sapiro <m...@msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan
--- ../vhost/Mailman/MailList.py        2013-05-25 16:00:50.930182026 -0700
+++ Mailman/MailList.py 2013-05-28 16:26:36.696692828 -0700
@@ -250,10 +250,10 @@
             return "%s%s@%s" % (acct, self.umbrella_member_suffix, host)
 
     def GetScriptURL(self, scriptname, absolute=0):
-        # 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
+        return '%s/%s' % (
+                Utils.ScriptURL(scriptname, self.web_page_url, absolute),
+                self.internal_name()
+                )
 
     def GetOptionsURL(self, user, obscure=0, absolute=0):
         url = self.GetScriptURL('options', absolute)
_______________________________________________
Mailman-Developers mailing list
Mailman-Developers@python.org
http://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
http://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

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

Reply via email to