aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2016-11-13 17:10:48 +0100
committerDaniel Gultsch <daniel@gultsch.de>2016-11-13 17:11:13 +0100
commit035d0c79572d5981c53d1bff7f30b484c6542f17 (patch)
treeeaf6a62517fd2726f35f39361dcde571fe5e4f4c
parentbec048407a2c2128e4b94277bf587db4660d8406 (diff)
Stop automagically select default encryption
Selecting a default encryption (in our case OMEMO) has several down sides. First of all users might have perfectly valid reasons not to use encryption at all such as using the same private server. Second of all the way it was implemented Conversations would automatically fall back to plain text as soon as the conditions changed (recipient switches to device with no encryption) which lead to unexpected situations. Thirdly having a default encryptions speaks against the 'mission statement' of Conversations of not forcing its security and privacey aspects upon the user. And last but not least the goal of implementing this feature in the first place: Be encrypted by default didn't work at all. I don't think there was a single user that we succesfully 'tricked' into using OMEMO who otherwise wouldn't have used it.
-rw-r--r--src/main/java/eu/siacs/conversations/entities/Conversation.java31
1 files changed, 1 insertions, 30 deletions
diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java
index d94e1fec..963cf3bc 100644
--- a/src/main/java/eu/siacs/conversations/entities/Conversation.java
+++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java
@@ -697,36 +697,7 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl
}
public int getNextEncryption() {
- final AxolotlService axolotlService = getAccount().getAxolotlService();
- int next = this.getIntAttribute(ATTRIBUTE_NEXT_ENCRYPTION, -1);
- if (next == -1) {
- if (Config.supportOmemo()
- && axolotlService != null
- && mode == MODE_SINGLE
- && axolotlService.isConversationAxolotlCapable(this)
- && getAccount().getSelfContact().getPresences().allOrNonSupport(AxolotlService.PEP_DEVICE_LIST_NOTIFY)
- && getContact().getPresences().allOrNonSupport(AxolotlService.PEP_DEVICE_LIST_NOTIFY)) {
- return Message.ENCRYPTION_AXOLOTL;
- } else {
- next = this.getMostRecentlyUsedIncomingEncryption();
- }
- }
-
- if (!Config.supportUnencrypted() && next <= 0) {
- if (Config.supportOmemo()
- && ((axolotlService != null && axolotlService.isConversationAxolotlCapable(this)) || !Config.multipleEncryptionChoices())) {
- return Message.ENCRYPTION_AXOLOTL;
- } else if (Config.supportOtr() && mode == MODE_SINGLE) {
- return Message.ENCRYPTION_OTR;
- } else if (Config.supportOpenPgp()
- && (mode == MODE_SINGLE) || !Config.multipleEncryptionChoices()) {
- return Message.ENCRYPTION_PGP;
- }
- } else if (next == Message.ENCRYPTION_AXOLOTL
- && (!Config.supportOmemo() || axolotlService == null || !axolotlService.isConversationAxolotlCapable(this))) {
- next = Message.ENCRYPTION_NONE;
- }
- return next;
+ return this.getIntAttribute(ATTRIBUTE_NEXT_ENCRYPTION, Message.ENCRYPTION_NONE);
}
public void setNextEncryption(int encryption) {