S3 supported object name validation coverage - #899
Merged
mergify[bot] merged 1 commit intoAug 29, 2026
Merged
Conversation
Signed-off-by: chaithra <ckulal@redhat.com>
ckulal
force-pushed
the
object_name_validation2
branch
from
August 23, 2026 06:04
6562fb7 to
1e673ea
Compare
Contributor
|
LGTM |
TejasC88
approved these changes
Aug 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
S3 supported object name validation coverage:
Adds RGW coverage for S3 object key naming against the
Amazon S3 object key guidelines.
The test creates an RGW user and bucket, then PUT/GET/DELETE objects whose keys exercise each AWS category.
Categories
Safe characters — alphanumerics, ! - _ . * ' ( ), documented AWS examples, prefix/delimiter keys, trailing period, and case-sensitive names
Period-only path segments — . / .. segments that remain valid via the S3 API (./file.txt, folder/../file.txt, hidden/backup names, AWS valid relative path videos/2014/../../video1.wmv, key .)
Special handling — & $ @ = ; / : + space , ?, leading/trailing/consecutive slashes, non-ASCII UTF-8, and ASCII 00–1F / 7F (NUL is expected to fail)
Characters to avoid — \ { } ^ % \ ] " > [ ~ < # |` and ASCII 128–255; still expected to succeed over the API
Hard limits — empty key (reject), 1024-byte UTF-8 max (accept), 1025 bytes (reject), multibyte UTF-8 at/over the limit, and key soap (allowed with path-style)
Confirm safe, period-segment, special-handling, and avoid keys PUT/GET successfully
Confirm empty key, keys over 1024 UTF-8 bytes, and NUL are rejected
Confirm objects and the test bucket are cleaned up
Pass log: http://magna002.ceph.redhat.com/ceph-qe-logs/obj_name_validation/test_object_name_validation.console.log2