S3 API Encoding issue with ceph radosgw

Solution In Progress - Updated -

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>&quot;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.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.