diff --git a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java index 225b8d66f..8e8725a3a 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java @@ -500,7 +500,6 @@ public abstract class AbstractXMPPConnection implements XMPPConnection { // Reset the connection state initState(); - saslAuthentication.init(); streamId = null; try { diff --git a/smack-core/src/main/java/org/jivesoftware/smack/SASLAuthentication.java b/smack-core/src/main/java/org/jivesoftware/smack/SASLAuthentication.java index 4bc2ec749..d014fd53b 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/SASLAuthentication.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/SASLAuthentication.java @@ -168,7 +168,6 @@ public final class SASLAuthentication { SASLAuthentication(AbstractXMPPConnection connection, ConnectionConfiguration configuration) { this.configuration = configuration; this.connection = connection; - this.init(); } /** @@ -200,6 +199,8 @@ public final class SASLAuthentication { final String host = connection.getHost(); final DomainBareJid xmppServiceDomain = connection.getXMPPServiceDomain(); + authenticationSuccessful = false; + synchronized (this) { if (callbackHandler != null) { currentMechanism.authenticate(host, xmppServiceDomain, callbackHandler, authzid, sslSession); @@ -322,15 +323,6 @@ public final class SASLAuthentication { return authenticationSuccessful; } - /** - * Initializes the internal state in order to be able to be reused. The authentication - * is used by the connection at the first login and then reused after the connection - * is disconnected and then reconnected. - */ - void init() { - authenticationSuccessful = false; - } - String getNameOfLastUsedSaslMechansism() { SASLMechanism lastUsedMech = currentMechanism; if (lastUsedMech == null) {