From 78b5356f2b1945a90de1ef7f2c7669d82098edbd Mon Sep 17 00:00:00 2001 From: Mohammed Al Sahaf Date: Sat, 11 Dec 2021 17:26:21 +0300 Subject: fileserver: do not double-escape paths (#4447) --- modules/caddyhttp/fileserver/browsetplcontext.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'modules/caddyhttp/fileserver/browsetplcontext.go') diff --git a/modules/caddyhttp/fileserver/browsetplcontext.go b/modules/caddyhttp/fileserver/browsetplcontext.go index b1b8e9e..87156d4 100644 --- a/modules/caddyhttp/fileserver/browsetplcontext.go +++ b/modules/caddyhttp/fileserver/browsetplcontext.go @@ -43,11 +43,9 @@ func (fsrv *FileServer) directoryListing(files []os.FileInfo, canGoUp bool, root isDir := f.IsDir() || isSymlinkTargetDir(f, root, urlPath) - u := url.URL{Path: url.PathEscape(name)} - // add the slash after the escape of path to avoid escaping the slash as well if isDir { - u.Path += "/" + name += "/" dirCount++ } else { fileCount++ @@ -67,6 +65,8 @@ func (fsrv *FileServer) directoryListing(files []os.FileInfo, canGoUp bool, root // was already set above. } + u := url.URL{Path: "./" + name} // prepend with "./" to fix paths with ':' in the name + fileInfos = append(fileInfos, fileInfo{ IsDir: isDir, IsSymlink: fileIsSymlink, -- cgit v1.2.3