Ceph radosgw を使用した S3 API エンコーディングの問題
Issue
- encoding-type パラメーターを使用した bucket の一覧を作成する際、url キーが適切にエンコードされていません。特定文字がエンコードされていないようです。
以下の例では + 記号が %2B として表示されます。url 文字列は、Ceph Radosgw と AWS S3 に対して使用されます。
AWS が返すキーの ++ 記号が Ceph では ++ 記号になりません。
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, tools, and much more.