Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

S3 first request against root path instead of defined path #7428

Closed
cyberduck opened this issue Sep 4, 2013 · 1 comment
Closed

S3 first request against root path instead of defined path #7428

cyberduck opened this issue Sep 4, 2013 · 1 comment
Assignees
Labels
bug fixed s3 AWS S3 Protocol Implementation
Milestone

Comments

@cyberduck
Copy link
Collaborator

da06755 created the issue

Hi,

I am using cyberduck to connect swift openstack with S3 compatibility (S3 connection). I have user in my account who has access only to specific contener and when I want to specify this contener in path in connection configuration, request are still made against root path:

Connection failed

[Content]
Request Error [<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>InvalidURI</Code>
  <Message>Could not parse the specified URI</Message>
</Error>
].

[Expanded Information]
GET / HTTP/1.1
Date: Wed, 04 Sep 2013 08:38:20 GMT
Authorization: AWS TestUser1234:user2:7eiwZgogQZHIH15ezrePKA/taKA=
Host: swift.example.com:443
Connection: Keep-Alive
User-Agent: Cyberduck/4.3.1 (11008) (Windows 7/6.1) (x86)
HTTP/1.1 400 Bad Request
Content-Type: text/xml; charset=UTF-8
Content-Length: 142
X-Trans-Id: tx19ff67fdd6324b2092f5a63f316bd20f
Date: Wed, 04 Sep 2013 08:38:24 GMT
Connection: keep-alive

This error appears because this user does not have permission to list all containers ("GET /"). This is example of what I want to achieve using s3curl:

./s3curl.pl --id 'TestUser1234:user2' --key '12345' --get -- -v -s http:/swift.example.com/write
> GET /write HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: swift.example.com
> Accept: */*
> Date: Wed, 04 Sep 2013 09:27:59 +0000
> Authorization: AWS TestUser1234:user2:MMx5w6QnXMznzYorsR/v59UWbd0=
> 
< HTTP/1.1 200 OK
< Content-Type: application/xml; charset=UTF-8
< Content-Length: 634
< X-Trans-Id: txf872775ac3a141e490367e1281edde9d
< Date: Wed, 04 Sep 2013 09:27:59 GMT

and a I get the same error like in cyberduck when try get root path:

./s3curl.pl --id 'TestUser1234:user2' --key '12345' --get -- -v -s http://swift.example.com
> GET / HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: swift.example.com
> Accept: */*
> Date: Wed, 04 Sep 2013 09:32:42 +0000
> Authorization: AWS TestUser1234:user2:+73L0pJhqXJSrF1le9POcjY594U=
> 
< HTTP/1.1 400 Bad Request
< Content-Type: text/xml; charset=UTF-8
< Content-Length: 142
< X-Trans-Id: tx782b945df6884d27ad3df0743148b7f7
< Date: Wed, 04 Sep 2013 09:32:42 GMT
< 
<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>InvalidURI</Code>
  <Message>Could not parse the specified URI</Message>
</Error>

when using user who has access to root path (admin in swift) cyberduck display content of container defined in path configuration.

@cyberduck
Copy link
Collaborator Author

@dkocher commented

In 2184bda.

@iterate-ch iterate-ch locked as resolved and limited conversation to collaborators Nov 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug fixed s3 AWS S3 Protocol Implementation
Projects
None yet
Development

No branches or pull requests

2 participants