From 5798b954ef3cf9f8ca810610253fc160c4ece1f0 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 12 Feb 2025 14:51:18 +0300 Subject: [PATCH] Use Go 1.24 --- auth.go | 2 +- cmd/godlighty/main.go | 2 +- go.mod | 2 +- handler.go | 4 ++-- orig.go | 12 +++++------- rc/mime.go | 2 +- tls.go | 15 +++------------ 7 files changed, 14 insertions(+), 25 deletions(-) diff --git a/auth.go b/auth.go index 02bf16d..fdb565b 100644 --- a/auth.go +++ b/auth.go @@ -38,7 +38,7 @@ func performAuth(w http.ResponseWriter, r *http.Request, cfg *AuthCfg) (string, if err != nil { return username, err } - for _, line := range strings.Split(string(data), "\n") { + for line := range strings.SplitSeq(string(data), "\n") { if len(line) == 0 || line[0] == '#' { continue } diff --git a/cmd/godlighty/main.go b/cmd/godlighty/main.go index 8bbadea..5ca0380 100644 --- a/cmd/godlighty/main.go +++ b/cmd/godlighty/main.go @@ -76,7 +76,7 @@ func main() { } } else { gids := []int{} - for _, g := range strings.Split(*doSetGIDs, ",") { + for g := range strings.SplitSeq(*doSetGIDs, ",") { var gid int gid, err = strconv.Atoi(g) if err != nil { diff --git a/go.mod b/go.mod index 5eefacf..cacbfd5 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module go.stargrave.org/godlighty -go 1.21.5 +go 1.24 require ( github.com/davecgh/go-spew v1.1.1 diff --git a/handler.go b/handler.go index 19a5c64..4ac2b04 100644 --- a/handler.go +++ b/handler.go @@ -46,10 +46,10 @@ const ( var ( gzPool = sync.Pool{ - New: func() interface{} { return gzip.NewWriter(io.Discard) }, + New: func() any { return gzip.NewWriter(io.Discard) }, } zstdPool = sync.Pool{ - New: func() interface{} { + New: func() any { w, err := zstd.NewWriter( io.Discard, zstd.WithEncoderLevel(zstd.SpeedDefault), diff --git a/orig.go b/orig.go index 9e4ca70..d3e6d7d 100644 --- a/orig.go +++ b/orig.go @@ -17,18 +17,16 @@ package godlighty -import "strings" +import ( + "slices" + "strings" +) func containsDotDot(v string) bool { if !strings.Contains(v, "..") { return false } - for _, ent := range strings.FieldsFunc(v, isSlashRune) { - if ent == ".." { - return true - } - } - return false + return slices.Contains(strings.FieldsFunc(v, isSlashRune), "..") } func isSlashRune(r rune) bool { return r == '/' || r == '\\' } diff --git a/rc/mime.go b/rc/mime.go index 75f3cf7..6cb2efd 100644 --- a/rc/mime.go +++ b/rc/mime.go @@ -25,7 +25,7 @@ func parseMIME(p string) []MIMEEntry { panic(err) } entries := make([]MIMEEntry, 0) - for _, line := range strings.Split(string(tsv), "\n") { + for line := range strings.SplitSeq(string(tsv), "\n") { if len(line) == 0 || line[0] == '#' { continue } diff --git a/tls.go b/tls.go index 346eaeb..7ccc8f7 100644 --- a/tls.go +++ b/tls.go @@ -23,6 +23,7 @@ import ( "fmt" "log" "os" + "slices" ) var ( @@ -39,24 +40,14 @@ var ( ) func CHIHasTLS13(chi *tls.ClientHelloInfo) bool { - for _, v := range chi.SupportedVersions { - if v == tls.VersionTLS13 { - return true - } - } - return false + return slices.Contains(chi.SupportedVersions, tls.VersionTLS13) } func CHIHasEdDSA(chi *tls.ClientHelloInfo) bool { if !CHIHasTLS13(chi) { return false } - for _, ss := range chi.SignatureSchemes { - if ss == tls.Ed25519 { - return true - } - } - return false + return slices.Contains(chi.SignatureSchemes, tls.Ed25519) } func GetCertificate(chi *tls.ClientHelloInfo) (*tls.Certificate, error) { -- 2.48.1