From e71a1c9974cc6f0177b50065a173aa37963cc159 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Tue, 12 May 2015 10:44:51 -0400 Subject: [PATCH] (fix) addition fix for #3152 --- ActiveSync/SOGoActiveSyncDispatcher.m | 3 +++ ActiveSync/SOGoMailObject+ActiveSync.m | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ActiveSync/SOGoActiveSyncDispatcher.m b/ActiveSync/SOGoActiveSyncDispatcher.m index e9264283d..5bbc394c9 100644 --- a/ActiveSync/SOGoActiveSyncDispatcher.m +++ b/ActiveSync/SOGoActiveSyncDispatcher.m @@ -2490,6 +2490,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. else [map setObject: email forKey: @"from"]; + if ([[mailObject envelope] messageId]) + [map setObject: [[mailObject envelope] messageId] forKey: @"in-reply-to"]; + messageToSend = [[[NGMimeMessage alloc] initWithHeader: map] autorelease]; body = [[[NGMimeMultipartBody alloc] initWithPart: messageToSend] autorelease]; diff --git a/ActiveSync/SOGoMailObject+ActiveSync.m b/ActiveSync/SOGoMailObject+ActiveSync.m index 3e513a4d5..96f05e929 100644 --- a/ActiveSync/SOGoMailObject+ActiveSync.m +++ b/ActiveSync/SOGoMailObject+ActiveSync.m @@ -973,9 +973,18 @@ struct GlobalObjectId { [s appendFormat: @""]; } + if ([[[context request] headerForKey: @"MS-ASProtocolVersion"] isEqualToString: @"14.0"] && + [[[context request] headerForKey: @"MS-ASProtocolVersion"] isEqualToString: @"14.1"]) + { + if ([self inReplyTo]) + [s appendFormat: @"%@", [[[self inReplyTo] dataUsingEncoding: NSUTF8StringEncoding] activeSyncRepresentationInContext: context]]; + else if ([self messageId]) + [s appendFormat: @"%@", [[[self messageId] dataUsingEncoding: NSUTF8StringEncoding] activeSyncRepresentationInContext: context]]; + } + // FIXME - support these in the future - //[s appendString: @"foobar"]; //[s appendString: @"zot="]; + // NativeBodyType -- http://msdn.microsoft.com/en-us/library/ee218276(v=exchg.80).aspx // This is a required child element.