Skip to content

Commit ffd7112

Browse files
authored
Merge pull request #218 from oracle/release_2020-05-13
Releasing version 1.17.3
2 parents 5dd6b89 + 416560d commit ffd7112

File tree

91 files changed

+2047
-242
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+2047
-242
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file.
33

44
The format is based on [Keep a Changelog](http://keepachangelog.com/).
55

6+
## 1.17.3 - 2020-05-13
7+
### Added
8+
- Support for drift detection in the Resource Manager service
9+
610
## 1.17.1 - 2020-05-05
711
### Added
812
- Support for updating the license type of database systems in the Database service

bmc-addons/bmc-apache-connector-provider/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.oracle.oci.sdk</groupId>
66
<artifactId>oci-java-sdk-addons</artifactId>
7-
<version>1.17.1</version>
7+
<version>1.17.3</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010

@@ -42,7 +42,7 @@
4242
<dependency>
4343
<groupId>com.oracle.oci.sdk</groupId>
4444
<artifactId>oci-java-sdk-common</artifactId>
45-
<version>1.17.1</version>
45+
<version>1.17.3</version>
4646
</dependency>
4747

4848
<!-- Explicitly pull in this version of httpclient and its httpcore dependency to address:

bmc-addons/bmc-resteasy-client-configurator/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.oracle.oci.sdk</groupId>
77
<artifactId>oci-java-sdk-addons</artifactId>
8-
<version>1.17.1</version>
8+
<version>1.17.3</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111

@@ -36,7 +36,7 @@
3636
<dependency>
3737
<groupId>com.oracle.oci.sdk</groupId>
3838
<artifactId>oci-java-sdk-common</artifactId>
39-
<version>1.17.1</version>
39+
<version>1.17.3</version>
4040
</dependency>
4141
</dependencies>
4242
</project>

bmc-addons/bmc-sasl/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<artifactId>oci-java-sdk-addons</artifactId>
99
<groupId>com.oracle.oci.sdk</groupId>
10-
<version>1.17.1</version>
10+
<version>1.17.3</version>
1111
<relativePath>../pom.xml</relativePath>
1212
</parent>
1313

@@ -61,7 +61,7 @@
6161
<dependency>
6262
<groupId>com.oracle.oci.sdk</groupId>
6363
<artifactId>oci-java-sdk-common</artifactId>
64-
<version>1.17.1</version>
64+
<version>1.17.3</version>
6565
</dependency>
6666
</dependencies>
6767

bmc-addons/bmc-sasl/src/main/java/com/oracle/bmc/auth/sasl/OciSaslClient.java

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*/
55
package com.oracle.bmc.auth.sasl;
66

7+
import com.google.common.base.Preconditions;
78
import com.google.protobuf.ByteString;
89
import com.google.protobuf.InvalidProtocolBufferException;
910
import com.oracle.bmc.auth.BasicAuthenticationDetailsProvider;
@@ -14,6 +15,7 @@
1415
import com.oracle.bmc.identity.auth.sasl.messages.OciSaslMessages.Key;
1516
import com.oracle.bmc.identity.auth.sasl.messages.OciSaslMessages.Response;
1617
import java.io.IOException;
18+
import java.io.InputStream;
1719
import java.nio.ByteBuffer;
1820
import java.nio.charset.StandardCharsets;
1921
import java.security.interfaces.RSAPrivateKey;
@@ -31,6 +33,7 @@
3133
import javax.security.sasl.SaslClient;
3234
import javax.security.sasl.SaslClientFactory;
3335
import javax.security.sasl.SaslException;
36+
import lombok.RequiredArgsConstructor;
3437

3538
/**
3639
* Implementation of a {@link SaslClient} for the OCI SASL mechanism.
@@ -49,6 +52,8 @@ public class OciSaslClient implements SaslClient {
4952
private final BasicAuthenticationDetailsProvider authProvider;
5053
private final String intent;
5154

55+
private OciPrivateKey currentPrivateKey = null;
56+
5257
private State state = State.KEY_ID;
5358

5459
private enum State {
@@ -89,22 +94,36 @@ public byte[] evaluateChallenge(byte[] challenge) throws SaslException {
8994
}
9095

9196
private Key generateKeyMessage() {
92-
// Get new token for each new key exchange to prevent stale keys
93-
if (authProvider instanceof RefreshableOnNotAuthenticatedProvider) {
94-
((RefreshableOnNotAuthenticatedProvider) authProvider).refresh();
95-
}
97+
// Because the authProvider might be used across multiple clients,
98+
// we need to protect its access while we generate and retrieve a new private key
99+
synchronized (authProvider) {
100+
// Get a new token for each new key exchange to prevent stale keys
101+
if (authProvider instanceof RefreshableOnNotAuthenticatedProvider) {
102+
((RefreshableOnNotAuthenticatedProvider) authProvider).refresh();
103+
}
96104

97-
return Key.newBuilder().setKeyId(authProvider.getKeyId()).setIntent(intent).build();
105+
currentPrivateKey =
106+
new OciPrivateKey(
107+
authProvider.getKeyId(),
108+
authProvider.getPrivateKey(),
109+
authProvider.getPassphraseCharacters());
110+
111+
return Key.newBuilder().setKeyId(currentPrivateKey.keyId).setIntent(intent).build();
112+
}
98113
}
99114

100115
private Response signChallenge(byte[] serializedChallenge) throws SaslException {
101116

117+
Preconditions.checkArgument(currentPrivateKey != null);
118+
102119
final Challenge challenge = getAndValidateChallenge(serializedChallenge);
103120
final long epoch = OffsetDateTime.now().toEpochSecond();
104121

105122
final PEMFileRSAPrivateKeySupplier keySupplier =
106123
new PEMFileRSAPrivateKeySupplier(
107-
authProvider.getPrivateKey(), authProvider.getPassphraseCharacters());
124+
currentPrivateKey.privateKey, currentPrivateKey.passphraseCharacters);
125+
126+
currentPrivateKey = null;
108127

109128
final RSAPrivateKey privateKey =
110129
keySupplier
@@ -285,4 +304,11 @@ static BasicAuthenticationDetailsProvider get(String key) {
285304
return authProvidersCache.get(key);
286305
}
287306
}
307+
308+
@RequiredArgsConstructor
309+
private static final class OciPrivateKey {
310+
private final String keyId;
311+
private final InputStream privateKey;
312+
private final char[] passphraseCharacters;
313+
}
288314
}

bmc-addons/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.oracle.oci.sdk</groupId>
77
<artifactId>oci-java-sdk</artifactId>
8-
<version>1.17.1</version>
8+
<version>1.17.3</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111

bmc-analytics/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.oracle.oci.sdk</groupId>
66
<artifactId>oci-java-sdk</artifactId>
7-
<version>1.17.1</version>
7+
<version>1.17.3</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>oci-java-sdk-analytics</artifactId>
@@ -15,7 +15,7 @@
1515
<dependency>
1616
<groupId>com.oracle.oci.sdk</groupId>
1717
<artifactId>oci-java-sdk-common</artifactId>
18-
<version>1.17.1</version>
18+
<version>1.17.3</version>
1919
</dependency>
2020
</dependencies>
2121
</project>

bmc-announcementsservice/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.oracle.oci.sdk</groupId>
66
<artifactId>oci-java-sdk</artifactId>
7-
<version>1.17.1</version>
7+
<version>1.17.3</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>oci-java-sdk-announcementsservice</artifactId>
@@ -17,7 +17,7 @@
1717
<dependency>
1818
<groupId>com.oracle.oci.sdk</groupId>
1919
<artifactId>oci-java-sdk-common</artifactId>
20-
<version>1.17.1</version>
20+
<version>1.17.3</version>
2121
</dependency>
2222
</dependencies>
2323
</project>

bmc-apigateway/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.oracle.oci.sdk</groupId>
66
<artifactId>oci-java-sdk</artifactId>
7-
<version>1.17.1</version>
7+
<version>1.17.3</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>oci-java-sdk-apigateway</artifactId>
@@ -15,7 +15,7 @@
1515
<dependency>
1616
<groupId>com.oracle.oci.sdk</groupId>
1717
<artifactId>oci-java-sdk-common</artifactId>
18-
<version>1.17.1</version>
18+
<version>1.17.3</version>
1919
</dependency>
2020
</dependencies>
2121
</project>

bmc-applicationmigration/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.oracle.oci.sdk</groupId>
66
<artifactId>oci-java-sdk</artifactId>
7-
<version>1.17.1</version>
7+
<version>1.17.3</version>
88
<relativePath>../pom.xml</relativePath>
99
</parent>
1010
<artifactId>oci-java-sdk-applicationmigration</artifactId>
@@ -15,7 +15,7 @@
1515
<dependency>
1616
<groupId>com.oracle.oci.sdk</groupId>
1717
<artifactId>oci-java-sdk-common</artifactId>
18-
<version>1.17.1</version>
18+
<version>1.17.3</version>
1919
</dependency>
2020
</dependencies>
2121
</project>

0 commit comments

Comments
 (0)