Repository: jclouds
Updated Branches:
  refs/heads/master d29b79674 -> 9b59d099d


JCLOUDS-1358: Handle 0-byte input with v4 signature

Previously this failed due to use of mark and reset on the
InputStream.


Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/9b59d099
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/9b59d099
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/9b59d099

Branch: refs/heads/master
Commit: 9b59d099d18bb2f1894f81b0f52a9c853aa5e599
Parents: d29b796
Author: Andrew Gaul <[email protected]>
Authored: Tue Nov 21 11:36:11 2017 -0800
Committer: Andrew Gaul <[email protected]>
Committed: Tue Nov 21 11:36:11 2017 -0800

----------------------------------------------------------------------
 .../org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java  | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/9b59d099/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
----------------------------------------------------------------------
diff --git 
a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
 
b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
index 4bb160a..f481fc0 100644
--- 
a/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
+++ 
b/apis/s3/src/main/java/org/jclouds/s3/filters/Aws4SignerForAuthorizationHeader.java
@@ -169,8 +169,7 @@ public class Aws4SignerForAuthorizationHeader extends 
Aws4SignerBase {
 
    protected String getPayloadHash(HttpRequest request) {
       Payload payload = request.getPayload();
-      if (payload == null) {
-         // when payload is null.
+      if (payload == null || "0".equals(getContentLength(request))) {
          return getEmptyPayloadContentHash();
       }
       return calculatePayloadContentHash(payload);

Reply via email to