diff --git a/driver-core/build.gradle b/driver-core/build.gradle index 0c7af6d70b0..736acba0834 100644 --- a/driver-core/build.gradle +++ b/driver-core/build.gradle @@ -28,6 +28,7 @@ clirr { dependencies { compile project(':bson') + compile fileTree(dir: 'libs', include: ['*.jar']) compile "io.netty:netty-buffer:$nettyVersion", optional compile "io.netty:netty-transport:$nettyVersion", optional @@ -45,7 +46,7 @@ jar { 'javax.management.*', 'javax.net.*', 'javax.net.ssl.*', - 'javax.security.sasl.*', + 'gnusasl.javax.security.sasl.*', 'javax.security.auth.callback.*', 'org.ietf.jgss.*', 'io.netty.*;resolution:=optional', diff --git a/driver-core/libs/android-sasl.jar b/driver-core/libs/android-sasl.jar new file mode 100644 index 00000000000..6d74755f147 Binary files /dev/null and b/driver-core/libs/android-sasl.jar differ diff --git a/driver-core/src/main/com/mongodb/connection/GSSAPIAuthenticator.java b/driver-core/src/main/com/mongodb/connection/GSSAPIAuthenticator.java index 01b594b0279..763b6b69a75 100644 --- a/driver-core/src/main/com/mongodb/connection/GSSAPIAuthenticator.java +++ b/driver-core/src/main/com/mongodb/connection/GSSAPIAuthenticator.java @@ -26,9 +26,9 @@ import org.ietf.jgss.GSSName; import org.ietf.jgss.Oid; -import javax.security.sasl.Sasl; -import javax.security.sasl.SaslClient; -import javax.security.sasl.SaslException; +import gnusasl.javax.security.sasl.Sasl; +import gnusasl.javax.security.sasl.SaslClient; +import gnusasl.javax.security.sasl.SaslException; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.HashMap; @@ -62,7 +62,7 @@ protected SaslClient createSaslClient(final ServerAddress serverAddress) { MongoCredential credential = getCredential(); try { Map props = new HashMap(); - props.put(Sasl.CREDENTIALS, getGSSCredential(credential.getUserName())); + props.put("javax.security.sasl.credentials", getGSSCredential(credential.getUserName())); SaslClient saslClient = Sasl.createSaslClient(new String[]{GSSAPI.getMechanismName()}, credential.getUserName(), credential.getMechanismProperty(SERVICE_NAME_KEY, SERVICE_NAME_DEFAULT_VALUE), diff --git a/driver-core/src/main/com/mongodb/connection/PlainAuthenticator.java b/driver-core/src/main/com/mongodb/connection/PlainAuthenticator.java index a55c4e25e37..ae50b9c27cc 100644 --- a/driver-core/src/main/com/mongodb/connection/PlainAuthenticator.java +++ b/driver-core/src/main/com/mongodb/connection/PlainAuthenticator.java @@ -22,12 +22,12 @@ import javax.security.auth.callback.Callback; import javax.security.auth.callback.CallbackHandler; -import javax.security.auth.callback.NameCallback; +import gnusasl.javax.security.auth.callback.NameCallback; import javax.security.auth.callback.PasswordCallback; import javax.security.auth.callback.UnsupportedCallbackException; -import javax.security.sasl.Sasl; -import javax.security.sasl.SaslClient; -import javax.security.sasl.SaslException; +import gnusasl.javax.security.sasl.Sasl; +import gnusasl.javax.security.sasl.SaslClient; +import gnusasl.javax.security.sasl.SaslException; import java.io.IOException; import static com.mongodb.AuthenticationMechanism.PLAIN; diff --git a/driver-core/src/main/com/mongodb/connection/SaslAuthenticator.java b/driver-core/src/main/com/mongodb/connection/SaslAuthenticator.java index 5420cc02f96..6acab1eb10f 100644 --- a/driver-core/src/main/com/mongodb/connection/SaslAuthenticator.java +++ b/driver-core/src/main/com/mongodb/connection/SaslAuthenticator.java @@ -26,8 +26,8 @@ import org.bson.BsonInt32; import org.bson.BsonString; -import javax.security.sasl.SaslClient; -import javax.security.sasl.SaslException; +import gnusasl.javax.security.sasl.SaslClient; +import gnusasl.javax.security.sasl.SaslException; import static com.mongodb.connection.CommandHelper.executeCommand; import static com.mongodb.connection.CommandHelper.executeCommandAsync; diff --git a/driver-core/src/main/com/mongodb/connection/ScramSha1Authenticator.java b/driver-core/src/main/com/mongodb/connection/ScramSha1Authenticator.java index 0ecb30112b1..b37f695bc82 100644 --- a/driver-core/src/main/com/mongodb/connection/ScramSha1Authenticator.java +++ b/driver-core/src/main/com/mongodb/connection/ScramSha1Authenticator.java @@ -24,8 +24,8 @@ import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.SecretKeySpec; -import javax.security.sasl.SaslClient; -import javax.security.sasl.SaslException; +import gnusasl.javax.security.sasl.SaslClient; +import gnusasl.javax.security.sasl.SaslException; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.MessageDigest; diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index afa34a3e553..8b456fdd788 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon May 18 10:50:24 BST 2015 +#Thu Oct 01 21:24:09 PDT 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip diff --git a/local.properties b/local.properties new file mode 100644 index 00000000000..253587eb3d4 --- /dev/null +++ b/local.properties @@ -0,0 +1,11 @@ +## This file is automatically generated by Android Studio. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must *NOT* be checked into Version Control Systems, +# as it contains information specific to your local configuration. +# +# Location of the SDK. This is only used by Gradle. +# For customization when using a Version Control System, please read the +# header note. +#Sat Oct 17 15:04:51 PDT 2015 +sdk.dir=/Users/maxim/Development/android-sdk-macosx diff --git a/mongo-java-driver/build.gradle b/mongo-java-driver/build.gradle index 61d24d55f85..8145905dde3 100644 --- a/mongo-java-driver/build.gradle +++ b/mongo-java-driver/build.gradle @@ -38,7 +38,7 @@ jar { 'javax.management.*', 'javax.net.*', 'javax.net.ssl.*', - 'javax.security.sasl.*', + 'gnusasl.javax.security.sasl.*', 'javax.security.auth.callback.*', 'org.ietf.jgss.*', 'io.netty.*;resolution:=optional', @@ -53,6 +53,9 @@ jar { from(zipTree(getJar(":bson"))) { exclude("META-INF") } + from(zipTree(project(":driver-core").projectDir.path + "/libs/android-sasl.jar")) { + exclude("META-INF") + } }.dependsOn("init") modifyPom {