1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2025-09-09 17:19:39 +02:00

Ads support for SCRAM-SHA-1-PLUS

Related to SMACK-398.
This commit is contained in:
Florian Schmaus 2016-11-20 19:32:26 +01:00
parent 44744de003
commit 1f1bc236fd
14 changed files with 252 additions and 63 deletions

View file

@ -91,6 +91,7 @@ import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
@ -160,7 +161,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
*/
private boolean disconnectedButResumeable = false;
private boolean usingTLS = false;
private SSLSocket secureSocket;
/**
* Protected access level because of unit test purposes
@ -380,7 +381,8 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
protected synchronized void loginInternal(String username, String password, Resourcepart resource) throws XMPPException,
SmackException, IOException, InterruptedException {
// Authenticate using SASL
saslAuthentication.authenticate(username, password, config.getAuthzid());
SSLSession sslSession = secureSocket != null ? secureSocket.getSession() : null;
saslAuthentication.authenticate(username, password, config.getAuthzid(), sslSession);
// If compression is enabled then request the server to use stream compression. XEP-170
// recommends to perform stream compression before resource binding.
@ -442,7 +444,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
@Override
public boolean isSecureConnection() {
return usingTLS;
return secureSocket != null;
}
/**
@ -519,7 +521,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
}
authenticated = false;
connected = false;
usingTLS = false;
secureSocket = null;
reader = null;
writer = null;
@ -801,7 +803,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
}
// Set that TLS was successful
usingTLS = true;
secureSocket = sslSocket;
}
/**