From 2b83decc89a1311404722bfb53c4596cb9a7fd58 Mon Sep 17 00:00:00 2001 From: Andrey Prokopenko Date: Mon, 29 Aug 2016 15:02:58 +0200 Subject: [PATCH] =?UTF-8?q?=EF=BB=BFHandle=20success=20SASL=20messages=20c?= =?UTF-8?q?ontaining=20equals=20sign?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit More strict conformance to RFC 6120 ยง 6.4.6, correctly handle success SASL message which consists of a single equals sign. Fixes SMACK-737. --- .../main/java/org/jivesoftware/smack/sasl/SASLMechanism.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smack-core/src/main/java/org/jivesoftware/smack/sasl/SASLMechanism.java b/smack-core/src/main/java/org/jivesoftware/smack/sasl/SASLMechanism.java index 198985e49..19f7e9988 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/sasl/SASLMechanism.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/sasl/SASLMechanism.java @@ -250,7 +250,7 @@ public abstract class SASLMechanism implements Comparable { * @throws InterruptedException */ public final void challengeReceived(String challengeString, boolean finalChallenge) throws SmackException, NotConnectedException, InterruptedException { - byte[] challenge = Base64.decode(challengeString); + byte[] challenge = Base64.decode((challengeString != null && challengeString.equals("=")) ? "" : challengeString); byte[] response = evaluateChallenge(challenge); if (finalChallenge) { return;