chrislu
9f88fd2ea5
fixes
...
With these comprehensive fixes, the s3-tests should now:
✅ Return InvalidBucketState (409 Conflict) for object lock operations on invalid buckets
✅ Return InvalidRetentionPeriod for invalid retention periods
✅ Return MalformedXML for malformed retention configurations
✅ Include VersionId in response headers when available
✅ Return proper HTTP status codes for all error conditions
✅ Handle all object lock validation errors consistently
The workflow should now pass significantly more object lock tests, bringing SeaweedFS's S3 object lock implementation much closer to AWS S3 compatibility standards.
2025-07-18 15:45:15 -07:00
chrislu
0123abe49b
address test errors
...
With these fixes, the s3-tests should now:
✅ Return InvalidBucketState (409 Conflict) for object lock operations on invalid buckets
✅ Return MalformedXML for invalid retention configurations
✅ Include VersionId in response headers when available
✅ Return proper HTTP status codes (403 Forbidden for retention mode changes)
✅ Handle all object lock validation errors consistently
2025-07-18 15:39:30 -07:00
chrislu
4b92f03b65
address test errors
2025-07-18 15:33:44 -07:00
chrislu
9f8e0257b0
read entry once
2025-07-18 14:39:02 -07:00
Chris Lu
69553e5ba6
convert error fromating to %w everywhere ( #6995 )
2025-07-16 23:39:27 -07:00
Chris Lu and Copilot
a524b4f485
Object locking need to persist the tags and set the headers ( #6994 )
...
* fix object locking read and write
No logic to include object lock metadata in HEAD/GET response headers
No logic to extract object lock metadata from PUT request headers
* add tests for object locking
* Update weed/s3api/s3api_object_handlers_put.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update weed/s3api/s3api_object_handlers.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* refactor
* add unit tests
* sync versions
* Update s3_worm_integration_test.go
* fix legal hold values
* lint
* fix tests
* racing condition when enable versioning
* fix tests
* validate put object lock header
* allow check lock permissions for PUT
* default to OFF legal hold
* only set object lock headers for objects that are actually from object lock-enabled buckets
fix --- FAIL: TestAddObjectLockHeadersToResponse/Handle_entry_with_no_object_lock_metadata (0.00s)
* address comments
* fix tests
* purge
* fix
* refactoring
* address comment
* address comment
* Update weed/s3api/s3api_object_handlers_put.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update weed/s3api/s3api_object_handlers_put.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update weed/s3api/s3api_object_handlers.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* avoid nil
* ensure locked objects cannot be overwritten
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-16 23:00:25 -07:00
Chris Lu
7cb1ca1308
Add policy engine ( #6970 )
2025-07-13 16:21:36 -07:00
Chris Lu and Copilot
1549ee2e15
implement PubObjectRetention and WORM ( #6969 )
...
* implement PubObjectRetention and WORM
* Update s3_worm_integration_test.go
* avoid previous buckets
* Update s3-versioning-tests.yml
* address comments
* address comments
* rename to ExtObjectLockModeKey
* only checkObjectLockPermissions if versioningEnabled
* address comments
* comments
* Revert "comments"
This reverts commit 6736434176 .
* Update s3api_object_handlers_skip.go
* Update s3api_object_retention_test.go
* add version id to ObjectIdentifier
* address comments
* add comments
* Add proper error logging for timestamp parsing failures
* address comments
* add version id to the error
* Update weed/s3api/s3api_object_retention_test.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update weed/s3api/s3api_object_retention.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* constants
* fix comments
* address comments
* address comment
* refactor out handleObjectLockAvailabilityCheck
* errors.Is ErrBucketNotFound
* better error checking
* address comments
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-12 21:58:55 -07:00