Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/iNPUTmice/Conversations.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2018-02-24 22:47:02 +0300
committerDaniel Gultsch <daniel@gultsch.de>2018-02-24 22:47:02 +0300
commit63cd8e598177b6b5757ab8518a48a44928dbe387 (patch)
treee144a4f1f8eb4ae2c21a09f910893d08a8f7f16a
parent401312327902acef1e616b0a5dc7563686e00746 (diff)
added config param to use a random resource at every bind
-rw-r--r--src/main/java/eu/siacs/conversations/Config.java2
-rw-r--r--src/main/java/eu/siacs/conversations/utils/CryptoHelper.java2
-rw-r--r--src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java5
3 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/eu/siacs/conversations/Config.java b/src/main/java/eu/siacs/conversations/Config.java
index 09f9fd4d2..0e1801f84 100644
--- a/src/main/java/eu/siacs/conversations/Config.java
+++ b/src/main/java/eu/siacs/conversations/Config.java
@@ -43,6 +43,8 @@ public final class Config {
public static final String MAGIC_CREATE_DOMAIN = "conversations.im";
public static final boolean DISALLOW_REGISTRATION_IN_UI = false; //hide the register checkbox
+ public static final boolean USE_RANDOM_RESOURCE_ON_EVERY_BIND = false;
+
public static final boolean ALLOW_NON_TLS_CONNECTIONS = false; //very dangerous. you should have a good reason to set this to true
public static final boolean FORCE_ORBOT = false; // always use TOR
public static final boolean HIDE_MESSAGE_TEXT_IN_NOTIFICATION = false;
diff --git a/src/main/java/eu/siacs/conversations/utils/CryptoHelper.java b/src/main/java/eu/siacs/conversations/utils/CryptoHelper.java
index 0fef5a5aa..cd4d9073b 100644
--- a/src/main/java/eu/siacs/conversations/utils/CryptoHelper.java
+++ b/src/main/java/eu/siacs/conversations/utils/CryptoHelper.java
@@ -102,7 +102,7 @@ public final class CryptoHelper {
public static String random(int length, SecureRandom random) {
final byte[] bytes = new byte[length];
random.nextBytes(bytes);
- return Base64.encodeToString(bytes,Base64.NO_PADDING|Base64.NO_WRAP);
+ return Base64.encodeToString(bytes,Base64.NO_PADDING|Base64.NO_WRAP|Base64.URL_SAFE);
}
public static String prettifyFingerprint(String fingerprint) {
diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
index a6b72ed0c..d266b1f61 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
@@ -1070,7 +1070,8 @@ public class XmppConnection implements Runnable {
}
clearIqCallbacks();
final IqPacket iq = new IqPacket(IqPacket.TYPE.SET);
- iq.addChild("bind", Namespace.BIND).addChild("resource").setContent(account.getResource());
+ final String resource = Config.USE_RANDOM_RESOURCE_ON_EVERY_BIND ? nextRandomId() : account.getResource();
+ iq.addChild("bind", Namespace.BIND).addChild("resource").setContent(resource);
this.sendUnmodifiedIqPacket(iq, new OnIqPacketReceived() {
@Override
public void onIqPacketReceived(final Account account, final IqPacket packet) {
@@ -1370,7 +1371,7 @@ public class XmppConnection implements Runnable {
}
private String nextRandomId() {
- return CryptoHelper.random(50, mXmppConnectionService.getRNG());
+ return CryptoHelper.random(10, mXmppConnectionService.getRNG());
}
public String sendIqPacket(final IqPacket packet, final OnIqPacketReceived callback) {