From db0f3d149f19e29b2a9c202cf346b590ebb0c010 Mon Sep 17 00:00:00 2001 From: Oliver Wiese <oliver.wiese@fu-berlin.de> Date: Thu, 26 Oct 2017 15:04:38 +0200 Subject: [PATCH] fix #116 --- enzevalos_iphone/MailHandler.swift | 15 ++++++++++----- .../ObjectivePGP/Packets/PGPSignaturePacket.m | 3 +++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/enzevalos_iphone/MailHandler.swift b/enzevalos_iphone/MailHandler.swift index f587d283..191a19b1 100644 --- a/enzevalos_iphone/MailHandler.swift +++ b/enzevalos_iphone/MailHandler.swift @@ -38,6 +38,7 @@ fileprivate func > <T : Comparable>(lhs: T?, rhs: T?) -> Bool { let AUTOCRYPTHEADER = "Autocrypt" +let SETUPMESSAGE = "Autocrypt-Setup-Message" let ADDR = "adr" let TYPE = "type" let ENCRYPTION = "prefer-encrypted" @@ -236,8 +237,8 @@ class MailHandler { let builder = MCOMessageBuilder() let userID :MCOAddress = MCOAddress(displayName: useraddr, mailbox: useraddr) - createHeader(builder, toEntrys: [useraddr], ccEntrys: [], bccEntrys: [], subject: "Autocrypt Setup Message 2") - builder.header.setExtraHeaderValue("v0", forName: "Autocrypt-Setup-Message") + createHeader(builder, toEntrys: [useraddr], ccEntrys: [], bccEntrys: [], subject: "Autocrypt Setup Message") + builder.header.setExtraHeaderValue("v0", forName: SETUPMESSAGE) /* @@ -516,8 +517,12 @@ class MailHandler { let requestKind = MCOIMAPMessagesRequestKind(rawValue: MCOIMAPMessagesRequestKind.headers.rawValue | MCOIMAPMessagesRequestKind.flags.rawValue) let fetchOperation: MCOIMAPFetchMessagesOperation = self.IMAPSession.fetchMessagesOperation(withFolder: folderPath, requestKind: requestKind, uids: uids) - fetchOperation.extraHeaders = [AUTOCRYPTHEADER] - + fetchOperation.extraHeaders = [AUTOCRYPTHEADER, SETUPMESSAGE] + if uids.count() == 0{ + print("NO UIDS to call!") + completionCallback(false) + return + } fetchOperation.start { (err, msg, vanished) -> Void in guard err == nil else { print("Error while fetching inbox: \(String(describing: err))") @@ -570,7 +575,7 @@ class MailHandler { autocrypt = AutocryptContact(header: header!) } - if let _ = header?.extraHeaderValue(forName: "Autocrypt-Setup-Message"){ + if let _ = header?.extraHeaderValue(forName: SETUPMESSAGE){ // own key export message -> Drop message?. // TODO: Distinguish between other keys (future work) if newMailCallback != nil{ diff --git a/enzevalos_iphone/ObjectivePGP/Packets/PGPSignaturePacket.m b/enzevalos_iphone/ObjectivePGP/Packets/PGPSignaturePacket.m index 1583fa2c..fd4f0778 100644 --- a/enzevalos_iphone/ObjectivePGP/Packets/PGPSignaturePacket.m +++ b/enzevalos_iphone/ObjectivePGP/Packets/PGPSignaturePacket.m @@ -293,6 +293,9 @@ NS_ASSUME_NONNULL_BEGIN } } + if (signingKeyPacket == NULL){ + return NO; + } switch (signingKeyPacket.publicKeyAlgorithm) { case PGPPublicKeyAlgorithmRSA: case PGPPublicKeyAlgorithmRSASignOnly: -- GitLab