Luke McCrone
352cd5dc94
test: versioning skips for static
2025-09-25 18:00:04 -03:00
Luke McCrone
6ae48f709b
test: add static REST tests
2025-09-25 18:00:04 -03:00
Luke McCrone
3cd61859b8
test: more dockerfile/direct updates, testing, fixes
2025-09-25 18:00:04 -03:00
Ben McClelland
1ec629c38d
Merge pull request #1558 from versity/sis/invalid-content-length
...
fix: fixes the invalid Content-Length error
2025-09-25 08:44:57 -07:00
Ben McClelland
fe660d5b9c
Merge pull request #1557 from versity/sis/fiber-panic-recovery
...
feat: implements fiber panic recovery
2025-09-24 15:07:31 -07:00
niksis02
54e2c39df1
fix: fixes the invalid Content-Length error
...
Fixes #1426
Fiber returns a custom error, if it fails to parse the `Content-Length` header. This implementation adds a check in the fiber global error handler to return an empty `400` Bad Request error, if fiber fails to parse the `Content-Length` header.
2025-09-23 23:22:51 +04:00
niksis02
caa7ca0f90
feat: implements fiber panic recovery
...
Fiber includes a built-in panic recovery middleware that catches panics in route handlers and middlewares, preventing the server from crashing and allowing it to recover. Alongside this, a stack trace handler has been implemented to store system panics in the context locals (stack).
Both the S3 API server and the Admin server use a global error handler to catch unexpected exceptions and recovered panics. The middleware’s logic is to log the panic or internal error and return an S3-style internal server error response.
Additionally, dedicated **Panic** and **InternalError** loggers have been added to the `s3api` debug logger to record system panics and internal errors in the console.
2025-09-23 22:55:38 +04:00
Ben McClelland
dac2460eb3
Merge pull request #1556 from versity/dependabot/go_modules/dev-dependencies-fbd024bc70
...
chore(deps): bump the dev-dependencies group with 6 updates
2025-09-22 21:59:06 -07:00
Ben McClelland
d3c56dbfc1
Merge pull request #1555 from versity/sis/public-buckets-sha256-payload
...
fix: adds checks for x-amz-content-sha256 in anonymous requests
2025-09-22 21:58:40 -07:00
dependabot[bot]
6cf3b93a83
chore(deps): bump the dev-dependencies group with 6 updates
...
Bumps the dev-dependencies group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://github.com/Azure/azure-sdk-for-go ) | `1.11.0` | `1.12.0` |
| [github.com/nats-io/nats.go](https://github.com/nats-io/nats.go ) | `1.45.0` | `1.46.0` |
| [github.com/aws/aws-sdk-go-v2/service/ssooidc](https://github.com/aws/aws-sdk-go-v2 ) | `1.34.4` | `1.34.5` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2 ) | `1.31.8` | `1.31.9` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2 ) | `1.18.12` | `1.18.13` |
| [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2 ) | `1.19.6` | `1.19.7` |
Updates `github.com/Azure/azure-sdk-for-go/sdk/azidentity` from 1.11.0 to 1.12.0
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/sdk-breaking-changes-guide-migration.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.11.0...sdk/azcore/v1.12.0 )
Updates `github.com/nats-io/nats.go` from 1.45.0 to 1.46.0
- [Release notes](https://github.com/nats-io/nats.go/releases )
- [Commits](https://github.com/nats-io/nats.go/compare/v1.45.0...v1.46.0 )
Updates `github.com/aws/aws-sdk-go-v2/service/ssooidc` from 1.34.4 to 1.34.5
- [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/iot/v1.34.4...service/sfn/v1.34.5 )
Updates `github.com/aws/aws-sdk-go-v2/config` from 1.31.8 to 1.31.9
- [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/config/v1.31.8...config/v1.31.9 )
Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.18.12 to 1.18.13
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.18.13/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.12...config/v1.18.13 )
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.19.6 to 1.19.7
- [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/m2/v1.19.6...service/m2/v1.19.7 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azidentity
dependency-version: 1.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/nats-io/nats.go
dependency-version: 1.46.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ssooidc
dependency-version: 1.34.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/config
dependency-version: 1.31.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
dependency-version: 1.18.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
dependency-version: 1.19.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-22 21:23:18 +00:00
niksis02
df74e7fde6
fix: adds checks for x-amz-content-sha256 in anonymous requests
...
Fixes #1554
Fixes #1423
The gateway previously ignored the `x-amz-content-sha256` header for anonymous unsigned requests to public buckets. This PR adds hash calculation for this header and correctly handles special payload types.
It also fixes the case where a signed streaming payload (`STREAMING-AWS4-HMAC-SHA256-PAYLOAD...`) is used with anonymous requests. In this scenario, the gateway now returns a specific "not supported" error, consistent with S3 behavior.
2025-09-23 00:44:14 +04:00
Ben McClelland
6a34f3a848
Merge pull request #1550 from versity/sis/content-md5-actions
...
fix: removes content-md5 check from the actions where it's unnecessary
2025-09-22 10:46:30 -07:00
Ben McClelland
6b64783db7
Merge pull request #1548 from versity/sis/host-style-trailing-slash
...
fix: removes trailing / for bucket operations in host-style parser
2025-09-22 10:45:53 -07:00
Ben McClelland
b5b823c47b
Merge pull request #1546 from versity/sis/incorrect-md5
...
fix: adds BadDigest error for incorrect Content-Md5 s
2025-09-22 10:44:56 -07:00
niksis02
a057a254c1
fix: removes content-md5 check from the actions where it's unnecessary
...
Fixes #1545
`Content-Md5` should be validated/calculated only for the actions containing request body, which are:
* All bucket `PUT` operations(PutBucketTagging, PutBucketVersioning ...)
* All object `PUT` operations(PutObject, UploadPart ...) except for object copy ones(CopyObject, UploadPartCopy)
* Object `POST` operations(CompleteMultipartUpload, RestoreObject ...), but not for `CreateMultipartUpload`, as it doesn't have request body.
* Bucket `POST` operation(DeleteObjects).
The PR removes the `Content-Md5` check from bucket/object GET/HEAD operations and from `PUT`/`POST` operations not expecting request body.
2025-09-19 21:52:11 +04:00
niksis02
f435880fe8
fix: removes trailing / for bucket operations in host-style parser
...
For bucket operations a typical host-style request looks like `bucket.host/`. `HostStyleParser` parses the bucket from host header and appends in the path, by changing the requests to `path-styled`. For bucket operations the original request path is `bucket.host/`, after reconsturction it looks like `/bucket/`: a trailing `/` is added at the end.
The PR adds a check to not append this trailing `/` at the end for bucket operations, to keep consistency with path-style requests.
2025-09-19 20:53:00 +04:00
niksis02
ebdda06633
fix: adds BadDigest error for incorrect Content-Md5 s
...
Closes #1525
* Adds validation for the `Content-MD5` header.
* If the header value is invalid, the gateway now returns an `InvalidDigest` error.
* If the value is valid but does not match the payload, it returns a `BadDigest` error.
* Adds integration test cases for `PutBucketCors` with `Content-MD5`.
2025-09-19 19:51:23 +04:00
Ben McClelland
221592fbab
Merge pull request #1537 from versity/test/dockerfile_improvements
...
Test/dockerfile improvements
2025-09-18 10:28:05 -07:00
Luke McCrone
8c1327d1e8
test: user teardown fix
2025-09-18 13:03:09 -03:00
Ben McClelland
70ebe00f7c
Merge pull request #1544 from versity/sis/complete-empty-mp-parts
...
fix: changes empty mp parts error on CompleteMultipartUpload
2025-09-18 08:55:44 -07:00
niksis02
ca6a92bb84
fix: changes empty mp parts error on CompleteMultipartUpload
...
Fixes #1328
If `CompleteMultipartUpload` is attempted with empty `Parts` list, the gateway used to return `InvalidRequest`. Now it's changed to `MalformedXML`.
2025-09-18 16:09:02 +04:00
Ben McClelland
51e54874a8
Merge pull request #1543 from versity/sis/auth-errors
...
fix: fixes sigv4 and presigned url auth errors.
2025-09-17 21:31:53 -07:00
niksis02
6176d9eb46
fix: fixes sigv4 and presigned url auth errors.
...
Fixes #1540
Fixes #1538
Fixes #1513
Fixes #1425
Fixes SigV4 authentication and presigned URL error handling. Adds two sets of errors in the `s3err` package for these authentication mechanisms.
* Adds a check to return a custom "not supported" error when `X-Amz-Security-Token` is present in presigned URLs.
* Adds a check to return a custom "not supported" error when the `AWS4-ECDSA-P256-SHA256` algorithm is used in presigned URLs.
2025-09-18 00:11:12 +04:00
Ben McClelland
c2c359e9f0
Merge pull request #1534 from versity/test/delete_bucket_tagging_two
...
test: more list-buckets, bucket tagging tests, dockerfile enhancements
v1.0.18
2025-09-16 16:18:28 -07:00
Ben McClelland
6d081f5a3f
Merge pull request #1539 from versity/dependabot/go_modules/dev-dependencies-f333cc90b3
2025-09-15 15:07:53 -07:00
Ben McClelland
7797154812
Merge pull request #1533 from versity/ben/list-versions
2025-09-15 14:25:49 -07:00
dependabot[bot]
eb0a8ee0c0
chore(deps): bump the dev-dependencies group with 10 updates
...
Bumps the dev-dependencies group with 10 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/Azure/azure-sdk-for-go/sdk/azcore](https://github.com/Azure/azure-sdk-for-go ) | `1.19.0` | `1.19.1` |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2 ) | `1.88.0` | `1.88.1` |
| [github.com/valyala/fasthttp](https://github.com/valyala/fasthttp ) | `1.65.0` | `1.66.0` |
| [github.com/aws/aws-sdk-go-v2/service/sso](https://github.com/aws/aws-sdk-go-v2 ) | `1.29.2` | `1.29.3` |
| [github.com/aws/aws-sdk-go-v2/service/ssooidc](https://github.com/aws/aws-sdk-go-v2 ) | `1.34.3` | `1.34.4` |
| [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2 ) | `1.38.3` | `1.38.4` |
| [golang.org/x/net](https://github.com/golang/net ) | `0.43.0` | `0.44.0` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2 ) | `1.31.7` | `1.31.8` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2 ) | `1.18.11` | `1.18.12` |
| [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2 ) | `1.19.5` | `1.19.6` |
Updates `github.com/Azure/azure-sdk-for-go/sdk/azcore` from 1.19.0 to 1.19.1
- [Release notes](https://github.com/Azure/azure-sdk-for-go/releases )
- [Changelog](https://github.com/Azure/azure-sdk-for-go/blob/main/documentation/sdk-breaking-changes-guide-migration.md )
- [Commits](https://github.com/Azure/azure-sdk-for-go/compare/sdk/azcore/v1.19.0...sdk/azcore/v1.19.1 )
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.88.0 to 1.88.1
- [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.88.0...service/s3/v1.88.1 )
Updates `github.com/valyala/fasthttp` from 1.65.0 to 1.66.0
- [Release notes](https://github.com/valyala/fasthttp/releases )
- [Commits](https://github.com/valyala/fasthttp/compare/v1.65.0...v1.66.0 )
Updates `github.com/aws/aws-sdk-go-v2/service/sso` from 1.29.2 to 1.29.3
- [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/config/v1.29.2...config/v1.29.3 )
Updates `github.com/aws/aws-sdk-go-v2/service/ssooidc` from 1.34.3 to 1.34.4
- [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/amp/v1.34.3...service/iot/v1.34.4 )
Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.38.3 to 1.38.4
- [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/v1.38.3...service/s3/v1.38.4 )
Updates `golang.org/x/net` from 0.43.0 to 0.44.0
- [Commits](https://github.com/golang/net/compare/v0.43.0...v0.44.0 )
Updates `github.com/aws/aws-sdk-go-v2/config` from 1.31.7 to 1.31.8
- [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/config/v1.31.7...config/v1.31.8 )
Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.18.11 to 1.18.12
- [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/config/v1.18.11...config/v1.18.12 )
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.19.5 to 1.19.6
- [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/pi/v1.19.5...service/m2/v1.19.6 )
---
updated-dependencies:
- dependency-name: github.com/Azure/azure-sdk-for-go/sdk/azcore
dependency-version: 1.19.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.88.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/valyala/fasthttp
dependency-version: 1.66.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sso
dependency-version: 1.29.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ssooidc
dependency-version: 1.34.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
dependency-version: 1.38.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
dependency-version: 0.44.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/config
dependency-version: 1.31.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
dependency-version: 1.18.12
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
dependency-version: 1.19.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-15 21:12:54 +00:00
Luke McCrone
31799f48c8
test: more list-buckets, bucket tagging tests, dockerfile enhancements
2025-09-15 14:22:19 -03:00
Ben McClelland
34da18337e
fix: lex sort order of listobjectversions backend.WalkVersions
...
Similar to:
8e18b43116
fix: lex sort order of listobjects backend.Walk
But now the "Versions" walk.
The original backend.WalkVersions function used the native WalkDir and ReadDir
which did not guarantee lexicographic ordering of results for cases where
including directory slash changes the sort order. This caused incorrect
paginated responses because S3 APIs require strict lexicographic ordering
where directories with trailing slashes sort correctly relative to files.
For example, dir1/a.b/ must come before dir1/a/ in the results, but
fs.WalkDir was returning them in filesystem sort order which reversed
the order due to not taking in account the trailing "/".
2025-09-12 11:49:58 -07:00
Ben McClelland
148836bb0c
Merge pull request #1529 from nick-stephen/main
...
fix : #1527 - case-insensitive x-amz-checksum-mode header value
2025-09-12 09:10:48 -07:00
Nick Stephen
18e30127d5
fix : #1527 - case-insensitive x-amz-checksum-mode header value
2025-09-12 11:04:19 +02:00
Ben McClelland
6c0b8ea019
Merge pull request #1515 from versity/ben/list-objects-sort
...
fix: lex sort order of listobjects backend.Walk
2025-09-10 09:26:02 -07:00
Ben McClelland
8e18b43116
fix: lex sort order of listobjects backend.Walk
...
The original Walk function used the native WalkDir and ReadDir which did not
guarantee lexicographic ordering of results for cases where including directory
slash changes the sort order. This caused incorrect paginated responses because
S3 APIs require strict lexicographic ordering where directories with trailing
slashes sort correctly relative to files. For example, dir1/a.b/ must come
before dir1/a/ in the results, but fs.WalkDir was returning them in filesystem
sort order which reversed the order due to not taking in account the trailing
"/".
This also lead to cases of continuous looping of paginated listobjects results
when the marker was set out of order from the expected results.
To address this fundamental ordering issue, the entire directory traversal
mechanism was replaced with a custom lexicographic sorting approach. The new
implementation reads each directory's contents using ReadDir, then sorts the
entries using custom sort keys that append trailing slashes to directory paths.
This ensures that dir1/a.b/ correctly sorts before dir1/a/, as well as other
similar failing cases, according to ASCII character ordering rules.
Fixes #1283
2025-09-10 08:57:36 -07:00
Ben McClelland
406161ba10
Merge pull request #1524 from versity/sis/object-get-part-number
...
fix: NotImplemented for GetObject/HeadObject PartNumber
2025-09-10 08:54:54 -07:00
Ben McClelland
dd91cecd00
Merge pull request #1522 from versity/sis/conditional-writes
...
feat: implement conditional writes
2025-09-10 08:54:04 -07:00
niksis02
2bb8a1eeb7
fix: NotImplemented for GetObject/HeadObject PartNumber
...
Fixes #1520
Removes the incorrect logic for HeadObject returning successful response, when querying an incomplete multipart upload.
Implements the logic to return `NotImplemented` error if `GetObject`/`HeadObject` is attempted with `partNumber` in azure and posix backends. The front-end part is preserved to be used in s3 proxy backend.
2025-09-09 22:40:36 +04:00
Ben McClelland
3375689010
Merge pull request #1516 from versity/test/delete_bucket_tagging
...
Test/more list buckets, general coverage
2025-09-09 11:06:01 -07:00
Ben McClelland
c206f6414e
Merge pull request #1523 from versity/dependabot/go_modules/dev-dependencies-25282f792f
...
chore(deps): bump the dev-dependencies group with 25 updates
2025-09-09 11:03:17 -07:00
niksis02
7a098b925f
feat: implement conditional writes
...
Closes #821
**Implements conditional operations across object APIs:**
* **PutObject** and **CompleteMultipartUpload**:
Supports conditional writes with `If-Match` and `If-None-Match` headers (ETag comparisons).
Evaluation is based on an existing object with the same key in the bucket. The operation is allowed only if the preconditions are satisfied. If no object exists for the key, these headers are ignored.
* **CopyObject** and **UploadPartCopy**:
Adds conditional reads on the copy source object with the following headers:
* `x-amz-copy-source-if-match`
* `x-amz-copy-source-if-none-match`
* `x-amz-copy-source-if-modified-since`
* `x-amz-copy-source-if-unmodified-since`
The first two are ETag comparisons, while the latter two compare against the copy source’s `LastModified` timestamp.
* **AbortMultipartUpload**:
Supports the `x-amz-if-match-initiated-time` header, which is true only if the multipart upload’s initialization time matches.
* **DeleteObject**:
Adds support for:
* `If-Match` (ETag comparison)
* `x-amz-if-match-last-modified-time` (LastModified comparison)
* `x-amz-if-match-size` (object size comparison)
Additionally, this PR updates precondition date parsing logic to support both **RFC1123** and **RFC3339** formats. Dates set in the future are ignored, matching AWS S3 behavior.
2025-09-09 01:55:38 +04:00
dependabot[bot]
8fb020ef83
chore(deps): bump the dev-dependencies group with 25 updates
...
Bumps the dev-dependencies group with 25 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2 ) | `1.38.1` | `1.39.0` |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2 ) | `1.87.1` | `1.88.0` |
| [github.com/aws/smithy-go](https://github.com/aws/smithy-go ) | `1.22.5` | `1.23.0` |
| [github.com/stretchr/testify](https://github.com/stretchr/testify ) | `1.11.0` | `1.11.1` |
| [golang.org/x/sync](https://github.com/golang/sync ) | `0.16.0` | `0.17.0` |
| [golang.org/x/sys](https://github.com/golang/sys ) | `0.35.0` | `0.36.0` |
| [github.com/AzureAD/microsoft-authentication-library-for-go](https://github.com/AzureAD/microsoft-authentication-library-for-go ) | `1.4.2` | `1.5.0` |
| [github.com/aws/aws-sdk-go-v2/feature/ec2/imds](https://github.com/aws/aws-sdk-go-v2 ) | `1.18.4` | `1.18.7` |
| [github.com/aws/aws-sdk-go-v2/service/sso](https://github.com/aws/aws-sdk-go-v2 ) | `1.28.2` | `1.29.2` |
| [github.com/aws/aws-sdk-go-v2/service/ssooidc](https://github.com/aws/aws-sdk-go-v2 ) | `1.33.2` | `1.34.3` |
| [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2 ) | `1.38.0` | `1.38.3` |
| [golang.org/x/crypto](https://github.com/golang/crypto ) | `0.41.0` | `0.42.0` |
| [golang.org/x/text](https://github.com/golang/text ) | `0.28.0` | `0.29.0` |
| [golang.org/x/time](https://github.com/golang/time ) | `0.12.0` | `0.13.0` |
| [github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream](https://github.com/aws/aws-sdk-go-v2 ) | `1.7.0` | `1.7.1` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2 ) | `1.31.2` | `1.31.7` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2 ) | `1.18.6` | `1.18.11` |
| [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2 ) | `1.19.0` | `1.19.5` |
| [github.com/aws/aws-sdk-go-v2/internal/configsources](https://github.com/aws/aws-sdk-go-v2 ) | `1.4.4` | `1.4.7` |
| [github.com/aws/aws-sdk-go-v2/internal/endpoints/v2](https://github.com/aws/aws-sdk-go-v2 ) | `2.7.4` | `2.7.7` |
| [github.com/aws/aws-sdk-go-v2/internal/v4a](https://github.com/aws/aws-sdk-go-v2 ) | `1.4.4` | `1.4.7` |
| [github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding](https://github.com/aws/aws-sdk-go-v2 ) | `1.13.0` | `1.13.1` |
| [github.com/aws/aws-sdk-go-v2/service/internal/checksum](https://github.com/aws/aws-sdk-go-v2 ) | `1.8.4` | `1.8.7` |
| [github.com/aws/aws-sdk-go-v2/service/internal/presigned-url](https://github.com/aws/aws-sdk-go-v2 ) | `1.13.4` | `1.13.7` |
| [github.com/aws/aws-sdk-go-v2/service/internal/s3shared](https://github.com/aws/aws-sdk-go-v2 ) | `1.19.4` | `1.19.7` |
Updates `github.com/aws/aws-sdk-go-v2` from 1.38.1 to 1.39.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/v1.38.1...v1.39.0 )
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.87.1 to 1.88.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.87.1...service/s3/v1.88.0 )
Updates `github.com/aws/smithy-go` from 1.22.5 to 1.23.0
- [Release notes](https://github.com/aws/smithy-go/releases )
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/aws/smithy-go/compare/v1.22.5...v1.23.0 )
Updates `github.com/stretchr/testify` from 1.11.0 to 1.11.1
- [Release notes](https://github.com/stretchr/testify/releases )
- [Commits](https://github.com/stretchr/testify/compare/v1.11.0...v1.11.1 )
Updates `golang.org/x/sync` from 0.16.0 to 0.17.0
- [Commits](https://github.com/golang/sync/compare/v0.16.0...v0.17.0 )
Updates `golang.org/x/sys` from 0.35.0 to 0.36.0
- [Commits](https://github.com/golang/sys/compare/v0.35.0...v0.36.0 )
Updates `github.com/AzureAD/microsoft-authentication-library-for-go` from 1.4.2 to 1.5.0
- [Release notes](https://github.com/AzureAD/microsoft-authentication-library-for-go/releases )
- [Changelog](https://github.com/AzureAD/microsoft-authentication-library-for-go/blob/main/changelog.md )
- [Commits](https://github.com/AzureAD/microsoft-authentication-library-for-go/compare/v1.4.2...v1.5.0 )
Updates `github.com/aws/aws-sdk-go-v2/feature/ec2/imds` from 1.18.4 to 1.18.7
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.18.7/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.18.4...config/v1.18.7 )
Updates `github.com/aws/aws-sdk-go-v2/service/sso` from 1.28.2 to 1.29.2
- [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/config/v1.28.2...config/v1.29.2 )
Updates `github.com/aws/aws-sdk-go-v2/service/ssooidc` from 1.33.2 to 1.34.3
- [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/mq/v1.33.2...service/amp/v1.34.3 )
Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.38.0 to 1.38.3
- [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/v1.38.0...v1.38.3 )
Updates `golang.org/x/crypto` from 0.41.0 to 0.42.0
- [Commits](https://github.com/golang/crypto/compare/v0.41.0...v0.42.0 )
Updates `golang.org/x/text` from 0.28.0 to 0.29.0
- [Release notes](https://github.com/golang/text/releases )
- [Commits](https://github.com/golang/text/compare/v0.28.0...v0.29.0 )
Updates `golang.org/x/time` from 0.12.0 to 0.13.0
- [Commits](https://github.com/golang/time/compare/v0.12.0...v0.13.0 )
Updates `github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream` from 1.7.0 to 1.7.1
- [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/v1.7.0...v1.7.1 )
Updates `github.com/aws/aws-sdk-go-v2/config` from 1.31.2 to 1.31.7
- [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/config/v1.31.2...config/v1.31.7 )
Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.18.6 to 1.18.11
- [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/config/v1.18.6...config/v1.18.11 )
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.19.0 to 1.19.5
- [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/v1.19.0...service/pi/v1.19.5 )
Updates `github.com/aws/aws-sdk-go-v2/internal/configsources` from 1.4.4 to 1.4.7
- [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/m2/v1.4.4...service/m2/v1.4.7 )
Updates `github.com/aws/aws-sdk-go-v2/internal/endpoints/v2` from 2.7.4 to 2.7.7
- [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/internal/endpoints/v2.7.4...internal/endpoints/v2.7.7 )
Updates `github.com/aws/aws-sdk-go-v2/internal/v4a` from 1.4.4 to 1.4.7
- [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/m2/v1.4.4...service/m2/v1.4.7 )
Updates `github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding` from 1.13.0 to 1.13.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.13.1/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.13.0...config/v1.13.1 )
Updates `github.com/aws/aws-sdk-go-v2/service/internal/checksum` from 1.8.4 to 1.8.7
- [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/drs/v1.8.4...service/tnb/v1.8.7 )
Updates `github.com/aws/aws-sdk-go-v2/service/internal/presigned-url` from 1.13.4 to 1.13.7
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases )
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/service/mq/v1.13.7/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/mq/v1.13.4...service/mq/v1.13.7 )
Updates `github.com/aws/aws-sdk-go-v2/service/internal/s3shared` from 1.19.4 to 1.19.7
- [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/m2/v1.19.4...service/m2/v1.19.7 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
dependency-version: 1.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.88.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/smithy-go
dependency-version: 1.23.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/stretchr/testify
dependency-version: 1.11.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: golang.org/x/sync
dependency-version: 0.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: golang.org/x/sys
dependency-version: 0.36.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/AzureAD/microsoft-authentication-library-for-go
dependency-version: 1.5.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/ec2/imds
dependency-version: 1.18.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sso
dependency-version: 1.29.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ssooidc
dependency-version: 1.34.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/sts
dependency-version: 1.38.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: golang.org/x/crypto
dependency-version: 0.42.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: golang.org/x/text
dependency-version: 0.29.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: golang.org/x/time
dependency-version: 0.13.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream
dependency-version: 1.7.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/config
dependency-version: 1.31.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
dependency-version: 1.18.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
dependency-version: 1.19.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/internal/configsources
dependency-version: 1.4.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
dependency-version: 2.7.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/internal/v4a
dependency-version: 1.4.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding
dependency-version: 1.13.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/internal/checksum
dependency-version: 1.8.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
dependency-version: 1.13.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/aws/aws-sdk-go-v2/service/internal/s3shared
dependency-version: 1.19.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-08 21:33:00 +00:00
Luke McCrone
d7c73a06ea
test: universal REST structure checks, delete-bucket-tagging test
2025-09-07 13:44:34 -03:00
Ben McClelland
04fbe405ca
Merge pull request #1519 from versity/sis/putobject-size
...
feat: adds x-amz-object-size in PutObject response headers
2025-09-05 13:06:07 -07:00
niksis02
818e91ebde
feat: adds x-amz-object-size in PutObject response headers
...
Closes #1518
Adds the `x-amz-object-size` header to the `PutObject` response, indicating the size of the uploaded object. This change is applied to the POSIX, Azure, and S3 proxy backends.
2025-09-05 21:40:46 +04:00
Ben McClelland
743707b9ae
Merge pull request #1509 from versity/ben/chunk-panic
...
fix: panic in signed-chunk-reader with incorrect debug string
2025-09-02 14:06:34 -07:00
Ben McClelland
dd151001a2
Merge pull request #1506 from versity/ben/ldap-debug
...
cleanup: minor fixes to ldap exported functions and test
2025-09-02 14:06:24 -07:00
Ben McClelland
f50e008ceb
Merge pull request #1511 from ondrap/pfix
...
Fix scoutfs backend s3 upload with non-aligned size.
2025-09-02 10:08:45 -07:00
Ben McClelland
488a9ac1bb
fix: panic in signed-chunk-reader with incorrect debug string
...
The following panic was triggered when mc client (that uses
chunked uploads) would upload a 171164 byte file. This likely
could have been hit with other sizes as well, but this size
was able to reliably reproduce the issue.
panic: runtime error: slice bounds out of range [:2] with capacity 1
goroutine 66 [running]:
github.com/versity/versitygw/s3api/utils.(*ChunkReader).parseChunkHeaderBytes(0x14000276200, {0x14000167fff?, 0x14000103180?, 0x200000003?})
versitygw/s3api/utils/signed-chunk-reader.go:372 +0xe54
github.com/versity/versitygw/s3api/utils.(*ChunkReader).parseAndRemoveChunkInfo(0x14000276200, {0x14000167fff, 0x1, 0x1})
versitygw/s3api/utils/signed-chunk-reader.go:251 +0x50
github.com/versity/versitygw/s3api/utils.(*ChunkReader).Read(0x14000276200, {0x14000160000, 0x14000056c00?, 0x8000})
versitygw/s3api/utils/signed-chunk-reader.go:126 +0x188
io.(*teeReader).Read(0x140000b09c0, {0x14000160000, 0x105e7b368?, 0x8000})
/usr/local/go/src/io/io.go:628 +0x34
...
The reproducer is:
% truncate -s 171764 testfile
% mc cp testfile gwtest/mybucket/testfile
mc: <ERROR> Failed to copy `/Users/ben/repo/s3perf/tools/testfile`. Put "http://127.0.0.1:7070/mybucket/testfile ": dial tcp 127.0.0.1:7070: connect: connection refused
The panic can happen because the capacity of header ([]byte) at
the point of the debuglog line can be less than 2, but we were
trying to always send the first 2 bytes to the debug log.
2025-09-02 08:30:03 -07:00
Ben McClelland
b46a486d29
cleanup: s3 iam server debug logging done with debuglogger
...
Move the debug output to the standard debuglogger for more
consistency across the project.
2025-09-01 20:02:04 -07:00
Ben McClelland
5aa407d832
cleanup: ipa iam server debug logging done with debuglogger
...
Move the debug output to the standard debuglogger for more
consistency across the project.
2025-09-01 20:02:04 -07:00
Ben McClelland
b358e385db
cleanup: minor fixes to ldap exported functions and test
...
The buildSearchFilter function doesn't need to be exported, and
can use strings.Builder. Add a unit test to make sure this didn't
change any logic.
This will also use the debuglogger to enable debugging.
2025-09-01 20:02:04 -07:00