diff options
author | Kubilay Kocak <koobs@FreeBSD.org> | 2016-07-26 13:45:44 +0000 |
---|---|---|
committer | Kubilay Kocak <koobs@FreeBSD.org> | 2016-07-26 13:45:44 +0000 |
commit | 916ce9fa81ad916570ab88ac5ea985af3c8cb4f0 (patch) | |
tree | 002ae6061e7fccc4e23abfec3d38453fb2a9d118 | |
parent | Update to 367.35 (diff) |
www/sogo3-activesync: Fix EAS regression in 3.1.4
Sogo 3.1.4 (commited in revision 418789 [1]) introduced a regression
causing users to be unable to fetch mail, contacts or calendars via EAS.
This was fixed in upstream pull request #217 [2], which this commit
backports.
[1] http://svnweb.freebsd.org/changeset/ports/418789
[2] https://github.com/inverse-inc/sogo/pull/217
PR: 211237
Submitted by: Martin Waschbüsch <martin waschbuesch de>
Approved by: Euan Thoms <euan potensol com> (maintainer)
Notes
Notes:
svn path=/head/; revision=419107
-rw-r--r-- | www/sogo3/Makefile | 1 | ||||
-rw-r--r-- | www/sogo3/files/patch-ActiveSync_GNUmakefile | 2 | ||||
-rw-r--r-- | www/sogo3/files/patch-ActiveSync_SOGoMailObject+ActiveSync.m | 53 | ||||
-rw-r--r-- | www/sogo3/files/patch-ActiveSync_iCalEvent+ActiveSync.m | 20 | ||||
-rw-r--r-- | www/sogo3/files/patch-ActiveSync_iCalToDo+ActiveSync.m | 20 | ||||
-rw-r--r-- | www/sogo3/files/patch-Main_GNUmakefile.preamble | 2 | ||||
-rw-r--r-- | www/sogo3/files/patch-Tests_Unit_GNUmakefile | 6 | ||||
-rw-r--r-- | www/sogo3/files/patch-Tools_GNUmakefile.preamble | 2 | ||||
-rw-r--r-- | www/sogo3/files/patch-configure | 2 |
9 files changed, 101 insertions, 7 deletions
diff --git a/www/sogo3/Makefile b/www/sogo3/Makefile index d971f4821f84..23e0c8ba1b52 100644 --- a/www/sogo3/Makefile +++ b/www/sogo3/Makefile @@ -3,6 +3,7 @@ PORTNAME= sogo3 PORTVERSION= 3.1.4 +PORTREVISION= 1 CATEGORIES= www gnustep MASTER_SITES= http://www.sogo.nu/files/downloads/SOGo/Sources/ DISTNAME= SOGo-${PORTVERSION} diff --git a/www/sogo3/files/patch-ActiveSync_GNUmakefile b/www/sogo3/files/patch-ActiveSync_GNUmakefile index f635fd046e80..5c56206ace77 100644 --- a/www/sogo3/files/patch-ActiveSync_GNUmakefile +++ b/www/sogo3/files/patch-ActiveSync_GNUmakefile @@ -1,4 +1,4 @@ ---- ActiveSync/GNUmakefile.orig 2015-11-11 19:25:43 UTC +--- ActiveSync/GNUmakefile.orig 2016-07-12 16:56:33 UTC +++ ActiveSync/GNUmakefile @@ -34,7 +34,7 @@ ActiveSync_RESOURCE_FILES += \ ADDITIONAL_OBJCFLAGS += -Wno-deprecated-declarations diff --git a/www/sogo3/files/patch-ActiveSync_SOGoMailObject+ActiveSync.m b/www/sogo3/files/patch-ActiveSync_SOGoMailObject+ActiveSync.m new file mode 100644 index 000000000000..186dd5a0c83d --- /dev/null +++ b/www/sogo3/files/patch-ActiveSync_SOGoMailObject+ActiveSync.m @@ -0,0 +1,53 @@ +--- ActiveSync/SOGoMailObject+ActiveSync.m.orig 2016-07-20 04:33:03 UTC ++++ ActiveSync/SOGoMailObject+ActiveSync.m +@@ -1003,7 +1003,7 @@ struct GlobalObjectId { + [s appendFormat: @"<GlobalObjId xmlns=\"Email:\">%@</GlobalObjId>", [globalObjId activeSyncRepresentationInContext: context]]; + + // We set the right message type - we must set AS version to 14.1 for this +- if ([[context valueForKey: @"ASProtocolVersion"] floatValue] >= 14.1) ++ if ([[context objectForKey: @"ASProtocolVersion"] floatValue] >= 14.1) + [s appendFormat: @"<MeetingMessageType xmlns=\"Email2:\">%d</MeetingMessageType>", 1]; + + [s appendString: @"</MeetingRequest>"]; +@@ -1169,7 +1169,7 @@ struct GlobalObjectId { + truncated = 0; + } + +- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) ++ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) + { + [s appendFormat: @"<Body xmlns=\"Email:\">%@</Body>", content]; + [s appendFormat: @"<BodyTruncated xmlns=\"Email:\">%d</BodyTruncated>", truncated]; +@@ -1204,7 +1204,7 @@ struct GlobalObjectId { + { + int i; + +- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) ++ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) + [s appendString: @"<Attachments xmlns=\"Email:\">"]; + else + [s appendString: @"<Attachments xmlns=\"AirSyncBase:\">"]; +@@ -1219,12 +1219,12 @@ struct GlobalObjectId { + // FileReference must be a unique identifier across the whole store. We use the following structure: + // mail/<foldername>/<message UID/<pathofpart> + // mail/INBOX/2 +- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) ++ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) + [s appendFormat: @"<AttName>mail/%@/%@/%@</AttName>", [[[self container] relativeImap4Name] stringByEscapingURL], [self nameInContainer], [value objectForKey: @"path"]]; + else + [s appendFormat: @"<FileReference>mail/%@/%@/%@</FileReference>", [[[self container] relativeImap4Name] stringByEscapingURL], [self nameInContainer], [value objectForKey: @"path"]]; + +- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) ++ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) + { + [s appendFormat: @"<AttMethod>%d</AttMethod>", 1]; + [s appendFormat: @"<AttSize>%d</AttSize>", [[value objectForKey: @"size"] intValue]]; +@@ -1273,7 +1273,7 @@ struct GlobalObjectId { + [s appendFormat: @"</Categories>"]; + } + +- if ([[context valueForKey: @"ASProtocolVersion"] floatValue] >= 14.0) ++ if ([[context objectForKey: @"ASProtocolVersion"] floatValue] >= 14.0) + { + id value; + NSString *reference; diff --git a/www/sogo3/files/patch-ActiveSync_iCalEvent+ActiveSync.m b/www/sogo3/files/patch-ActiveSync_iCalEvent+ActiveSync.m new file mode 100644 index 000000000000..533d763d61e5 --- /dev/null +++ b/www/sogo3/files/patch-ActiveSync_iCalEvent+ActiveSync.m @@ -0,0 +1,20 @@ +--- ActiveSync/iCalEvent+ActiveSync.m.orig 2016-07-20 04:33:18 UTC ++++ ActiveSync/iCalEvent+ActiveSync.m +@@ -244,7 +244,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + // otherwise it'll prevent WP8 phones from sync'ing. See #3028 for details. + o = [o activeSyncRepresentationInContext: context]; + +- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) ++ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) + { + [s appendFormat: @"<Body xmlns=\"Calendar:\">%@</Body>", o]; + [s appendString: @"<BodyTruncated xmlns=\"Calendar:\">0</BodyTruncated>"]; +@@ -487,7 +487,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + } + + // FIXME: merge with iCalToDo +- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) ++ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) + { + if ((o = [theValues objectForKey: @"Body"])) + [self setComment: o]; diff --git a/www/sogo3/files/patch-ActiveSync_iCalToDo+ActiveSync.m b/www/sogo3/files/patch-ActiveSync_iCalToDo+ActiveSync.m new file mode 100644 index 000000000000..e90ad6bfd20e --- /dev/null +++ b/www/sogo3/files/patch-ActiveSync_iCalToDo+ActiveSync.m @@ -0,0 +1,20 @@ +--- ActiveSync/iCalToDo+ActiveSync.m.orig 2016-07-20 04:33:29 UTC ++++ ActiveSync/iCalToDo+ActiveSync.m +@@ -127,7 +127,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + // otherwise it'll prevent WP8 phones from sync'ing. See #3028 for details. + o = [o activeSyncRepresentationInContext: context]; + +- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) ++ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) + { + [s appendFormat: @"<Body xmlns=\"Tasks:\">%@</Body>", o]; + [s appendString: @"<BodyTruncated xmlns=\"Tasks:\">0</BodyTruncated>"]; +@@ -161,7 +161,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI + [self setSummary: o]; + + // FIXME: merge with iCalEvent +- if ([[context valueForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) ++ if ([[context objectForKey: @"ASProtocolVersion"] isEqualToString: @"2.5"]) + { + if ((o = [theValues objectForKey: @"Body"])) + [self setComment: o]; diff --git a/www/sogo3/files/patch-Main_GNUmakefile.preamble b/www/sogo3/files/patch-Main_GNUmakefile.preamble index 7d50c2e00826..aa378d945f94 100644 --- a/www/sogo3/files/patch-Main_GNUmakefile.preamble +++ b/www/sogo3/files/patch-Main_GNUmakefile.preamble @@ -1,4 +1,4 @@ ---- Main/GNUmakefile.preamble.orig 2015-09-16 18:41:29 UTC +--- Main/GNUmakefile.preamble.orig 2016-07-12 16:56:34 UTC +++ Main/GNUmakefile.preamble @@ -22,4 +22,4 @@ $(SOGOD)_TOOL_LIBS += \ -lNGObjWeb \ diff --git a/www/sogo3/files/patch-Tests_Unit_GNUmakefile b/www/sogo3/files/patch-Tests_Unit_GNUmakefile index 4db135c49921..10be249a2cb8 100644 --- a/www/sogo3/files/patch-Tests_Unit_GNUmakefile +++ b/www/sogo3/files/patch-Tests_Unit_GNUmakefile @@ -1,7 +1,7 @@ ---- Tests/Unit/GNUmakefile.orig 2015-09-16 18:41:31 UTC +--- Tests/Unit/GNUmakefile.orig 2016-07-12 16:56:44 UTC +++ Tests/Unit/GNUmakefile -@@ -35,7 +35,10 @@ $(TEST_TOOL)_CPPFLAGS += \ - -Wall -D_GNU_SOURCE -I../../SOPE/ -I../../SoObjects/ -I../../UI/ +@@ -43,7 +43,10 @@ $(TEST_TOOL)_CPPFLAGS += \ + -Wall -D_GNU_SOURCE -I../../SOPE/ -I../../SoObjects/ -I../../UI/ -I../../OpenChange ADDITIONAL_LIB_DIRS += \ - -L../../SoObjects/SOGo/SOGo.framework/Versions/Current/sogo -L../../SOPE/NGCards/obj -L../../SOPE/GDLContentStore/obj -lSOGo -lNGMime -lNGCards -lGDLContentStore -lNGExtensions -lSBJson -lobjc \ diff --git a/www/sogo3/files/patch-Tools_GNUmakefile.preamble b/www/sogo3/files/patch-Tools_GNUmakefile.preamble index 036e957a2edb..24e39a0ca3b3 100644 --- a/www/sogo3/files/patch-Tools_GNUmakefile.preamble +++ b/www/sogo3/files/patch-Tools_GNUmakefile.preamble @@ -1,4 +1,4 @@ ---- Tools/GNUmakefile.preamble.orig 2015-09-16 18:41:31 UTC +--- Tools/GNUmakefile.preamble.orig 2016-07-12 16:56:44 UTC +++ Tools/GNUmakefile.preamble @@ -13,4 +13,5 @@ ADDITIONAL_LIB_DIRS += \ -L../SoObjects/SOGo/SOGo.framework/sogo -lSOGo \ diff --git a/www/sogo3/files/patch-configure b/www/sogo3/files/patch-configure index a5afdcb4a6bc..a06a466a80e9 100644 --- a/www/sogo3/files/patch-configure +++ b/www/sogo3/files/patch-configure @@ -1,4 +1,4 @@ ---- configure.orig 2016-07-06 11:37:52 UTC +--- configure.orig 2016-07-12 16:56:55 UTC +++ configure @@ -1,4 +1,4 @@ -#!/bin/bash |