From 7090ca4a422ab6aeaebbecfb9213adb72df49ceb Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Mon, 6 May 2013 19:09:36 -0700 Subject: [PATCH] Don't remote-encrypt key exchange messages --- .../securesms/transport/SmsTransport.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/org/thoughtcrime/securesms/transport/SmsTransport.java b/src/org/thoughtcrime/securesms/transport/SmsTransport.java index b76fb9793f..75764cb1c3 100644 --- a/src/org/thoughtcrime/securesms/transport/SmsTransport.java +++ b/src/org/thoughtcrime/securesms/transport/SmsTransport.java @@ -40,11 +40,14 @@ public class SmsTransport { } private void deliverSecureMessage(SmsMessageRecord message) throws UndeliverableMessageException { - String encryptedMessage = getAsymmetricEncrypt(masterSecret, message.getBody().getBody(), - message.getIndividualRecipient()); - - OutgoingTextMessage transportMessage = OutgoingTextMessage.from(message).withBody(encryptedMessage); MultipartSmsMessageHandler multipartMessageHandler = new MultipartSmsMessageHandler(); + OutgoingTextMessage transportMessage = OutgoingTextMessage.from(message); + + if (message.isSecure()) { + String encryptedMessage = getAsymmetricEncrypt(masterSecret, message.getBody().getBody(), + message.getIndividualRecipient()); + transportMessage = transportMessage.withBody(encryptedMessage); + } ArrayList messages = multipartMessageHandler.divideMessage(transportMessage); ArrayList sentIntents = constructSentIntents(message.getId(), message.getType(), messages);