From 5dc16850c64bbf2b7a7f4e7634a39901a729c2d3 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Mon, 13 Apr 2020 17:06:28 -0700 Subject: [PATCH] ircd::rfc3986: Relax decoder to allow already-decoded inputs. --- ircd/rfc3986.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ircd/rfc3986.cc b/ircd/rfc3986.cc index 5004b362d..e41d7f2bb 100644 --- a/ircd/rfc3986.cc +++ b/ircd/rfc3986.cc @@ -445,7 +445,11 @@ struct ircd::rfc3986::decoder const rule unreserved_char { // unreserved characters and !$+*'(), - char_("A-Za-z0-9._~!$+*'(),-") + //char_("A-Za-z0-9._~!$+*'(),-") + + //NOTE: allow any printable character here. No reason for trouble with + //NOTE: already-decoded inputs unless some other grammar expects it. + ascii::print - '%' ,"url unreserved characters" };