-
Notifications
You must be signed in to change notification settings - Fork 855
fix:ListObjects and ListObjectV2 correctly handles unordered and delimiter #1285
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix:ListObjects and ListObjectV2 correctly handles unordered and delimiter #1285
Conversation
…andles-unordered-and-delimiter
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes S3 API compliance validation for ListObjectsV2 and ListObjects operations by rejecting requests that combine the allow-unordered=true query parameter with a delimiter, returning an InvalidArgument error as required by the S3 specification.
Key changes:
- Added validation logic in
list_objects_v2to detect and reject the incompatible parameter combination - Implemented query string parsing to check for the
allow-unordered=trueparameter - Returns appropriate S3Error when invalid combination is detected
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
This PR correctly fixes an S3 API compatibility issue by rejecting the invalid Key Issues and Suggestions
Recommendations
Thanks for the contribution! This strengthens S3 compatibility. Let me know if you need help implementing these changes. |
|
Related to #1289 |
* 'main' of github.com:rustfs/rustfs: fix: Prevent panic in GetMetrics gRPC handler on invalid input (#1291) Modular Makefile (#1288) fix:ListObjects and ListObjectV2 correctly handles unordered and delimiter (#1285) fix: ensure version_id is returned in S3 response headers (#1272) feat: add function to extract user-defined metadata keys and integrat… (#1281) helm: update default Chart.yaml, appVersion version bump, add appVersion as a default image tag (#1247) fix:affinity.podAntiAffinity.enabled value not taking effect (#1280) fix: prevent PV/PVC deletion during rustfs uninstallation (#1279) # Conflicts: # Cargo.lock
Type of Change
Summary of Changes
Fix S3 compatibility validation: properly reject the allow-unordered=true query parameter when used with Delimiter="/" in ListObjectsV2 operations, returning InvalidArgument error as required by the S3 API specification to fix the failing test_bucket_list_unordered and test_bucket_listv2_unorderedtest case.
Checklist
make pre-commitImpact