S3 API Encoding issue with ceph radosgw
Issue
- When using the encoding-type parameter to list buckets the url keys are not encoded properly. certain characters do no appear to be encoded.
In the example below the + signs should appear as %2B. The url string was executed against our Ceph Radosgw and against AWS S3.
The difference was that the ++ signs in the key were encoded the AWS return and not in the Ceph return.
Command:
$curl http://testurl/encode-test?encoding-type=url
Return:
<?xml version="1.0" encoding="UTF-8"?><ListBucketResult xmlns="http:/testurl//doc/2006-03-01/"><Name>encode-test</Name><Prefix></Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>ImageMagick-c++-6.7.8.9-10.el7.i686.rpm</Key><LastModified>2015-05-11T13:48:13.000Z</LastModified><ETag>"test;</ETag><Size>test</Size><StorageClass>STANDARD</StorageClass><Owner><ID>sync_ziggurat</ID><DisplayName>sync_ziggurat</DisplayName></Owner></Contents></ListBucketResult>
Environment
- Red Hat Ceph Storage 1.2.3
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
