From d8bcf5be4e0f548c7beeaca36c8a134e32418dc8 Mon Sep 17 00:00:00 2001
From: Matthew Holt <mholt@users.noreply.github.com>
Date: Wed, 30 Dec 2020 08:03:33 -0700
Subject: fileserver: Fix "go up" links in browse listings (closes #3942)

At some point we changed how paths are represented down the function calls of browse listings and forgot to update the canGoUp logic. I think this is right? It's simpler now.
---
 modules/caddyhttp/fileserver/browse.go | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/modules/caddyhttp/fileserver/browse.go b/modules/caddyhttp/fileserver/browse.go
index 1f6986f..2712077 100644
--- a/modules/caddyhttp/fileserver/browse.go
+++ b/modules/caddyhttp/fileserver/browse.go
@@ -99,9 +99,8 @@ func (fsrv *FileServer) loadDirectoryContents(dir *os.File, root, urlPath string
 		return browseListing{}, err
 	}
 
-	// determine if user can browse up another folder
-	curPathDir := path.Dir(strings.TrimSuffix(urlPath, "/"))
-	canGoUp := strings.HasPrefix(curPathDir, root)
+	// user can presumably browse "up" to parent folder if path is longer than "/"
+	canGoUp := len(urlPath) > 1
 
 	return fsrv.directoryListing(files, canGoUp, root, urlPath, repl), nil
 }
-- 
cgit v1.2.3