diff --git a/config/spotbugs/exclude.xml b/config/spotbugs/exclude.xml index 9ce5b944cb4..488c797a6a0 100644 --- a/config/spotbugs/exclude.xml +++ b/config/spotbugs/exclude.xml @@ -262,7 +262,7 @@ - + diff --git a/driver-benchmarks/src/main/com/mongodb/benchmark/framework/MongoCryptBenchmarkRunner.java b/driver-benchmarks/src/main/com/mongodb/benchmark/framework/MongoCryptBenchmarkRunner.java index 33b6c0ad102..718ab9f21af 100644 --- a/driver-benchmarks/src/main/com/mongodb/benchmark/framework/MongoCryptBenchmarkRunner.java +++ b/driver-benchmarks/src/main/com/mongodb/benchmark/framework/MongoCryptBenchmarkRunner.java @@ -17,13 +17,13 @@ * */ -import com.mongodb.crypt.capi.CAPI; -import com.mongodb.crypt.capi.MongoCrypt; -import com.mongodb.crypt.capi.MongoCryptContext; -import com.mongodb.crypt.capi.MongoCryptOptions; -import com.mongodb.crypt.capi.MongoCrypts; -import com.mongodb.crypt.capi.MongoExplicitEncryptOptions; -import com.mongodb.crypt.capi.MongoLocalKmsProviderOptions; +import com.mongodb.internal.crypt.capi.CAPI; +import com.mongodb.internal.crypt.capi.MongoCrypt; +import com.mongodb.internal.crypt.capi.MongoCryptContext; +import com.mongodb.internal.crypt.capi.MongoCryptOptions; +import com.mongodb.internal.crypt.capi.MongoCrypts; +import com.mongodb.internal.crypt.capi.MongoExplicitEncryptOptions; +import com.mongodb.internal.crypt.capi.MongoLocalKmsProviderOptions; import org.bson.BsonBinary; import org.bson.BsonBinarySubType; import org.bson.BsonDocument; diff --git a/driver-core/src/main/com/mongodb/internal/capi/MongoCryptHelper.java b/driver-core/src/main/com/mongodb/internal/capi/MongoCryptHelper.java index bdd80562714..1ba51797bea 100644 --- a/driver-core/src/main/com/mongodb/internal/capi/MongoCryptHelper.java +++ b/driver-core/src/main/com/mongodb/internal/capi/MongoCryptHelper.java @@ -24,10 +24,10 @@ import com.mongodb.MongoClientSettings; import com.mongodb.MongoConfigurationException; import com.mongodb.client.model.vault.RewrapManyDataKeyOptions; -import com.mongodb.crypt.capi.MongoCryptOptions; import com.mongodb.internal.authentication.AwsCredentialHelper; import com.mongodb.internal.authentication.AzureCredentialHelper; import com.mongodb.internal.authentication.GcpCredentialHelper; +import com.mongodb.internal.crypt.capi.MongoCryptOptions; import com.mongodb.lang.Nullable; import org.bson.BsonDocument; import org.bson.BsonDocumentWrapper; diff --git a/driver-core/src/main/com/mongodb/internal/client/vault/EncryptOptionsHelper.java b/driver-core/src/main/com/mongodb/internal/client/vault/EncryptOptionsHelper.java index edd0a4d958f..640707d94d3 100644 --- a/driver-core/src/main/com/mongodb/internal/client/vault/EncryptOptionsHelper.java +++ b/driver-core/src/main/com/mongodb/internal/client/vault/EncryptOptionsHelper.java @@ -17,7 +17,7 @@ import com.mongodb.client.model.vault.EncryptOptions; import com.mongodb.client.model.vault.RangeOptions; -import com.mongodb.crypt.capi.MongoExplicitEncryptOptions; +import com.mongodb.internal.crypt.capi.MongoExplicitEncryptOptions; import org.bson.BsonDocument; import org.bson.BsonInt32; import org.bson.BsonInt64; diff --git a/driver-core/src/test/functional/com/mongodb/internal/capi/MongoCryptHelperTest.java b/driver-core/src/test/functional/com/mongodb/internal/capi/MongoCryptHelperTest.java index c7d82748efb..d76371775b9 100644 --- a/driver-core/src/test/functional/com/mongodb/internal/capi/MongoCryptHelperTest.java +++ b/driver-core/src/test/functional/com/mongodb/internal/capi/MongoCryptHelperTest.java @@ -21,7 +21,7 @@ import com.mongodb.MongoClientException; import com.mongodb.MongoClientSettings; import com.mongodb.client.model.vault.RewrapManyDataKeyOptions; -import com.mongodb.crypt.capi.MongoCryptOptions; +import com.mongodb.internal.crypt.capi.MongoCryptOptions; import org.bson.BsonDocument; import org.junit.jupiter.api.Test; diff --git a/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/CommandMarker.java b/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/CommandMarker.java index 0d15f5c970d..443ebbe14bd 100644 --- a/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/CommandMarker.java +++ b/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/CommandMarker.java @@ -22,7 +22,7 @@ import com.mongodb.MongoOperationTimeoutException; import com.mongodb.ReadConcern; import com.mongodb.ReadPreference; -import com.mongodb.crypt.capi.MongoCrypt; +import com.mongodb.internal.crypt.capi.MongoCrypt; import com.mongodb.internal.time.Timeout; import com.mongodb.lang.Nullable; import com.mongodb.reactivestreams.client.MongoClient; diff --git a/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/Crypt.java b/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/Crypt.java index 13d9373a3ff..dcfceedf155 100644 --- a/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/Crypt.java +++ b/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/Crypt.java @@ -24,13 +24,13 @@ import com.mongodb.client.model.vault.DataKeyOptions; import com.mongodb.client.model.vault.EncryptOptions; import com.mongodb.client.model.vault.RewrapManyDataKeyOptions; -import com.mongodb.crypt.capi.MongoCrypt; -import com.mongodb.crypt.capi.MongoCryptContext; import com.mongodb.crypt.capi.MongoCryptException; -import com.mongodb.crypt.capi.MongoDataKeyOptions; -import com.mongodb.crypt.capi.MongoKeyDecryptor; -import com.mongodb.crypt.capi.MongoRewrapManyDataKeyOptions; import com.mongodb.internal.capi.MongoCryptHelper; +import com.mongodb.internal.crypt.capi.MongoCrypt; +import com.mongodb.internal.crypt.capi.MongoCryptContext; +import com.mongodb.internal.crypt.capi.MongoDataKeyOptions; +import com.mongodb.internal.crypt.capi.MongoKeyDecryptor; +import com.mongodb.internal.crypt.capi.MongoRewrapManyDataKeyOptions; import com.mongodb.internal.diagnostics.logging.Logger; import com.mongodb.internal.diagnostics.logging.Loggers; import com.mongodb.internal.time.Timeout; @@ -48,8 +48,8 @@ import java.util.function.Supplier; import static com.mongodb.assertions.Assertions.notNull; -import static com.mongodb.crypt.capi.MongoCryptContext.State; import static com.mongodb.internal.client.vault.EncryptOptionsHelper.asMongoExplicitEncryptOptions; +import static com.mongodb.internal.crypt.capi.MongoCryptContext.State; /** *

This class is not part of the public API and may be removed or changed at any time

diff --git a/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/Crypts.java b/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/Crypts.java index d59b1e03696..b06af01d476 100644 --- a/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/Crypts.java +++ b/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/Crypts.java @@ -21,8 +21,8 @@ import com.mongodb.MongoClientException; import com.mongodb.MongoClientSettings; import com.mongodb.MongoNamespace; -import com.mongodb.crypt.capi.MongoCrypt; -import com.mongodb.crypt.capi.MongoCrypts; +import com.mongodb.internal.crypt.capi.MongoCrypt; +import com.mongodb.internal.crypt.capi.MongoCrypts; import com.mongodb.reactivestreams.client.MongoClient; import com.mongodb.reactivestreams.client.MongoClients; diff --git a/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/KeyManagementService.java b/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/KeyManagementService.java index 465ffc02e80..019445e6cde 100644 --- a/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/KeyManagementService.java +++ b/driver-reactive-streams/src/main/com/mongodb/reactivestreams/client/internal/crypt/KeyManagementService.java @@ -24,7 +24,6 @@ import com.mongodb.connection.AsyncCompletionHandler; import com.mongodb.connection.SocketSettings; import com.mongodb.connection.SslSettings; -import com.mongodb.crypt.capi.MongoKeyDecryptor; import com.mongodb.internal.TimeoutContext; import com.mongodb.internal.TimeoutSettings; import com.mongodb.internal.connection.AsynchronousChannelStream; @@ -33,6 +32,7 @@ import com.mongodb.internal.connection.Stream; import com.mongodb.internal.connection.StreamFactory; import com.mongodb.internal.connection.TlsChannelStreamFactoryFactory; +import com.mongodb.internal.crypt.capi.MongoKeyDecryptor; import com.mongodb.internal.diagnostics.logging.Logger; import com.mongodb.internal.diagnostics.logging.Loggers; import com.mongodb.internal.time.Timeout; diff --git a/driver-sync/src/main/com/mongodb/client/internal/CommandMarker.java b/driver-sync/src/main/com/mongodb/client/internal/CommandMarker.java index 9e2d7b3889b..73eed8efd01 100644 --- a/driver-sync/src/main/com/mongodb/client/internal/CommandMarker.java +++ b/driver-sync/src/main/com/mongodb/client/internal/CommandMarker.java @@ -26,7 +26,7 @@ import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; -import com.mongodb.crypt.capi.MongoCrypt; +import com.mongodb.internal.crypt.capi.MongoCrypt; import com.mongodb.internal.time.Timeout; import com.mongodb.lang.Nullable; import org.bson.RawBsonDocument; diff --git a/driver-sync/src/main/com/mongodb/client/internal/Crypt.java b/driver-sync/src/main/com/mongodb/client/internal/Crypt.java index 990f196f62c..b910f0ab01c 100644 --- a/driver-sync/src/main/com/mongodb/client/internal/Crypt.java +++ b/driver-sync/src/main/com/mongodb/client/internal/Crypt.java @@ -23,13 +23,13 @@ import com.mongodb.client.model.vault.DataKeyOptions; import com.mongodb.client.model.vault.EncryptOptions; import com.mongodb.client.model.vault.RewrapManyDataKeyOptions; -import com.mongodb.crypt.capi.MongoCrypt; -import com.mongodb.crypt.capi.MongoCryptContext; import com.mongodb.crypt.capi.MongoCryptException; -import com.mongodb.crypt.capi.MongoDataKeyOptions; -import com.mongodb.crypt.capi.MongoKeyDecryptor; -import com.mongodb.crypt.capi.MongoRewrapManyDataKeyOptions; import com.mongodb.internal.capi.MongoCryptHelper; +import com.mongodb.internal.crypt.capi.MongoCrypt; +import com.mongodb.internal.crypt.capi.MongoCryptContext; +import com.mongodb.internal.crypt.capi.MongoDataKeyOptions; +import com.mongodb.internal.crypt.capi.MongoKeyDecryptor; +import com.mongodb.internal.crypt.capi.MongoRewrapManyDataKeyOptions; import com.mongodb.internal.time.Timeout; import com.mongodb.lang.Nullable; import org.bson.BsonBinary; @@ -46,8 +46,8 @@ import static com.mongodb.assertions.Assertions.assertNotNull; import static com.mongodb.assertions.Assertions.notNull; -import static com.mongodb.crypt.capi.MongoCryptContext.State; import static com.mongodb.internal.client.vault.EncryptOptionsHelper.asMongoExplicitEncryptOptions; +import static com.mongodb.internal.crypt.capi.MongoCryptContext.State; import static com.mongodb.internal.thread.InterruptionUtil.translateInterruptedException; /** diff --git a/driver-sync/src/main/com/mongodb/client/internal/Crypts.java b/driver-sync/src/main/com/mongodb/client/internal/Crypts.java index 55274fcc786..30319bbf4f8 100644 --- a/driver-sync/src/main/com/mongodb/client/internal/Crypts.java +++ b/driver-sync/src/main/com/mongodb/client/internal/Crypts.java @@ -22,8 +22,8 @@ import com.mongodb.MongoNamespace; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; -import com.mongodb.crypt.capi.MongoCrypt; -import com.mongodb.crypt.capi.MongoCrypts; +import com.mongodb.internal.crypt.capi.MongoCrypt; +import com.mongodb.internal.crypt.capi.MongoCrypts; import javax.net.ssl.SSLContext; import java.util.Map; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptException.java b/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptException.java index 63074e20bc9..f2fdaeb7699 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptException.java +++ b/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptException.java @@ -18,18 +18,24 @@ package com.mongodb.crypt.capi; -import com.mongodb.crypt.capi.CAPI.mongocrypt_status_t; - -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_code; -import static org.bson.assertions.Assertions.isTrue; - /** - * Top level Exception for all Mongo Crypt CAPI exceptions + * Exception thrown for errors originating in the mongodb-crypt module. */ public class MongoCryptException extends RuntimeException { private static final long serialVersionUID = -5524416583514807953L; private final int code; + /** + * Construct an instance + * + * @param message the message + * @param code the code + */ + public MongoCryptException(final String message, final int code) { + super(message); + this.code = code; + } + /** * @param msg the message */ @@ -47,17 +53,6 @@ public MongoCryptException(final String msg, final Throwable cause) { this.code = -1; } - /** - * Construct an instance from a {@code mongocrypt_status_t}. - * - * @param status the status - */ - MongoCryptException(final mongocrypt_status_t status) { - super(CAPI.mongocrypt_status_message(status, null).toString()); - isTrue("status not ok", !CAPI.mongocrypt_status_ok(status)); - code = mongocrypt_status_code(status); - } - /** * @return the error code for the exception. */ diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/BinaryHolder.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/BinaryHolder.java similarity index 87% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/BinaryHolder.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/BinaryHolder.java index 60570bd1180..14c7c7b29b6 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/BinaryHolder.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/BinaryHolder.java @@ -15,11 +15,11 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; -import com.mongodb.crypt.capi.CAPI.mongocrypt_binary_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_t; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_binary_destroy; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_destroy; // Wrap JNA memory and a mongocrypt_binary_t that references that memory, in order to ensure that the JNA Memory is not GC'd before the // mongocrypt_binary_t is destroyed diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/CAPI.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/CAPI.java similarity index 99% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/CAPI.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/CAPI.java index d6567bdaf7c..b8e2cacc677 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/CAPI.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/CAPI.java @@ -15,7 +15,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import com.sun.jna.Callback; import com.sun.jna.Memory; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/CAPIHelper.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/CAPIHelper.java similarity index 94% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/CAPIHelper.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/CAPIHelper.java index c1de63e8c8c..ba612e1d217 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/CAPIHelper.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/CAPIHelper.java @@ -15,9 +15,9 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; -import com.mongodb.crypt.capi.CAPI.mongocrypt_binary_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_t; import com.sun.jna.Pointer; import org.bson.BsonBinaryWriter; import org.bson.BsonDocument; @@ -31,7 +31,7 @@ import java.nio.ByteBuffer; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_binary_new_from_data; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_new_from_data; import static java.lang.String.format; final class CAPIHelper { diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/CipherCallback.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/CipherCallback.java similarity index 83% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/CipherCallback.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/CipherCallback.java index b10c0f21c67..2e4888d9857 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/CipherCallback.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/CipherCallback.java @@ -15,12 +15,12 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; -import com.mongodb.crypt.capi.CAPI.cstring; -import com.mongodb.crypt.capi.CAPI.mongocrypt_binary_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_crypto_fn; -import com.mongodb.crypt.capi.CAPI.mongocrypt_status_t; +import com.mongodb.internal.crypt.capi.CAPI.cstring; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_crypto_fn; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_t; import com.sun.jna.Pointer; import javax.crypto.Cipher; @@ -30,10 +30,10 @@ import java.security.NoSuchAlgorithmException; import java.util.concurrent.ConcurrentLinkedDeque; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_set; -import static com.mongodb.crypt.capi.CAPIHelper.toByteArray; -import static com.mongodb.crypt.capi.CAPIHelper.writeByteArrayToBinary; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_set; +import static com.mongodb.internal.crypt.capi.CAPIHelper.toByteArray; +import static com.mongodb.internal.crypt.capi.CAPIHelper.writeByteArrayToBinary; class CipherCallback implements mongocrypt_crypto_fn { private final String algorithm; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/DisposableMemory.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/DisposableMemory.java similarity index 95% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/DisposableMemory.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/DisposableMemory.java index fdcfb268fea..924b1cc90b1 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/DisposableMemory.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/DisposableMemory.java @@ -15,7 +15,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import com.sun.jna.Memory; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/JULLogger.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/JULLogger.java similarity index 98% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/JULLogger.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/JULLogger.java index 9a53e850d15..43c15bbf489 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/JULLogger.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/JULLogger.java @@ -16,7 +16,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import java.util.logging.Level; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/Logger.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/Logger.java similarity index 98% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/Logger.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/Logger.java index 38e82c235b8..e3ea361af4d 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/Logger.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/Logger.java @@ -16,7 +16,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; /** * Not part of the public API diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/Loggers.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/Loggers.java similarity index 96% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/Loggers.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/Loggers.java index c57cd3994e4..a5ce431fbcf 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/Loggers.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/Loggers.java @@ -15,7 +15,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; /** * This class is not part of the public API. diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MacCallback.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MacCallback.java similarity index 73% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MacCallback.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MacCallback.java index 2ea09550bb4..98a0e833faa 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MacCallback.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MacCallback.java @@ -15,21 +15,21 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; -import com.mongodb.crypt.capi.CAPI.cstring; -import com.mongodb.crypt.capi.CAPI.mongocrypt_binary_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_hmac_fn; -import com.mongodb.crypt.capi.CAPI.mongocrypt_status_t; +import com.mongodb.internal.crypt.capi.CAPI.cstring; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_hmac_fn; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_t; import com.sun.jna.Pointer; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_set; -import static com.mongodb.crypt.capi.CAPIHelper.toByteArray; -import static com.mongodb.crypt.capi.CAPIHelper.writeByteArrayToBinary; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_set; +import static com.mongodb.internal.crypt.capi.CAPIHelper.toByteArray; +import static com.mongodb.internal.crypt.capi.CAPIHelper.writeByteArrayToBinary; class MacCallback implements mongocrypt_hmac_fn { private final String algorithm; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MessageDigestCallback.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MessageDigestCallback.java similarity index 71% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MessageDigestCallback.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MessageDigestCallback.java index 861290d0a8f..35e6a8f78ed 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MessageDigestCallback.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MessageDigestCallback.java @@ -15,20 +15,20 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; -import com.mongodb.crypt.capi.CAPI.cstring; -import com.mongodb.crypt.capi.CAPI.mongocrypt_binary_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_hash_fn; -import com.mongodb.crypt.capi.CAPI.mongocrypt_status_t; +import com.mongodb.internal.crypt.capi.CAPI.cstring; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_hash_fn; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_t; import com.sun.jna.Pointer; import java.security.MessageDigest; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_set; -import static com.mongodb.crypt.capi.CAPIHelper.toByteArray; -import static com.mongodb.crypt.capi.CAPIHelper.writeByteArrayToBinary; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_set; +import static com.mongodb.internal.crypt.capi.CAPIHelper.toByteArray; +import static com.mongodb.internal.crypt.capi.CAPIHelper.writeByteArrayToBinary; class MessageDigestCallback implements mongocrypt_hash_fn { diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoAwsKmsProviderOptions.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoAwsKmsProviderOptions.java similarity index 98% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoAwsKmsProviderOptions.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoAwsKmsProviderOptions.java index 4824197510d..d37f0b7f91f 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoAwsKmsProviderOptions.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoAwsKmsProviderOptions.java @@ -15,7 +15,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import static org.bson.assertions.Assertions.notNull; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCrypt.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCrypt.java similarity index 98% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCrypt.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCrypt.java index 74816dbe42c..506b6428d8b 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCrypt.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCrypt.java @@ -16,7 +16,7 @@ */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import org.bson.BsonDocument; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptContext.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptContext.java similarity index 97% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptContext.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptContext.java index 2c3aa250b87..573e1cdf881 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptContext.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptContext.java @@ -15,8 +15,9 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; +import com.mongodb.crypt.capi.MongoCryptException; import org.bson.BsonDocument; import org.bson.RawBsonDocument; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptContextImpl.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptContextImpl.java similarity index 68% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptContextImpl.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptContextImpl.java index 34aaafe7344..502784fdb72 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptContextImpl.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptContextImpl.java @@ -15,31 +15,34 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; -import com.mongodb.crypt.capi.CAPI.mongocrypt_binary_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_kms_ctx_t; +import com.mongodb.crypt.capi.MongoCryptException; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_kms_ctx_t; import org.bson.BsonDocument; import org.bson.RawBsonDocument; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_binary_destroy; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_binary_new; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_destroy; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_finalize; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_kms_done; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_mongo_done; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_mongo_feed; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_mongo_op; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_next_kms_ctx; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_provide_kms_providers; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_state; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_status; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_destroy; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_new; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_t; -import static com.mongodb.crypt.capi.CAPIHelper.toBinary; -import static com.mongodb.crypt.capi.CAPIHelper.toDocument; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_destroy; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_new; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_destroy; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_finalize; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_kms_done; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_mongo_done; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_mongo_feed; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_mongo_op; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_next_kms_ctx; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_provide_kms_providers; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_state; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_status; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_code; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_destroy; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_message; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_new; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_t; +import static com.mongodb.internal.crypt.capi.CAPIHelper.toBinary; +import static com.mongodb.internal.crypt.capi.CAPIHelper.toDocument; import static org.bson.assertions.Assertions.isTrue; import static org.bson.assertions.Assertions.notNull; @@ -153,7 +156,8 @@ public void close() { static void throwExceptionFromStatus(final mongocrypt_ctx_t wrapped) { mongocrypt_status_t status = mongocrypt_status_new(); mongocrypt_ctx_status(wrapped, status); - MongoCryptException e = new MongoCryptException(status); + MongoCryptException e = new MongoCryptException(mongocrypt_status_message(status, null).toString(), + mongocrypt_status_code(status)); mongocrypt_status_destroy(status); throw e; } diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptImpl.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptImpl.java similarity index 79% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptImpl.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptImpl.java index 2949e2a11e4..37f2263da69 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptImpl.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptImpl.java @@ -15,13 +15,14 @@ * */ -package com.mongodb.crypt.capi; - -import com.mongodb.crypt.capi.CAPI.cstring; -import com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_log_fn_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_status_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_t; +package com.mongodb.internal.crypt.capi; + +import com.mongodb.crypt.capi.MongoCryptException; +import com.mongodb.internal.crypt.capi.CAPI.cstring; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_log_fn_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_t; import com.sun.jna.Pointer; import org.bson.BsonBinary; import org.bson.BsonDocument; @@ -33,49 +34,51 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_ERROR; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_FATAL; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_INFO; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_TRACE; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_WARNING; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_crypt_shared_lib_version_string; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_datakey_init; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_decrypt_init; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_encrypt_init; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_explicit_decrypt_init; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_explicit_encrypt_expression_init; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_explicit_encrypt_init; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_new; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_rewrap_many_datakey_init; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_setopt_algorithm; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_setopt_algorithm_range; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_setopt_contention_factor; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_setopt_key_alt_name; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_setopt_key_encryption_key; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_setopt_key_id; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_setopt_key_material; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_ctx_setopt_query_type; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_destroy; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_init; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_is_crypto_available; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_new; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_aes_256_ctr; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_append_crypt_shared_lib_search_path; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_bypass_query_analysis; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_crypto_hooks; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_encrypted_field_config_map; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_kms_provider_aws; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_kms_provider_local; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_kms_providers; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_log_handler; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_schema_map; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_set_crypt_shared_lib_path_override; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_setopt_use_need_kms_credentials_state; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_destroy; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_new; -import static com.mongodb.crypt.capi.CAPIHelper.toBinary; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_ERROR; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_FATAL; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_INFO; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_TRACE; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_LOG_LEVEL_WARNING; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_crypt_shared_lib_version_string; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_datakey_init; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_decrypt_init; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_encrypt_init; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_explicit_decrypt_init; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_explicit_encrypt_expression_init; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_explicit_encrypt_init; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_new; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_rewrap_many_datakey_init; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_setopt_algorithm; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_setopt_algorithm_range; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_setopt_contention_factor; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_setopt_key_alt_name; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_setopt_key_encryption_key; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_setopt_key_id; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_setopt_key_material; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_ctx_setopt_query_type; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_destroy; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_init; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_is_crypto_available; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_new; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_aes_256_ctr; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_append_crypt_shared_lib_search_path; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_bypass_query_analysis; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_crypto_hook_sign_rsaes_pkcs1_v1_5; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_crypto_hooks; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_encrypted_field_config_map; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_kms_provider_aws; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_kms_provider_local; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_kms_providers; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_log_handler; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_schema_map; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_set_crypt_shared_lib_path_override; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_setopt_use_need_kms_credentials_state; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_code; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_destroy; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_message; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_new; +import static com.mongodb.internal.crypt.capi.CAPIHelper.toBinary; import static org.bson.assertions.Assertions.isTrue; import static org.bson.assertions.Assertions.notNull; @@ -395,7 +398,8 @@ private void configure(final Supplier successSupplier, final mongocrypt private void throwExceptionFromStatus() { mongocrypt_status_t status = mongocrypt_status_new(); mongocrypt_status(wrapped, status); - MongoCryptException e = new MongoCryptException(status); + MongoCryptException e = new MongoCryptException(mongocrypt_status_message(status, null).toString(), + mongocrypt_status_code(status)); mongocrypt_status_destroy(status); throw e; } diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptOptions.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptOptions.java similarity index 99% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptOptions.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptOptions.java index dc65bbdd9ae..46c9898a9a1 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCryptOptions.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCryptOptions.java @@ -15,9 +15,10 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import org.bson.BsonDocument; + import java.util.List; import java.util.Map; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCrypts.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCrypts.java similarity index 96% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCrypts.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCrypts.java index 683dcdf90f1..58739043627 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoCrypts.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoCrypts.java @@ -15,7 +15,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; /** * The entry point to the MongoCrypt library. diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoDataKeyOptions.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoDataKeyOptions.java similarity index 98% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoDataKeyOptions.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoDataKeyOptions.java index 27f62514aeb..6ec24954475 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoDataKeyOptions.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoDataKeyOptions.java @@ -15,7 +15,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import org.bson.BsonDocument; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoExplicitEncryptOptions.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoExplicitEncryptOptions.java similarity index 99% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoExplicitEncryptOptions.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoExplicitEncryptOptions.java index 2dad2182e7d..9080a773747 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoExplicitEncryptOptions.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoExplicitEncryptOptions.java @@ -15,7 +15,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import org.bson.BsonBinary; import org.bson.BsonDocument; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoKeyDecryptor.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoKeyDecryptor.java similarity index 98% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoKeyDecryptor.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoKeyDecryptor.java index 43a724348d6..9b0eae6776f 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoKeyDecryptor.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoKeyDecryptor.java @@ -15,7 +15,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import java.nio.ByteBuffer; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoKeyDecryptorImpl.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoKeyDecryptorImpl.java similarity index 63% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoKeyDecryptorImpl.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoKeyDecryptorImpl.java index cef14bf855f..1411adffc21 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoKeyDecryptorImpl.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoKeyDecryptorImpl.java @@ -15,28 +15,31 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; -import com.mongodb.crypt.capi.CAPI.mongocrypt_binary_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_kms_ctx_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_status_t; +import com.mongodb.crypt.capi.MongoCryptException; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_kms_ctx_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_t; import com.sun.jna.Pointer; import com.sun.jna.ptr.PointerByReference; import java.nio.ByteBuffer; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_binary_destroy; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_binary_new; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_kms_ctx_bytes_needed; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_kms_ctx_endpoint; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_kms_ctx_feed; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_kms_ctx_get_kms_provider; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_kms_ctx_message; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_kms_ctx_status; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_destroy; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_new; -import static com.mongodb.crypt.capi.CAPIHelper.toBinary; -import static com.mongodb.crypt.capi.CAPIHelper.toByteBuffer; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_destroy; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_new; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_kms_ctx_bytes_needed; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_kms_ctx_endpoint; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_kms_ctx_feed; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_kms_ctx_get_kms_provider; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_kms_ctx_message; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_kms_ctx_status; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_code; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_destroy; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_message; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_new; +import static com.mongodb.internal.crypt.capi.CAPIHelper.toBinary; +import static com.mongodb.internal.crypt.capi.CAPIHelper.toByteBuffer; import static org.bson.assertions.Assertions.notNull; class MongoKeyDecryptorImpl implements MongoKeyDecryptor { @@ -96,7 +99,8 @@ public void feed(final ByteBuffer bytes) { private void throwExceptionFromStatus() { mongocrypt_status_t status = mongocrypt_status_new(); mongocrypt_kms_ctx_status(wrapped, status); - MongoCryptException e = new MongoCryptException(status); + MongoCryptException e = new MongoCryptException(mongocrypt_status_message(status, null).toString(), + mongocrypt_status_code(status)); mongocrypt_status_destroy(status); throw e; } diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoLocalKmsProviderOptions.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoLocalKmsProviderOptions.java similarity index 98% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoLocalKmsProviderOptions.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoLocalKmsProviderOptions.java index be8eef09573..d2a975b8fae 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoLocalKmsProviderOptions.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoLocalKmsProviderOptions.java @@ -15,7 +15,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import java.nio.ByteBuffer; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoRewrapManyDataKeyOptions.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoRewrapManyDataKeyOptions.java similarity index 98% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoRewrapManyDataKeyOptions.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoRewrapManyDataKeyOptions.java index 0bfc6defa63..84c5031d635 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/MongoRewrapManyDataKeyOptions.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/MongoRewrapManyDataKeyOptions.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import org.bson.BsonDocument; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/SLF4JLogger.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/SLF4JLogger.java similarity index 98% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/SLF4JLogger.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/SLF4JLogger.java index 23064f8bf85..2ed00d74562 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/SLF4JLogger.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/SLF4JLogger.java @@ -16,7 +16,7 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; import org.slf4j.LoggerFactory; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/SecureRandomCallback.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/SecureRandomCallback.java similarity index 72% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/SecureRandomCallback.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/SecureRandomCallback.java index 0a2a83c02f7..215f453f923 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/SecureRandomCallback.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/SecureRandomCallback.java @@ -15,19 +15,19 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; -import com.mongodb.crypt.capi.CAPI.cstring; -import com.mongodb.crypt.capi.CAPI.mongocrypt_binary_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_random_fn; -import com.mongodb.crypt.capi.CAPI.mongocrypt_status_t; +import com.mongodb.internal.crypt.capi.CAPI.cstring; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_random_fn; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_t; import com.sun.jna.Pointer; import java.security.SecureRandom; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_set; -import static com.mongodb.crypt.capi.CAPIHelper.writeByteArrayToBinary; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_set; +import static com.mongodb.internal.crypt.capi.CAPIHelper.writeByteArrayToBinary; class SecureRandomCallback implements mongocrypt_random_fn { private final SecureRandom secureRandom; diff --git a/mongodb-crypt/src/main/com/mongodb/crypt/capi/SigningRSAESPKCSCallback.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/SigningRSAESPKCSCallback.java similarity index 80% rename from mongodb-crypt/src/main/com/mongodb/crypt/capi/SigningRSAESPKCSCallback.java rename to mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/SigningRSAESPKCSCallback.java index a5b7ac9f050..12717a466c9 100644 --- a/mongodb-crypt/src/main/com/mongodb/crypt/capi/SigningRSAESPKCSCallback.java +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/SigningRSAESPKCSCallback.java @@ -15,12 +15,12 @@ * */ -package com.mongodb.crypt.capi; +package com.mongodb.internal.crypt.capi; -import com.mongodb.crypt.capi.CAPI.cstring; -import com.mongodb.crypt.capi.CAPI.mongocrypt_binary_t; -import com.mongodb.crypt.capi.CAPI.mongocrypt_hmac_fn; -import com.mongodb.crypt.capi.CAPI.mongocrypt_status_t; +import com.mongodb.internal.crypt.capi.CAPI.cstring; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_binary_t; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_hmac_fn; +import com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_t; import com.sun.jna.Pointer; import java.security.InvalidKeyException; @@ -33,10 +33,10 @@ import java.security.spec.KeySpec; import java.security.spec.PKCS8EncodedKeySpec; -import static com.mongodb.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; -import static com.mongodb.crypt.capi.CAPI.mongocrypt_status_set; -import static com.mongodb.crypt.capi.CAPIHelper.toByteArray; -import static com.mongodb.crypt.capi.CAPIHelper.writeByteArrayToBinary; +import static com.mongodb.internal.crypt.capi.CAPI.MONGOCRYPT_STATUS_ERROR_CLIENT; +import static com.mongodb.internal.crypt.capi.CAPI.mongocrypt_status_set; +import static com.mongodb.internal.crypt.capi.CAPIHelper.toByteArray; +import static com.mongodb.internal.crypt.capi.CAPIHelper.writeByteArrayToBinary; class SigningRSAESPKCSCallback implements mongocrypt_hmac_fn { diff --git a/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/package-info.java b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/package-info.java new file mode 100644 index 00000000000..5789855267d --- /dev/null +++ b/mongodb-crypt/src/main/com/mongodb/internal/crypt/capi/package-info.java @@ -0,0 +1,21 @@ +/* + * Copyright 2008-present MongoDB, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/** + * The mongocrypt internal package + */ +package com.mongodb.internal.crypt.capi; diff --git a/mongodb-crypt/src/test/java/com/mongodb/crypt/capi/MongoCryptTest.java b/mongodb-crypt/src/test/java/com/mongodb/crypt/capi/MongoCryptTest.java index 87fbab2e82f..32e87714bb7 100644 --- a/mongodb-crypt/src/test/java/com/mongodb/crypt/capi/MongoCryptTest.java +++ b/mongodb-crypt/src/test/java/com/mongodb/crypt/capi/MongoCryptTest.java @@ -17,7 +17,16 @@ package com.mongodb.crypt.capi; -import com.mongodb.crypt.capi.MongoCryptContext.State; +import com.mongodb.internal.crypt.capi.MongoAwsKmsProviderOptions; +import com.mongodb.internal.crypt.capi.MongoCrypt; +import com.mongodb.internal.crypt.capi.MongoCryptContext; +import com.mongodb.internal.crypt.capi.MongoCryptContext.State; +import com.mongodb.internal.crypt.capi.MongoCryptOptions; +import com.mongodb.internal.crypt.capi.MongoCrypts; +import com.mongodb.internal.crypt.capi.MongoDataKeyOptions; +import com.mongodb.internal.crypt.capi.MongoExplicitEncryptOptions; +import com.mongodb.internal.crypt.capi.MongoKeyDecryptor; +import com.mongodb.internal.crypt.capi.MongoLocalKmsProviderOptions; import org.bson.BsonBinary; import org.bson.BsonBinarySubType; import org.bson.BsonDocument;