From: Sergey Matveev <stargrave@stargrave.org>
Date: Sat, 12 Apr 2025 16:48:26 +0000 (+0300)
Subject: Proper escaping of dirlists with colons
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=ee4a911412332b9a4b9205940fafe8604793866c;p=godlighty.git

Proper escaping of dirlists with colons
---

diff --git a/dirlist.go b/dirlist.go
index 621fb88..bdf47eb 100644
--- a/dirlist.go
+++ b/dirlist.go
@@ -22,6 +22,7 @@ import (
 	"os"
 	"path"
 	"sort"
+	"strings"
 	"time"
 
 	"github.com/dustin/go-humanize"
@@ -105,7 +106,7 @@ func dirList(
 		Files  []DirListFile
 	}{
 		Root:   root,
-		Dir:    dir,
+		Dir:    strings.TrimRight(dir, "/"),
 		Readme: readme,
 		Files:  files,
 	})
diff --git a/dirlist.tmpl b/dirlist.tmpl
index 8fb266f..b63ccd4 100644
--- a/dirlist.tmpl
+++ b/dirlist.tmpl
@@ -13,7 +13,7 @@
 <tr><th>&nbsp;</th><th>Name</th><th>Mtime</th><th>Size</th><th>Type</th></tr>
 {{$Dir := .Dir}}{{$Root := .Root}}{{range .Files}}<tr>
   <td {{if .Symlink}}rowspan="2"{{end}}>{{.Idx}}</td>
-  <td><a href="{{$Root}}{{$Dir}}{{.Name}}{{if .IsDir}}/{{end -}}"><tt>
+  <td><a href="{{$Root}}{{$Dir}}/{{.Name}}{{if .IsDir}}/{{end -}}"><tt>
     {{- .Name}}{{if .IsDir}}/{{end}}</tt></a></td>
   <td><tt>{{.ModTime}}</tt></td>
   <td>{{.Size}}</td>
diff --git a/godlighty.go b/godlighty.go
index ee2ff75..c81b102 100644
--- a/godlighty.go
+++ b/godlighty.go
@@ -1,6 +1,6 @@
 // Highly-customizable HTTP, HTTP/2, HTTPS server
 package godlighty
 
-const Version = "godlighty/0.7.0"
+const Version = "godlighty/0.8.0"
 
 var BindAddr string