From 474887f30d442b6f18ec9e8f3335cc73fee6551d Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Fri, 8 May 2020 20:02:54 +0200 Subject: Fix path matching --- config.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/config.cpp b/config.cpp index 26af2b5..bc09af9 100644 --- a/config.cpp +++ b/config.cpp @@ -257,7 +257,10 @@ const Path& Config::GetPath(const Socket& socket, const std::string& requested_h if (m_host == host) { for (const auto& path: site.paths) { if (boost::starts_with(requested_path, path.requested) && - "/?\0"s.find(requested_path[path.requested.size()]) != std::string::npos && + ("/?"s.find(requested_path[path.requested.size()]) != std::string::npos || + requested_path[path.requested.size()] == 0 || + requested_path[path.requested.size() - 1] == '/' + ) && path.requested.size() > path_len) { path_len = path.requested.size(); -- cgit v1.2.3