Ben McClelland
6fd939386c
Merge pull request #1735 from versity/dependabot/go_modules/dev-dependencies-67992aebd4
...
chore(deps): bump github.com/valyala/fasthttp from 1.68.0 to 1.69.0 in the dev-dependencies group
2026-01-06 08:25:55 -08:00
dependabot[bot]
7a4dd59c81
chore(deps): bump github.com/valyala/fasthttp
...
Bumps the dev-dependencies group with 1 update: [github.com/valyala/fasthttp](https://github.com/valyala/fasthttp ).
Updates `github.com/valyala/fasthttp` from 1.68.0 to 1.69.0
- [Release notes](https://github.com/valyala/fasthttp/releases )
- [Commits](https://github.com/valyala/fasthttp/compare/v1.68.0...v1.69.0 )
---
updated-dependencies:
- dependency-name: github.com/valyala/fasthttp
dependency-version: 1.69.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-05 21:06:58 +00:00
Ben McClelland
6f74d2cddb
Merge pull request #1732 from versity/sis/getbucketlocation-us-east-1
...
fix: return null in GetBucketLocation for us-east-1
2026-01-05 08:22:33 -08:00
niksis02
8e0eec0201
fix: return null in GetBucketLocation for us-east-1
...
Fixes #1643
`GetBucketLocation` in S3 returns empty `LocationConstraint` if the bucket is in the `us-east-1` region. This fix returns empty `LocationConstraint` if the gateway region is `us-east-1`.
2026-01-05 16:24:01 +04:00
Ben McClelland
0cfacfc049
Merge pull request #1730 from versity/sis/create-bucket-location-constraint-us-east-1
...
fix: fixes CreateBucket LocationConstraint validation
2026-01-03 20:52:57 -08:00
Ben McClelland
6b017aa5cd
Merge pull request #1729 from versity/sis/versions-query-with-key
...
fix: adds an error route for ?versions subresource with key
2026-01-03 20:52:09 -08:00
Ben McClelland
841a012ce0
Merge pull request #1728 from versity/sis/get-object-empty-tagging
...
fix: removes the NoSuchTagSet error in GetObjectTagging
2026-01-03 20:51:08 -08:00
Ben McClelland
067de184a9
Merge pull request #1726 from versity/sis/object-tagging-response-versionid
...
fix: adds versionId in put/get/delete object tagging actions response.
2026-01-03 20:50:24 -08:00
Ben McClelland
10ab569277
Merge pull request #1725 from versity/sis/sigv4-expect-header
...
fix: removes Expect from sigv4 ignored headers list
2026-01-03 20:49:21 -08:00
Ben McClelland
01552b78c7
Merge pull request #1713 from versity/test/get_bucket_policy_status
...
Test/get bucket policy status
2026-01-03 20:48:40 -08:00
niksis02
d0158420ee
fix: fixes CreateBucket LocationConstraint validation
...
Fixes #1654
Fixes #1644
CreateBucket `LocationConstraint` rejects empty values with an `InvalidLocationConstraint` error.
The `us-east-1` `LocationConstraint` is considered invalid because it is the default value and must not be present in the `CreateBucketConfiguration` request body.
This PR fixes both issues by returning `InvalidLocationConstraint` in both cases.
2026-01-03 23:21:19 +04:00
niksis02
c2c2306d37
fix: adds an error route for ?versions subresource with key
...
Fixes #1688
S3 returns a specific `InvalidRequest` error for the requests with `?versions` query param against `object` resource. The PR implements this error route.
2026-01-03 16:23:11 +04:00
Luke McCrone
841b3d61a4
test: policy status, policy command updates
2026-01-02 19:15:00 -03:00
Luke McCrone
fa2e677370
test: empty tag test correction
2026-01-02 17:02:50 -03:00
niksis02
9f6bf183f4
fix: removes Expect from sigv4 ignored headers list
...
Fixes #1707
The `Expect` HTTP header is ignored by the AWS SDK SigV4 signer and is omitted during signature calculation. As a result, the signature is computed incorrectly when the `Expect` header is included in the signed headers. This PR removes the `Expect` header from the SigV4 ignored headers list in the SDK-derived source code.
2026-01-02 23:47:45 +04:00
niksis02
12e1308d1f
fix: adds versionId in put/get/delete object tagging actions response.
...
Fixes #1698
`PutObjectTagging`, `GetObjectTagging` and `DeleteObjectTagging` return the `x-amz-version-id` in the response headers. The PR adds this header in the responses.
2026-01-02 23:46:52 +04:00
Ben McClelland
f235b62b70
Merge pull request #1727 from versity/sis/object-write-if-none-match
2026-01-02 11:40:10 -08:00
niksis02
06a45124b1
fix: removes the NoSuchTagSet error in GetObjecTagging
...
Fixes #1686
GetObjectTagging previously returned a `NoSuchTagSet` error when no object tags were set. This has been fixed, and an empty tag set is now returned instead.
2026-01-02 23:31:35 +04:00
niksis02
a75aa9bad5
fix: fixes if-none-match precondition header logic in object write operations
...
Fixes #1708
This PR focuses on evaluating the `x-amz-if-none-match` precondition header for object PUT operations. If any value other than `*` is provided, a `NotImplemented` error is returned. If `If-Match` is used together with `If-None-Match`, regardless of the value combination, a `NotImplemented` error is returned. When only `If-None-Match: *` is specified, a `PreconditionFailed` error is returned if the object already exists in `PutObject` or `CompleteMultipartUpload`; if the object does not exist, object creation is allowed.
2026-01-02 22:59:13 +04:00
Ben McClelland
4cbd58cc66
Merge pull request #1717 from loktionovam/fix-meta-sidecar-cleanup
...
fix: cleanup sidecar metadata empty dirs
2025-12-31 00:44:19 -08:00
Ben McClelland
e5343cf611
Merge pull request #1723 from versity/sis/if-match-size-debug-log-fix
...
fix: fixes x-amz-if-match-size parsing
2025-12-31 00:34:08 -08:00
Ben McClelland
0a2c7ac7cb
Merge pull request #1722 from versity/sis/authorizationheadermalformed-err-status
...
fix: changes AuthorizationHeaderMalformed error status to 400
2025-12-31 00:32:49 -08:00
Ben McClelland
b1fed810a7
Merge pull request #1721 from versity/sis/precondition-ifmatch-obj-not-exist
...
fix: return NoSuchKey if a precondition header is present and object doesn't exist in PutObject, CompleteMultipartUpload
2025-12-31 00:32:02 -08:00
Ben McClelland
48b590fcb8
Merge pull request #1720 from versity/dependabot/go_modules/dev-dependencies-92da416cd8
...
chore(deps): bump the dev-dependencies group with 2 updates
2025-12-31 00:30:01 -08:00
Ben McClelland
f835ef1772
Merge pull request #1719 from versity/sis/putbucketpolicy-status
...
fix: fixes the PutBucketPolicy response status
2025-12-31 00:29:33 -08:00
Ben McClelland
d819fa8665
Merge pull request #1716 from versity/sis/complete-mp-location
...
feat: adds Location in CompleteMultipartUpload response
2025-12-31 00:28:27 -08:00
Ben McClelland
0240bb922c
Merge pull request #1715 from versity/sis/precondition-string-quotes
...
fix: Makes precondition headers insensitive to whether the value is quoted
2025-12-31 00:23:17 -08:00
Ben McClelland
0b3722bd09
Merge pull request #1703 from versity/test/add_skips_checker
...
tests: add skips checker, remove skips, add new issues
2025-12-31 00:21:44 -08:00
Ben McClelland
7c454d230e
Merge pull request #1701 from versity/sis/signed-streaming-upload-error-handling
...
fix: bunch of fixes in signed streaming requests
2025-12-31 00:20:27 -08:00
niksis02
981a34e9d5
fix: fixes x-amz-if-match-size parsing
...
The `x-amz-if-match-size` parsing debug log used to appear for all `DeleteObject` calls when the header was missing. An empty-string check was missing, which led to attempting to parse an empty string into an `int64`, causing a failure and triggering the debug log. This check has now been added, and the debug log is emitted only when the header is present and contains an invalid `int64` value.
2025-12-30 12:35:14 +04:00
niksis02
657b9ac046
fix: changes AuthorizationHeaderMalformed error status to 400
...
Fixes #1706
Changes the `AuthorizationHeaderMalformed` error http status code from `403` to `400`.
2025-12-30 12:21:54 +04:00
niksis02
61308d2fbf
fix: return NoSuchKey if a precondition header is present and object doesn't exist in PutObject, CompleteMultipartUpload
...
Fixes #1709
If any precondition header is present(`If-Match`, `If-None-Match`) in `PutObject` and `CompleteMultipartUpload` and there's no object in the bucket with the given key, a `NoSuchKey` error is now returned. Previously the headers were simply ignored and new object creation was allowed.
2025-12-30 12:02:49 +04:00
dependabot[bot]
8d16bff8ce
chore(deps): bump the dev-dependencies group with 2 updates
...
Bumps the dev-dependencies group with 2 updates: [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2 ) 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.94.0 to 1.95.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.94.0...service/s3/v1.95.0 )
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.20.17 to 1.20.18
- [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/emr/v1.20.17...service/emr/v1.20.18 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.95.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.20.18
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-29 21:07:20 +00:00
Luke McCrone
35596b38ae
test: change 200 in test to 204
2025-12-29 14:29:08 -03:00
niksis02
39ee175484
fix: fixes the PutBucketPolicy response status
...
Fixes #1712
A successful `PutBucketPolicy` call returns `204`(No Content) http status. This PR fixes the response status code, by sending correct `204`, insted of `200`.
2025-12-29 21:10:52 +04:00
Aleksandr Loktionov
edac345c23
fix: cleanup sidecar metadata empty dirs
2025-12-29 08:24:05 -03:00
niksis02
f467b896d8
feat: adds Location in CompleteMultipartUpload response
...
Closes #1714
There is a `Location` field in the `CompleteMultipartUpload` result that represents the newly created object URL. This PR adds this property to the `CompleteMultipartUpload` response, generating it dynamically in either host-style or path-style format, depending on the gateway configuration.
2025-12-29 13:39:54 +04:00
niksis02
5aa2a822e8
fix: Makes precondition headers insensitive to whether the value is quoted
...
Fixes #1710
The `If-Match` and `If-None-Match` precondition header values represent object ETags. ETags are generally quoted; however, S3 evaluates precondition headers equivalently whether the ETag is quoted or not, comparing only the underlying value and ignoring the quotes if present.
The new implementation trims quotes from the ETag in both the input precondition header and the object metadata, ensuring that comparisons are performed purely on the ETag value and are insensitive to quoting.
2025-12-28 13:51:33 +04:00
Ben McClelland
eb6ffca21e
Merge pull request #1711 from versity/dependabot/go_modules/dev-dependencies-2d4e6651f3
...
chore(deps): bump the dev-dependencies group with 6 updates
2025-12-26 12:03:43 -08:00
niksis02
cc54aad003
feat: adds integration tests for STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER requests
2025-12-26 21:16:01 +04:00
niksis02
807399459d
feat: adds integration tests for STREAMING-AWS4-HMAC-SHA256-PAYLOAD requests
2025-12-23 02:31:27 +04:00
dependabot[bot]
0124398f10
chore(deps): bump the dev-dependencies group with 6 updates
...
Bumps the dev-dependencies group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/nats-io/nats.go](https://github.com/nats-io/nats.go ) | `1.47.0` | `1.48.0` |
| [github.com/aws/aws-sdk-go-v2/service/sso](https://github.com/aws/aws-sdk-go-v2 ) | `1.30.7` | `1.30.8` |
| [github.com/pierrec/lz4/v4](https://github.com/pierrec/lz4 ) | `4.1.22` | `4.1.23` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2 ) | `1.32.5` | `1.32.6` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2 ) | `1.19.5` | `1.19.6` |
| [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2 ) | `1.20.16` | `1.20.17` |
Updates `github.com/nats-io/nats.go` from 1.47.0 to 1.48.0
- [Release notes](https://github.com/nats-io/nats.go/releases )
- [Commits](https://github.com/nats-io/nats.go/compare/v1.47.0...v1.48.0 )
Updates `github.com/aws/aws-sdk-go-v2/service/sso` from 1.30.7 to 1.30.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/service/acm/v1.30.7...service/acm/v1.30.8 )
Updates `github.com/pierrec/lz4/v4` from 4.1.22 to 4.1.23
- [Release notes](https://github.com/pierrec/lz4/releases )
- [Commits](https://github.com/pierrec/lz4/compare/v4.1.22...v4.1.23 )
Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.5 to 1.32.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/v1.32.5...v1.32.6 )
Updates `github.com/aws/aws-sdk-go-v2/credentials` 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/m2/v1.19.5...service/m2/v1.19.6 )
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.20.16 to 1.20.17
- [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/emr/v1.20.16...service/emr/v1.20.17 )
---
updated-dependencies:
- dependency-name: github.com/nats-io/nats.go
dependency-version: 1.48.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.30.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: github.com/pierrec/lz4/v4
dependency-version: 4.1.23
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.32.6
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.19.6
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.20.17
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-22 21:11:46 +00:00
Luke McCrone
5d8d054fdc
test: add skips check YML, remove old skips, add new issues
2025-12-22 15:16:58 -03:00
Ben McClelland
b15e03d154
Merge pull request #1700 from versity/test/put_object_more
...
Test: addition of Get/PutObjectTagging versioning tests
v1.0.20
2025-12-18 08:14:22 -08:00
Luke McCrone
4a31d0d5d2
test: Get/PutObjectTagging tests with versioning
2025-12-17 15:00:54 -03:00
Ben McClelland
2ab1cef407
Merge pull request #1682 from versity/test/break_up_utils
...
Test: util code cleanup/reorganization
2025-12-17 09:35:56 -08:00
niksis02
9eaaeedd28
fix: bunch of fixes in signed streaming requests
...
Fixes #1683
Fixes #1684
Fixes #1685
Fixes #1690
Fixes #1691
Fixes #1692
Fixes #1694
Fixes #1695
This PR primarily focuses on error handling and checksum calculation for signed streaming requests of type `STREAMING-AWS4-HMAC-SHA256-PAYLOAD` and `STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER`.
It fixes the error type returned when the payload encoding is incorrect: the correct `IncompleteBody` error is now returned.
Chunk size validation has been added, enforcing the rule that only the final chunk may be smaller than 8192 bytes.
The `x-amz-trailer` header value is now validated against the checksum trailer present in the payload. For `STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER` requests, if no checksum trailer is provided in the payload, the gateway now returns an `IncompleteBody` error.
If there is a mismatch between the `x-amz-trailer` header and the checksum trailer in the payload, or if the checksum header key in the payload is invalid, a `MalformedTrailer` error is returned.
The `x-amz-decoded-content-length` header value is now compared against the actual decoded payload length, and an `IncompleteBody` error is returned if there is a mismatch.
Finally, the double checksum calculation issue has been fixed. For `STREAMING-AWS4-HMAC-SHA256-PAYLOAD-TRAILER` requests, the trailing checksum is now parsed from the request payload and stored in the backend, instead of being recalculated by the backend.
2025-12-16 23:15:34 +04:00
Luke McCrone
9fb039b878
test: util cleanup
2025-12-16 10:30:52 -03:00
Ben McClelland
8fc56208eb
Merge pull request #1699 from versity/dependabot/go_modules/dev-dependencies-8387c00be9
...
chore(deps): bump the dev-dependencies group with 6 updates
2025-12-15 16:47:57 -08:00
dependabot[bot]
cadd79139f
chore(deps): bump the dev-dependencies group with 6 updates
...
Bumps the dev-dependencies group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2 ) | `1.93.1` | `1.94.0` |
| [github.com/aws/aws-sdk-go-v2/service/sts](https://github.com/aws/aws-sdk-go-v2 ) | `1.41.4` | `1.41.5` |
| [golang.org/x/net](https://github.com/golang/net ) | `0.47.0` | `0.48.0` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2 ) | `1.32.4` | `1.32.5` |
| [github.com/aws/aws-sdk-go-v2/credentials](https://github.com/aws/aws-sdk-go-v2 ) | `1.19.4` | `1.19.5` |
| [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2 ) | `1.20.14` | `1.20.16` |
Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.93.1 to 1.94.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.93.1...service/s3/v1.94.0 )
Updates `github.com/aws/aws-sdk-go-v2/service/sts` from 1.41.4 to 1.41.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/sts/v1.41.4...service/sts/v1.41.5 )
Updates `golang.org/x/net` from 0.47.0 to 0.48.0
- [Commits](https://github.com/golang/net/compare/v0.47.0...v0.48.0 )
Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.4 to 1.32.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.32.4...v1.32.5 )
Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.19.4 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/service/m2/v1.19.4...service/m2/v1.19.5 )
Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.20.14 to 1.20.16
- [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/emr/v1.20.14...service/emr/v1.20.16 )
---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
dependency-version: 1.94.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/sts
dependency-version: 1.41.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: dev-dependencies
- dependency-name: golang.org/x/net
dependency-version: 0.48.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.32.5
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.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/feature/s3/manager
dependency-version: 1.20.16
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dev-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-15 21:11:48 +00:00