[Cyberduck-trac] [Cyberduck] #8779: Interoperability with Ceph S3 (Radosgw)

Cyberduck trac at trac.cyberduck.io
Fri May 1 06:55:05 UTC 2015


#8779: Interoperability with Ceph S3 (Radosgw)
-----------------------+------------------------
 Reporter:  ben hines  |         Owner:  dkocher
     Type:  defect     |        Status:  new
 Priority:  normal     |     Milestone:  4.8
Component:  s3         |       Version:  4.7
 Severity:  normal     |    Resolution:
 Keywords:  s3 aws     |  Architecture:  Intel
 Platform:  Windows 7  |
-----------------------+------------------------
Description changed by dkocher:

Old description:

> This is using a non-https Ceph S3 (Radosgw) server.
>
> 0. Set up a s3 bucket
> 1. Create a file: ie -
>
>  curl -X PUT -d @test.txt -i -H "x-amz-acl: public-read-write"
> http://radosgw/test3/subdir/foo.txt
> HTTP/1.1 200 OK
>
> 2. Verify curl can download it:
> curl http://radosgw/test3/subdir/foo.txt
> foo
>
> 3. Connect to the bucket with cyberduck and attempt to download it,
> fails.
>
> According to tcpdump, Cybderduck is encoding the slash in the key-name:
>
> GET /test3/subdir%2Ffoo.txt HTTP/1.1
>

> The bucket index looks like:
>
> <Contents><Key>subdir/foo.txt</Key><LastModified>2015-04-30T19:12:38.000Z</LastModified><ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag><Size>3</Size><StorageClass>STANDARD</StorageClass><Owner><ID/><DisplayName/></Owner></Contents>
>
> The forward slash in the key name should not be encoded by cyberduck
> before it tries to download it.
>
> I have not tested this with Amazon S3, so i'm not sure if this only
> affects Ceph/insecure s3.

New description:

 This is using a non-https Ceph S3 (Radosgw) server.

  0. Set up a s3 bucket
  1. Create a file: ie -


 {{{
 curl -X PUT -d @test.txt -i -H "x-amz-acl: public-read-write"
 http://radosgw/test3/subdir/foo.txt
 HTTP/1.1 200 OK
 }}}


  2. Verify curl can download it:

 {{{
 curl http://radosgw/test3/subdir/foo.txt
 foo
 }}}


  * 3. Connect to the bucket with cyberduck and attempt to download it,
 fails.

 According to tcpdump, Cybderduck is encoding the slash in the key-name:


 {{{
 GET /test3/subdir%2Ffoo.txt HTTP/1.1
 }}}



 The bucket index looks like:


 {{{
 <Contents><Key>subdir/foo.txt</Key><LastModified>2015-04-30T19:12:38.000Z</LastModified><ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag><Size>3</Size><StorageClass>STANDARD</StorageClass><Owner><ID/><DisplayName/></Owner></Contents>
 }}}


 The forward slash in the key name should not be encoded by cyberduck
 before it tries to download it.

 I have not tested this with Amazon S3, so i'm not sure if this only
 affects Ceph/insecure s3.

--

-- 
Ticket URL: <https://trac.cyberduck.io/ticket/8779#comment:2>
Cyberduck <https://cyberduck.io>
Libre FTP, SFTP, WebDAV, S3 & OpenStack Swift browser for Mac and Windows


More information about the Cyberduck-trac mailing list