You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2016/03/28 01:27:49 UTC
jclouds git commit: JCLOUDS-766: JCLOUDS-1090: Use AWS v4 signature
Repository: jclouds
Updated Branches:
refs/heads/master fdec2fa99 -> 0f77386c7
JCLOUDS-766: JCLOUDS-1090: Use AWS v4 signature
Previous commits added support for v4 but did not default to it. URL
signing continues to use v2 signatures due to a conflict between PUT
requests and v4 content signing. Addresses
AWSS3ServiceIntegrationLiveTest.testAllLocations test failures.
Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/0f77386c
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/0f77386c
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/0f77386c
Branch: refs/heads/master
Commit: 0f77386c77ce6ece4831426b26dfd80738bc30bb
Parents: fdec2fa
Author: Andrew Gaul <ga...@apache.org>
Authored: Thu Mar 17 23:03:36 2016 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Sun Mar 27 16:27:30 2016 -0700
----------------------------------------------------------------------
.../java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java | 4 ++--
.../src/test/java/org/jclouds/aws/s3/AWSS3ClientTest.java | 8 ++++++++
.../jclouds/aws/s3/blobstore/AWSS3BlobSignerExpectTest.java | 9 +++++++++
.../jclouds/aws/s3/internal/BaseAWSS3ClientExpectTest.java | 9 +++++++++
4 files changed, 28 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jclouds/blob/0f77386c/providers/aws-s3/src/main/java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java
----------------------------------------------------------------------
diff --git a/providers/aws-s3/src/main/java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java b/providers/aws-s3/src/main/java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java
index d9338e6..3921c83 100644
--- a/providers/aws-s3/src/main/java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java
+++ b/providers/aws-s3/src/main/java/org/jclouds/aws/s3/config/AWSS3HttpApiModule.java
@@ -21,7 +21,7 @@ import static org.jclouds.aws.domain.Region.US_STANDARD;
import javax.inject.Singleton;
import org.jclouds.aws.s3.AWSS3Client;
-import org.jclouds.aws.s3.filters.AWSRequestAuthorizeSignature;
+import org.jclouds.aws.s3.filters.AWSRequestAuthorizeSignatureV4;
import org.jclouds.aws.s3.predicates.validators.AWSS3BucketNameValidator;
import org.jclouds.location.Region;
import org.jclouds.rest.ConfiguresHttpApi;
@@ -58,7 +58,7 @@ public class AWSS3HttpApiModule extends S3HttpApiModule<AWSS3Client> {
@Override
protected void bindRequestSigner() {
- bind(RequestAuthorizeSignature.class).to(AWSRequestAuthorizeSignature.class).in(Scopes.SINGLETON);
+ bind(RequestAuthorizeSignature.class).to(AWSRequestAuthorizeSignatureV4.class).in(Scopes.SINGLETON);
}
@Singleton
http://git-wip-us.apache.org/repos/asf/jclouds/blob/0f77386c/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientTest.java b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientTest.java
index f260c59..4d58afb 100644
--- a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientTest.java
+++ b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/AWSS3ClientTest.java
@@ -37,6 +37,7 @@ import org.jclouds.s3.S3Client;
import org.jclouds.s3.S3ClientTest;
import org.jclouds.s3.domain.S3Object;
import org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExists;
+import org.jclouds.s3.filters.RequestAuthorizeSignature;
import org.jclouds.s3.options.CopyObjectOptions;
import org.jclouds.s3.options.PutBucketOptions;
import org.jclouds.s3.options.PutObjectOptions;
@@ -52,6 +53,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.reflect.Invokable;
import com.google.inject.Module;
+import com.google.inject.Scopes;
// NOTE:without testName, this will not call @Before* and fail w/NPE during
// surefire
@@ -194,6 +196,12 @@ public class AWSS3ClientTest extends S3ClientTest<AWSS3Client> {
protected String provideTimeStamp(@TimeStamp Supplier<String> cache) {
return "2009-11-08T15:54:08.897Z";
}
+
+ // subclass expects v2 signatures
+ @Override
+ protected void bindRequestSigner() {
+ bind(RequestAuthorizeSignature.class).to(AWSRequestAuthorizeSignature.class).in(Scopes.SINGLETON);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/jclouds/blob/0f77386c/providers/aws-s3/src/test/java/org/jclouds/aws/s3/blobstore/AWSS3BlobSignerExpectTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/blobstore/AWSS3BlobSignerExpectTest.java b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/blobstore/AWSS3BlobSignerExpectTest.java
index a9bca53..dfe4c7a 100644
--- a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/blobstore/AWSS3BlobSignerExpectTest.java
+++ b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/blobstore/AWSS3BlobSignerExpectTest.java
@@ -19,16 +19,19 @@ package org.jclouds.aws.s3.blobstore;
import static org.testng.Assert.assertEquals;
import org.jclouds.aws.s3.config.AWSS3HttpApiModule;
+import org.jclouds.aws.s3.filters.AWSRequestAuthorizeSignature;
import org.jclouds.blobstore.BlobStore;
import org.jclouds.blobstore.domain.Blob;
import org.jclouds.date.TimeStamp;
import org.jclouds.http.HttpRequest;
import org.jclouds.rest.ConfiguresHttpApi;
import org.jclouds.s3.blobstore.S3BlobSignerExpectTest;
+import org.jclouds.s3.filters.RequestAuthorizeSignature;
import org.testng.annotations.Test;
import com.google.common.base.Supplier;
import com.google.inject.Module;
+import com.google.inject.Scopes;
@Test(groups = "unit", testName = "AWSS3BlobSignerExpectTest")
public class AWSS3BlobSignerExpectTest extends S3BlobSignerExpectTest {
@@ -131,5 +134,11 @@ public class AWSS3BlobSignerExpectTest extends S3BlobSignerExpectTest {
protected String provideTimeStamp(@TimeStamp Supplier<String> cache) {
return DATE;
}
+
+ // subclass expects v2 signatures
+ @Override
+ protected void bindRequestSigner() {
+ bind(RequestAuthorizeSignature.class).to(AWSRequestAuthorizeSignature.class).in(Scopes.SINGLETON);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/jclouds/blob/0f77386c/providers/aws-s3/src/test/java/org/jclouds/aws/s3/internal/BaseAWSS3ClientExpectTest.java
----------------------------------------------------------------------
diff --git a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/internal/BaseAWSS3ClientExpectTest.java b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/internal/BaseAWSS3ClientExpectTest.java
index ce0b1a5..73969ca 100644
--- a/providers/aws-s3/src/test/java/org/jclouds/aws/s3/internal/BaseAWSS3ClientExpectTest.java
+++ b/providers/aws-s3/src/test/java/org/jclouds/aws/s3/internal/BaseAWSS3ClientExpectTest.java
@@ -19,13 +19,16 @@ package org.jclouds.aws.s3.internal;
import org.jclouds.aws.s3.AWSS3Client;
import org.jclouds.aws.s3.AWSS3ProviderMetadata;
import org.jclouds.aws.s3.config.AWSS3HttpApiModule;
+import org.jclouds.aws.s3.filters.AWSRequestAuthorizeSignature;
import org.jclouds.date.TimeStamp;
import org.jclouds.providers.ProviderMetadata;
import org.jclouds.rest.ConfiguresHttpApi;
import org.jclouds.rest.internal.BaseRestApiExpectTest;
+import org.jclouds.s3.filters.RequestAuthorizeSignature;
import com.google.common.base.Supplier;
import com.google.inject.Module;
+import com.google.inject.Scopes;
/**
* Base class for writing Expect tests for AWS-S3
@@ -50,6 +53,12 @@ public class BaseAWSS3ClientExpectTest extends BaseRestApiExpectTest<AWSS3Client
protected String provideTimeStamp(@TimeStamp Supplier<String> cache) {
return CONSTANT_DATE;
}
+
+ // subclass expects v2 signatures
+ @Override
+ protected void bindRequestSigner() {
+ bind(RequestAuthorizeSignature.class).to(AWSRequestAuthorizeSignature.class).in(Scopes.SINGLETON);
+ }
}
@Override