Trailing slash is stripped from List-Archive: URL

Bug #964190 reported by Mark Sapiro
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Mailman
Fix Released
Low
Mark Sapiro

Bug Description

In creating the List-Archive: header, CookHeaders.py strips a trailing slash from the URL returned by mlist.GetBaseArchiveURL(). It has always (in 2.1) done this, but it is wrong.

Consider a list's archive TOC page which has entries like the following:

<tr>
            <td>March 2012:</td>
            <td>
              <A href="2012-March/thread.html">[ Thread ]</a>
              <A href="2012-March/subject.html">[ Subject ]</a>
              <A href="2012-March/author.html">[ Author ]</a>
              <A href="2012-March/date.html">[ Date ]</a>
            </td>
            <td><A href="2012-March.txt">[ Text 766 KB ]</a></td>
            </tr>

If the base archive URL is http://www.example.com/private/listname/ and one goes to that URL, the relative hrefs all work fine, but if one goes to http://www.example.com/private/listname instead, those relative hrefs become relative to private/ instead of private/listname/, and one gets 'no such list: 2012-march' errors (or 404 errors in the case of public 'pipermail' URLs).

Revision history for this message
Mark Sapiro (msapiro) wrote :

I don't think this issue actually affects public (pipermail) URLs because in those cases the web server is serving static HTML and knows the /listname is a directory. It also can be worked around for private URLs by putting an appropriate rewrite rule in the web server, but this fix is still correct, and shouldn't cause any harm.

Changed in mailman:
status: New → Fix Committed
Revision history for this message
Bernard (unowned60) wrote : Re: [Bug 964190] Re: Trailing slash is stripped from List-Archive: URL

if i am outdoors, GNU-Mailman??

2012/3/25 Mark Sapiro <email address hidden>

> I don't think this issue actually affects public (pipermail) URLs
> because in those cases the web server is serving static HTML and knows
> the /listname is a directory. It also can be worked around for private
> URLs by putting an appropriate rewrite rule in the web server, but this
> fix is still correct, and shouldn't cause any harm.
>
> ** Changed in: mailman
> Status: New => Fix Committed
>
> --
> You received this bug notification because you are subscribed to GNU
> Mailman.
> Matching subscriptions: 24/7
> https://bugs.launchpad.net/bugs/964190
>
> Title:
> Trailing slash is stripped from List-Archive: URL
>
> Status in GNU Mailman:
> Fix Committed
>
> Bug description:
> In creating the List-Archive: header, CookHeaders.py strips a trailing
> slash from the URL returned by mlist.GetBaseArchiveURL(). It has
> always (in 2.1) done this, but it is wrong.
>
> Consider a list's archive TOC page which has entries like the
> following:
>
> <tr>
> <td>March 2012:</td>
> <td>
> <A href="2012-March/thread.html">[ Thread ]</a>
> <A href="2012-March/subject.html">[ Subject ]</a>
> <A href="2012-March/author.html">[ Author ]</a>
> <A href="2012-March/date.html">[ Date ]</a>
> </td>
> <td><A href="2012-March.txt">[ Text 766 KB ]</a></td>
> </tr>
>
> If the base archive URL is http://www.example.com/private/listname/
> and one goes to that URL, the relative hrefs all work fine, but if one
> goes to http://www.example.com/private/listname instead, those
> relative hrefs become relative to private/ instead of
> private/listname/, and one gets 'no such list: 2012-march' errors (or
> 404 errors in the case of public 'pipermail' URLs).
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mailman/+bug/964190/+subscriptions
>

Mark Sapiro (msapiro)
Changed in mailman:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.