diff options
| author | Roland Reichwein <mail@reichwein.it> | 2020-05-08 17:31:07 +0200 | 
|---|---|---|
| committer | Roland Reichwein <mail@reichwein.it> | 2020-05-08 17:31:07 +0200 | 
| commit | bc950407cb37e19d833dd9900137be41f7af4d03 (patch) | |
| tree | af2c5f6bb468f45a4b961e723bd6eb3bf5aefbc5 | |
| parent | 17bb15014cf344bb24e0576b70cf535e89eb5b54 (diff) | |
Bugfix: Path matching
| -rw-r--r-- | TODO | 1 | ||||
| -rw-r--r-- | config.cpp | 5 | ||||
| -rw-r--r-- | debian/changelog | 1 | 
3 files changed, 5 insertions, 2 deletions
@@ -1,4 +1,3 @@ -Match prefix  Speed up config.GetPath  weblog: link consistency check (cron?)  Integrate into Debian: WNPP @@ -256,7 +256,10 @@ const Path& Config::GetPath(const Socket& socket, const std::string& requested_h     for (const auto& m_host: site.hosts) {      if (m_host == host) {       for (const auto& path: site.paths) { -      if (boost::starts_with(requested_path, path.requested) && path.requested.size() > path_len) { +      if (boost::starts_with(requested_path, path.requested) && +          "/&\0"s.find(requested_path[path.requested.size()]) != std::string::npos && +          path.requested.size() > path_len) +      {         path_len = path.requested.size();         result = &path;        } diff --git a/debian/changelog b/debian/changelog index 7f7ebb9..aea89e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,6 @@  webserver (1.5) unstable; urgency=medium +  * Bugfix: Path matching    * Minor fixes   -- Roland Reichwein <rr@antcom.de>  Fri, 08 May 2020 11:39:09 +0200  | 
