From cbb9bf129882a335f3cb0cbf9269ef05a57157df Mon Sep 17 00:00:00 2001 From: Francesco Chemolli <5175948+kinkie@users.noreply.github.com> Date: Fri, 2 Feb 2024 13:35:39 +0000 Subject: [PATCH] Use AnyP::Uri::Decode() for url_regex checks (#1658) --- src/acl/Url.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/acl/Url.cc b/src/acl/Url.cc index 6e9e91a754..76cd91258e 100644 --- a/src/acl/Url.cc +++ b/src/acl/Url.cc @@ -11,18 +11,17 @@ #include "squid.h" #include "acl/FilledChecklist.h" #include "acl/Url.h" +#include "anyp/Uri.h" #include "HttpRequest.h" -#include "rfc1738.h" int Acl::UrlCheck::match(ACLChecklist * const ch) { const auto checklist = Filled(ch); - char *esc_buf = SBufToCstring(checklist->request->effectiveRequestUri()); - rfc1738_unescape(esc_buf); - int result = data->match(esc_buf); - xfree(esc_buf); + // TODO: Consider refactoring so that effectiveRequestUri() returns decoded URI. + auto decodedUri = AnyP::Uri::Decode(checklist->request->effectiveRequestUri()); + const auto result = data->match(decodedUri.c_str()); return result; } -- 2.47.3