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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content