From ee4d0b0c3e4ee16d267c62e49c868fa94966e0da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Jul 2025 23:51:33 +0000 Subject: [PATCH 1/2] chore(deps): bump the dev-dependencies group with 3 updates Bumps the dev-dependencies group with 3 updates: [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2), [github.com/valyala/fasthttp](https://github.com/valyala/fasthttp) and [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2). Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.82.0 to 1.83.0 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.82.0...service/s3/v1.83.0) Updates `github.com/valyala/fasthttp` from 1.62.0 to 1.63.0 - [Release notes](https://github.com/valyala/fasthttp/releases) - [Commits](https://github.com/valyala/fasthttp/compare/v1.62.0...v1.63.0) Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.17.82 to 1.17.83 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/feature/s3/manager/v1.17.82...feature/s3/manager/v1.17.83) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/service/s3 dependency-version: 1.83.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: github.com/valyala/fasthttp dependency-version: 1.63.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: dev-dependencies - dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager dependency-version: 1.17.83 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: dev-dependencies ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 56e6bfc1..cbe5da67 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.6.1 github.com/DataDog/datadog-go/v5 v5.6.0 github.com/aws/aws-sdk-go-v2 v1.36.5 - github.com/aws/aws-sdk-go-v2/service/s3 v1.82.0 + github.com/aws/aws-sdk-go-v2/service/s3 v1.83.0 github.com/aws/smithy-go v1.22.4 github.com/go-ldap/ldap/v3 v3.4.11 github.com/gofiber/fiber/v2 v2.52.8 @@ -23,7 +23,7 @@ require ( github.com/segmentio/kafka-go v0.4.48 github.com/smira/go-statsd v1.3.4 github.com/urfave/cli/v2 v2.27.7 - github.com/valyala/fasthttp v1.62.0 + github.com/valyala/fasthttp v1.63.0 github.com/versity/scoutfs-go v0.0.0-20240325223134-38eb2f5f7d44 golang.org/x/sync v0.15.0 golang.org/x/sys v0.33.0 @@ -63,7 +63,7 @@ require ( github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.11 // indirect github.com/aws/aws-sdk-go-v2/config v1.29.17 github.com/aws/aws-sdk-go-v2/credentials v1.17.70 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.82 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.83 github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.36 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.36 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.36 // indirect diff --git a/go.sum b/go.sum index 4897393b..3a508e55 100644 --- a/go.sum +++ b/go.sum @@ -35,8 +35,8 @@ github.com/aws/aws-sdk-go-v2/credentials v1.17.70 h1:ONnH5CM16RTXRkS8Z1qg7/s2eDO github.com/aws/aws-sdk-go-v2/credentials v1.17.70/go.mod h1:M+lWhhmomVGgtuPOhO85u4pEa3SmssPTdcYpP/5J/xc= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.32 h1:KAXP9JSHO1vKGCr5f4O6WmlVKLFFXgWYAGoJosorxzU= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.32/go.mod h1:h4Sg6FQdexC1yYG9RDnOvLbW1a/P986++/Y/a+GyEM8= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.82 h1:EO13QJTCD1Ig2IrQnoHTRrn981H9mB7afXsZ89WptI4= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.82/go.mod h1:AGh1NCg0SH+uyJamiJA5tTQcql4MMRDXGRdMmCxCXzY= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.83 h1:08otkOELsIi0toRRGMytlJhOctcN8xfKfKFR2NXz3kE= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.83/go.mod h1:dGsGb2wI8JDWeMAhjVPP+z+dqvYjL6k6o+EujcRNk5c= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.36 h1:SsytQyTMHMDPspp+spo7XwXTP44aJZZAC7fBV2C5+5s= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.36/go.mod h1:Q1lnJArKRXkenyog6+Y+zr7WDpk4e6XlR6gs20bbeNo= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.36 h1:i2vNHQiXUvKhs3quBR6aqlgJaiaexz/aNvdCktW/kAM= @@ -53,8 +53,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.17 h1:t0E6FzRE github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.17/go.mod h1:ygpklyoaypuyDvOM5ujWGrYWpAK3h7ugnmKCU/76Ys4= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.17 h1:qcLWgdhq45sDM9na4cvXax9dyLitn8EYBRl8Ak4XtG4= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.18.17/go.mod h1:M+jkjBFZ2J6DJrjMv2+vkBbuht6kxJYtJiwoVgX4p4U= -github.com/aws/aws-sdk-go-v2/service/s3 v1.82.0 h1:JubM8CGDDFaAOmBrd8CRYNr49ZNgEAiLwGwgNMdS0nw= -github.com/aws/aws-sdk-go-v2/service/s3 v1.82.0/go.mod h1:kUklwasNoCn5YpyAqC/97r6dzTA1SRKJfKq16SXeoDU= +github.com/aws/aws-sdk-go-v2/service/s3 v1.83.0 h1:5Y75q0RPQoAbieyOuGLhjV9P3txvYgXv2lg0UwJOfmE= +github.com/aws/aws-sdk-go-v2/service/s3 v1.83.0/go.mod h1:kUklwasNoCn5YpyAqC/97r6dzTA1SRKJfKq16SXeoDU= github.com/aws/aws-sdk-go-v2/service/sso v1.25.5 h1:AIRJ3lfb2w/1/8wOOSqYb9fUKGwQbtysJ2H1MofRUPg= github.com/aws/aws-sdk-go-v2/service/sso v1.25.5/go.mod h1:b7SiVprpU+iGazDUqvRSLf5XmCdn+JtT1on7uNL6Ipc= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.30.3 h1:BpOxT3yhLwSJ77qIY3DoHAQjZsc4HEGfMCE4NGy3uFg= @@ -175,8 +175,8 @@ github.com/urfave/cli/v2 v2.27.7 h1:bH59vdhbjLv3LAvIu6gd0usJHgoTTPhCFib8qqOwXYU= github.com/urfave/cli/v2 v2.27.7/go.mod h1:CyNAG/xg+iAOg0N4MPGZqVmv2rCoP267496AOXUZjA4= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.62.0 h1:8dKRBX/y2rCzyc6903Zu1+3qN0H/d2MsxPPmVNamiH0= -github.com/valyala/fasthttp v1.62.0/go.mod h1:FCINgr4GKdKqV8Q0xv8b+UxPV+H/O5nNFo3D+r54Htg= +github.com/valyala/fasthttp v1.63.0 h1:DisIL8OjB7ul2d7cBaMRcKTQDYnrGy56R4FCiuDP0Ns= +github.com/valyala/fasthttp v1.63.0/go.mod h1:REc4IeW+cAEyLrRPa5A81MIjvz0QE1laoTX2EaPHKJM= github.com/versity/scoutfs-go v0.0.0-20240325223134-38eb2f5f7d44 h1:Wx1o3pNrCzsHIIDyZ2MLRr6tF/1FhAr7HNDn80QqDWE= github.com/versity/scoutfs-go v0.0.0-20240325223134-38eb2f5f7d44/go.mod h1:gJsq73k+4685y+rbDIpPY8i/5GbsiwP6JFoFyUDB1fQ= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= From 003bf5db0ba3d9e988e53fc0d2d7084a3471aa35 Mon Sep 17 00:00:00 2001 From: Ben McClelland Date: Mon, 7 Jul 2025 22:11:21 -0700 Subject: [PATCH 2/2] fix: convert deprecated fasthttp VisitAll() to All() An update to fasthttp has deprecated the VisitAll() method for an iterator function All() that can be used to range over all headers. This should fix the staticcheck warnings for calling the deprecated function. --- s3api/debuglogger/logger.go | 14 +++++++------- s3api/utils/utils.go | 32 ++++++++++++++++---------------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/s3api/debuglogger/logger.go b/s3api/debuglogger/logger.go index 88bd172b..defa9055 100644 --- a/s3api/debuglogger/logger.go +++ b/s3api/debuglogger/logger.go @@ -45,9 +45,9 @@ func LogFiberRequestDetails(ctx *fiber.Ctx) { // log request headers wrapInBox(green, "REQUEST HEADERS", boxWidth, func() { - ctx.Request().Header.VisitAll(func(key, value []byte) { + for key, value := range ctx.Request().Header.All() { printWrappedLine(yellow, string(key), string(value)) - }) + } }) // skip request body log for PutObject and UploadPart skipBodyLog := isLargeDataAction(ctx) @@ -61,18 +61,18 @@ func LogFiberRequestDetails(ctx *fiber.Ctx) { } if ctx.Request().URI().QueryArgs().Len() != 0 { - ctx.Request().URI().QueryArgs().VisitAll(func(key, val []byte) { - log.Printf("%s: %s", key, val) - }) + for key, value := range ctx.Request().URI().QueryArgs().All() { + log.Printf("%s: %s", key, value) + } } } // Logs http response details: body, headers func LogFiberResponseDetails(ctx *fiber.Ctx) { wrapInBox(green, "RESPONSE HEADERS", boxWidth, func() { - ctx.Response().Header.VisitAll(func(key, value []byte) { + for key, value := range ctx.Response().Header.All() { printWrappedLine(yellow, string(key), string(value)) - }) + } }) _, ok := ctx.Locals("skip-res-body-log").(bool) diff --git a/s3api/utils/utils.go b/s3api/utils/utils.go index 30d81c75..ada265c2 100644 --- a/s3api/utils/utils.go +++ b/s3api/utils/utils.go @@ -44,14 +44,14 @@ var ( func GetUserMetaData(headers *fasthttp.RequestHeader) (metadata map[string]string) { metadata = make(map[string]string) headers.DisableNormalizing() - headers.VisitAllInOrder(func(key, value []byte) { + for key, value := range headers.AllInOrder() { hKey := string(key) if strings.HasPrefix(strings.ToLower(hKey), "x-amz-meta-") { trimmedKey := hKey[11:] headerValue := string(value) metadata[trimmedKey] = headerValue } - }) + } headers.EnableNormalizing() return @@ -74,12 +74,12 @@ func createHttpRequestFromCtx(ctx *fiber.Ctx, signedHdrs []string, contentLength } // Set the request headers - req.Header.VisitAll(func(key, value []byte) { + for key, value := range req.Header.All() { keyStr := string(key) if includeHeader(keyStr, signedHdrs) { httpReq.Header.Add(keyStr, string(value)) } - }) + } // make sure all headers in the signed headers are present for _, header := range signedHdrs { @@ -124,7 +124,7 @@ func createPresignedHttpRequestFromCtx(ctx *fiber.Ctx, signedHdrs []string, cont uri, _, _ := strings.Cut(ctx.OriginalURL(), "?") isFirst := true - ctx.Request().URI().QueryArgs().VisitAll(func(key, value []byte) { + for key, value := range ctx.Request().URI().QueryArgs().All() { _, ok := signedQueryArgs[string(key)] if !ok { escapeValue := url.QueryEscape(string(value)) @@ -135,19 +135,19 @@ func createPresignedHttpRequestFromCtx(ctx *fiber.Ctx, signedHdrs []string, cont uri += fmt.Sprintf("&%s=%s", key, escapeValue) } } - }) + } httpReq, err := http.NewRequest(string(req.Header.Method()), uri, body) if err != nil { return nil, errors.New("error in creating an http request") } // Set the request headers - req.Header.VisitAll(func(key, value []byte) { + for key, value := range req.Header.All() { keyStr := string(key) if includeHeader(keyStr, signedHdrs) { httpReq.Header.Add(keyStr, string(value)) } - }) + } // Check if Content-Length in signed headers // If content length is non 0, then the header will be included @@ -297,10 +297,10 @@ func FilterObjectAttributes(attrs map[s3response.ObjectAttributes]struct{}, outp func ParseObjectAttributes(ctx *fiber.Ctx) (map[s3response.ObjectAttributes]struct{}, error) { attrs := map[s3response.ObjectAttributes]struct{}{} var err error - ctx.Request().Header.VisitAll(func(key, value []byte) { + for key, value := range ctx.Request().Header.All() { if string(key) == "X-Amz-Object-Attributes" { if len(value) == 0 { - return + break } oattrs := strings.Split(string(value), ",") for _, a := range oattrs { @@ -313,7 +313,7 @@ func ParseObjectAttributes(ctx *fiber.Ctx) (map[s3response.ObjectAttributes]stru attrs[attr] = struct{}{} } } - }) + } if err != nil { return nil, err @@ -426,10 +426,10 @@ func ParseChecksumHeaders(ctx *fiber.Ctx) (types.ChecksumAlgorithm, ChecksumValu var hdrErr error // Parse and validate checksum headers - ctx.Request().Header.VisitAll(func(key, value []byte) { + for key, value := range ctx.Request().Header.All() { // Skip `X-Amz-Checksum-Type` as it's a special header - if hdrErr != nil || !strings.HasPrefix(string(key), "X-Amz-Checksum-") || string(key) == "X-Amz-Checksum-Type" { - return + if !strings.HasPrefix(string(key), "X-Amz-Checksum-") || string(key) == "X-Amz-Checksum-Type" { + continue } algo := types.ChecksumAlgorithm(strings.ToUpper(strings.TrimPrefix(string(key), "X-Amz-Checksum-"))) @@ -437,11 +437,11 @@ func ParseChecksumHeaders(ctx *fiber.Ctx) (types.ChecksumAlgorithm, ChecksumValu if err != nil { debuglogger.Logf("invalid checksum header: %s\n", key) hdrErr = s3err.GetAPIError(s3err.ErrInvalidChecksumHeader) - return + break } checksums[algo] = string(value) - }) + } if hdrErr != nil { return sdkAlgorithm, nil, hdrErr