From 66114cb155f2a975ecdc9f3d2d89a9df1142791a Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Sat, 8 Jul 2023 13:42:13 -0600 Subject: caddyhttp: Trim dot/space only on Windows (fix #5613) Follow-up to #2917. Path matcher needs to trim dots and spaces but only on Windows. --- modules/caddyhttp/matchers.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'modules/caddyhttp/matchers.go') diff --git a/modules/caddyhttp/matchers.go b/modules/caddyhttp/matchers.go index f5f9a0f..fb84875 100644 --- a/modules/caddyhttp/matchers.go +++ b/modules/caddyhttp/matchers.go @@ -25,6 +25,7 @@ import ( "path" "reflect" "regexp" + "runtime" "sort" "strconv" "strings" @@ -395,7 +396,9 @@ func (m MatchPath) Match(r *http.Request) bool { // security risk (cry) if PHP files end up being served // as static files, exposing the source code, instead of // being matched by *.php to be treated as PHP scripts. - reqPath = strings.TrimRight(reqPath, ". ") + if runtime.GOOS == "windows" { // issue #5613 + reqPath = strings.TrimRight(reqPath, ". ") + } repl := r.Context().Value(caddy.ReplacerCtxKey).(*caddy.Replacer) -- cgit v1.2.3