aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/entities/Message.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-02-08 21:49:42 +0100
committerChristian Schneppe <christian@pix-art.de>2017-02-08 21:49:42 +0100
commitd515b99796841f2209cc42336d9980ca03ee2e7e (patch)
tree5e620f33ee9675442343b356a2b1e172d6e31fb4 /src/main/java/de/pixart/messenger/entities/Message.java
parent1c3de25ca64a0eb81b3f9024c7718d45db1d6d66 (diff)
support aesgcm:// style urls
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/entities/Message.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/Message.java b/src/main/java/de/pixart/messenger/entities/Message.java
index bf53b3cd7..0936c86c8 100644
--- a/src/main/java/de/pixart/messenger/entities/Message.java
+++ b/src/main/java/de/pixart/messenger/entities/Message.java
@@ -9,6 +9,7 @@ import java.net.URL;
import de.pixart.messenger.Config;
import de.pixart.messenger.crypto.axolotl.FingerprintStatus;
+import de.pixart.messenger.http.AesGcmURLStreamHandler;
import de.pixart.messenger.utils.CryptoHelper;
import de.pixart.messenger.utils.GeoHelper;
import de.pixart.messenger.utils.MimeUtils;
@@ -659,6 +660,12 @@ public class Message extends AbstractEntity {
}
try {
URL url = new URL(body);
+ String ref = url.getRef();
+ final String protocol = url.getProtocol();
+ final boolean encrypted = ref != null && ref.matches("([A-Fa-f0-9]{2}){48}");
+ if (AesGcmURLStreamHandler.PROTOCOL_NAME.equalsIgnoreCase(protocol) && encrypted) {
+ return Decision.MUST;
+ }
if (!url.getProtocol().equalsIgnoreCase("http") && !url.getProtocol().equalsIgnoreCase("https")) {
return Decision.NEVER;
} else if (oob) {
@@ -668,8 +675,6 @@ public class Message extends AbstractEntity {
if (extension == null) {
return Decision.NEVER;
}
- String ref = url.getRef();
- boolean encrypted = ref != null && ref.matches("([A-Fa-f0-9]{2}){48}");
if (encrypted) {
return Decision.MUST;