You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Elek, Marton (JIRA)" <ji...@apache.org> on 2018/12/03 10:45:00 UTC

[jira] [Created] (HDDS-892) Parse aws v2 headers without spaces in Ozone s3 gateway

Elek, Marton created HDDS-892:
---------------------------------

             Summary: Parse aws v2 headers without spaces in Ozone s3 gateway 
                 Key: HDDS-892
                 URL: https://issues.apache.org/jira/browse/HDDS-892
             Project: Hadoop Distributed Data Store
          Issue Type: Sub-task
          Components: S3
            Reporter: Elek, Marton
            Assignee: Elek, Marton
         Attachments: HDDS-892.001.patch

As of now s3g can't be used with s3cmd (which is seems to be an other popular s3 cli) as it doesn't add any space to the authorization headers.

Example command:

```
s3cmd ls --no-ssl --host localhost:9878 --host-bucket '%(bucket)s.localhost:9878' s3://b1qwe
```

Result:

{code}
ERROR: S3 error: 404 (AuthorizationHeaderMalformed): The authorization header you provided is invalid.
{code}

With the debug option the header could be checked:

{code}
DEBUG: Processing request, please wait...
DEBUG: get_hostname(b1qwe): b1qwe.localhost:9878
DEBUG: ConnMan.get(): creating new connection: http://b1qwe.localhost:9878
DEBUG: non-proxied HTTPConnection(b1qwe.localhost, 9878)
DEBUG: format_uri(): /?delimiter=%2F
DEBUG: Sending request method_string='GET', uri='/?delimiter=%2F', headers={'x-amz-date': '20181203T103324Z', 'Authorization': 'AWS4-HMAC-SHA256 Credential=AKIAJGCRGUGIL3DUFDHA/20181203/US/s3/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date,Signature=762a2dbe21a01fdd1699fb71336ee06b53302f64cd099055ca54088a9ecfc787', 'x-amz-content-sha256': 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'}, body=(0 bytes)
DEBUG: ConnMan.put(): connection put back to pool (http://b1qwe.localhost:9878#1)
{code}

The problem here is that we have no spaces between the segments of the authorization headers but we expect them in the AuthorizationHeaderV4 class.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org