From ae3ac0a09a1ac8df5d2df477b9d5a8168f742069 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Amor=20Garc=C3=ADa?= Date: Wed, 19 Aug 2015 18:56:15 +0200 Subject: [PATCH] oc-mail: Support attachments with filename extended parameter The attachments which used a extended parameter for their filename ('filename*=') where silently dropped. This was because MAPIStore was only looking for no-extended filename parameter. The solution is using the 'filename' from the SOGOExtension of the NSDictionary interface. --- OpenChange/MAPIStoreMailAttachment.m | 14 +------------- OpenChange/MAPIStoreMailMessage.m | 4 +--- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/OpenChange/MAPIStoreMailAttachment.m b/OpenChange/MAPIStoreMailAttachment.m index 388ad924d..da7763095 100644 --- a/OpenChange/MAPIStoreMailAttachment.m +++ b/OpenChange/MAPIStoreMailAttachment.m @@ -117,19 +117,7 @@ - (NSString *) _fileName { - NSString *fileName; - NSDictionary *parameters; - - fileName = [[bodyInfo objectForKey: @"parameterList"] - objectForKey: @"name"]; - if (!fileName) - { - parameters = [[bodyInfo objectForKey: @"disposition"] - objectForKey: @"parameterList"]; - fileName = [parameters objectForKey: @"filename"]; - } - - return fileName; + return [bodyInfo filename]; } - (int) getPidTagAttachLongFilename: (void **) data diff --git a/OpenChange/MAPIStoreMailMessage.m b/OpenChange/MAPIStoreMailMessage.m index 37d4fc420..af9e38790 100644 --- a/OpenChange/MAPIStoreMailMessage.m +++ b/OpenChange/MAPIStoreMailMessage.m @@ -1569,9 +1569,7 @@ _compareBodyKeysByPriority (id entry1, id entry2, void *data) NSDictionary *parameters; NSUInteger count, max; - parameters = [[bodyInfo objectForKey: @"disposition"] - objectForKey: @"parameterList"]; - if ([[parameters objectForKey: @"filename"] length] > 0) + if ([[bodyInfo filename] length] > 0) { if ([keyPrefix length] == 0) keyPrefix = @"0";