Using plus (+) in list name
Sun Aug 21 20:53:38 GMT 2022
Mark Wielaard <firstname.lastname@example.org> wrote:
> We are setting up a public-inbox instance for cygwin/gcc/sourceware
> lists at https://inbox.sourceware.org/ and it seems to work pretty
> nicely. Thanks. Except for lists which have a + in their name like
> I assume this needs some escaping somewhere, but I cannot figure out
> where. The .public-inbox/config snippet looks like:
I seem to remember '+' is OK as-is in the path component of HTTP URLs,
but is escaping for ' ' (SP) in query strings.
At least it's OK for a git-config section name:
> [publicinbox "libstdc++"]
> address = email@example.com
> url = https://inbox.sourceware.org/libstdc++
> inboxdir = /home/inbox/lists/libstdc++
> indexlevel = full
> newsgroup = inbox.gcc.libstdc++
> listid = libstdc++.gcc.gnu.org
> This seems to work fine for nntp and imap, but not https.
Interesting that NNTP and IMAP work (I wasn't expecting it :x).
I can't remember off the top of my head, but is '+' allowed by
the relevant NNTP and List-Id RFCs?
Anyways, good to see public-inbox getting more adoption :>
> It does work when replacing the ++ with pp in the list name and
> url. But that looks somewhat odd imho. And the name with ++ can be
> used with e.g. mailman:
> Is there some way to configure public-inbox-http to be able to use ++
> in list names and urls?
> We are using the EPEL public-inbox package public-inbox-1.7.0-2.el8.noarch
Totally untested, but perhaps changing $INBOX_RE in
PublicInbox/WWW.pm will work:
diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm
index b9b68382..77f463d3 100644
@@ -23,7 +23,7 @@ use PublicInbox::WwwStatic qw(r path_info_raw);
# TODO: consider a routing tree now that we have more endpoints:
-our $INBOX_RE = qr!\A/([\w\-][\w\.\-]*)!;
+our $INBOX_RE = qr!\A/([\w\-][\w\.\-\+]*)!;
our $MID_RE = qr!([^/]+)!;
our $END_RE = qr!(T/|t/|t\.mbox(?:\.gz)?|t\.atom|raw|)!;
our $ATTACH_RE = qr!([0-9][0-9\.]*)-($PublicInbox::Hval::FN)!;
More information about the Overseers