aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSam Whited <sam@samwhited.com>2016-08-07 09:46:01 -0500
committerChristian Schneppe <christian@pix-art.de>2016-09-14 21:31:49 +0200
commit6c2684b8585a9401eff369dfcc41a7f7d5c3e168 (patch)
tree27f7d04c0b4fa2fad40954b8f2358d50e9582fff /src
parenteb42cf77ceaf5023344e168a6bf94146f69b5be5 (diff)
Support ANONYMOUS SASL
Diffstat (limited to 'src')
-rw-r--r--src/main/java/de/pixart/messenger/crypto/sasl/Anonymous.java28
-rw-r--r--src/main/java/de/pixart/messenger/xmpp/XmppConnection.java3
2 files changed, 31 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/crypto/sasl/Anonymous.java b/src/main/java/de/pixart/messenger/crypto/sasl/Anonymous.java
new file mode 100644
index 000000000..7e4e98bc6
--- /dev/null
+++ b/src/main/java/de/pixart/messenger/crypto/sasl/Anonymous.java
@@ -0,0 +1,28 @@
+package de.pixart.messenger.crypto.sasl;
+
+import java.security.SecureRandom;
+
+import de.pixart.messenger.entities.Account;
+import de.pixart.messenger.xml.TagWriter;
+
+public class Anonymous extends SaslMechanism {
+
+ public Anonymous(TagWriter tagWriter, Account account, SecureRandom rng) {
+ super(tagWriter, account, rng);
+ }
+
+ @Override
+ public int getPriority() {
+ return 0;
+ }
+
+ @Override
+ public String getMechanism() {
+ return "ANONYMOUS";
+ }
+
+ @Override
+ public String getClientFirstMessage() {
+ return "";
+ }
+}
diff --git a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java
index 85f2718ba..784289975 100644
--- a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java
+++ b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java
@@ -56,6 +56,7 @@ import javax.net.ssl.X509TrustManager;
import de.duenndns.ssl.MemorizingTrustManager;
import de.pixart.messenger.Config;
import de.pixart.messenger.crypto.XmppDomainVerifier;
+import de.pixart.messenger.crypto.sasl.Anonymous;
import de.pixart.messenger.crypto.sasl.DigestMd5;
import de.pixart.messenger.crypto.sasl.External;
import de.pixart.messenger.crypto.sasl.Plain;
@@ -854,6 +855,8 @@ public class XmppConnection implements Runnable {
saslMechanism = new Plain(tagWriter, account);
} else if (mechanisms.contains("DIGEST-MD5")) {
saslMechanism = new DigestMd5(tagWriter, account, mXmppConnectionService.getRNG());
+ } else if (mechanisms.contains("ANONYMOUS")) {
+ saslMechanism = new Anonymous(tagWriter, account, mXmppConnectionService.getRNG());
}
if (saslMechanism != null) {
final JSONObject keys = account.getKeys();