aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/xmpp
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2019-08-31 15:38:33 +0200
committerChristian Schneppe <christian@pix-art.de>2019-08-31 15:39:31 +0200
commita1ade22308e41d05bb35c8b7308a4e683b983e42 (patch)
tree7d937f95cfedd9b555bcf5e71d951558853deda8 /src/main/java/de/pixart/messenger/xmpp
parent4323b7de5a6b1558587d73b3bf2220726e1c8efa (diff)
fixed pgp decryption of automatically accepted jingle ft
Diffstat (limited to 'src/main/java/de/pixart/messenger/xmpp')
-rw-r--r--src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java b/src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java
index 532d56da5..7982cfeea 100644
--- a/src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java
+++ b/src/main/java/de/pixart/messenger/xmpp/jingle/JingleConnection.java
@@ -123,6 +123,8 @@ public class JingleConnection implements Transferable {
}
Log.d(Config.LOGTAG, "successfully transmitted file:" + file.getAbsolutePath() + " (" + CryptoHelper.bytesToHex(file.getSha1Sum()) + ")");
return;
+ } else if (message.getEncryption() == Message.ENCRYPTION_PGP) {
+ account.getPgpDecryptionService().decrypt(message, true);
}
} else {
if (ftVersion == Content.Version.FT_5) { //older Conversations will break when receiving a session-info
@@ -426,21 +428,16 @@ public class JingleConnection implements Transferable {
} else if (VALID_CRYPTO_EXTENSIONS.contains(extension.main)) {
if (VALID_IMAGE_EXTENSIONS.contains(extension.secondary)) {
message.setType(Message.TYPE_IMAGE);
- message.setRelativeFilePath(message.getUuid() + "." + extension.main);
+ message.setRelativeFilePath(message.getUuid() + "." + extension.secondary);
} else {
message.setType(Message.TYPE_FILE);
message.setRelativeFilePath(message.getUuid() + (extension.secondary != null ? ("." + extension.secondary) : ""));
}
// only for OTR compatibility
- Element fileNameElement = fileOffer.findChild("name");
- if (fileNameElement != null) {
- String[] filename = fileNameElement.getContent()
- .toLowerCase(Locale.US).toLowerCase().split("\\.");
- if (filename[filename.length - 1].equals("otr")) {
- message.setEncryption(Message.ENCRYPTION_OTR);
- } else {
- message.setEncryption(Message.ENCRYPTION_PGP);
- }
+ if (extension.main.equals("otr")) {
+ message.setEncryption(Message.ENCRYPTION_OTR);
+ } else {
+ message.setEncryption(Message.ENCRYPTION_PGP);
}
} else {
message.setType(Message.TYPE_FILE);