From b5023eeb245c0c0cec40b018af404049119cd4d0 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Wed, 29 Oct 2014 14:56:03 -0400 Subject: [PATCH] Fix for bug #2940 --- ActiveSync/SOGoActiveSyncDispatcher.m | 6 +++--- Documentation/SOGoInstallationGuide.asciidoc | 5 +++-- NEWS | 3 +++ SoObjects/SOGo/SOGoSystemDefaults.m | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/ActiveSync/SOGoActiveSyncDispatcher.m b/ActiveSync/SOGoActiveSyncDispatcher.m index 083829b22..58c58e455 100644 --- a/ActiveSync/SOGoActiveSyncDispatcher.m +++ b/ActiveSync/SOGoActiveSyncDispatcher.m @@ -1693,19 +1693,19 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. realCollectionId = [self globallyUniqueIDToIMAPFolderName: realCollectionId type: folderType]; if (folderType == ActiveSyncMailFolder) - folderMetadata = [self _folderMetadataForKey: [NSString stringWithFormat: @"folder%@", [[collectionId stringByUnescapingURL] substringFromIndex:5]]]; + folderMetadata = [self _folderMetadataForKey: [NSString stringWithFormat: @"folder%@", [[collectionId stringByUnescapingURL] substringFromIndex:5]]]; else folderMetadata = [self _folderMetadataForKey: [collectionId stringByUnescapingURL]]; collection = [self collectionFromId: realCollectionId type: folderType]; - // if collection doesn't exists skip it - next foldersync will do the cleanup + // If collection doesn't exist skip it - next foldersync will do the cleanup if (!collection) continue; syncKey = [folderMetadata objectForKey: @"SyncKey"]; - if (![syncKey isEqualToString: [collection davCollectionTag]]) + if (syncKey && ![syncKey isEqualToString: [collection davCollectionTag]]) { [foldersWithChanges addObject: collectionId]; } diff --git a/Documentation/SOGoInstallationGuide.asciidoc b/Documentation/SOGoInstallationGuide.asciidoc index b57c18ee5..ea6bd8757 100644 --- a/Documentation/SOGoInstallationGuide.asciidoc +++ b/Documentation/SOGoInstallationGuide.asciidoc @@ -2331,7 +2331,7 @@ ActiveSync: |Parameter used to set the maximum amount of time, in seconds, SOGo will wait before replying to a Ping command. -If not set, it defaults to `5` seconds. +If not set, it defaults to `10` seconds. |S |SOGoMaximumSyncInterval |Parameter used to set the maximum amount of time, in seconds, SOGo will @@ -2342,7 +2342,8 @@ If not set, it defaults to `30` seconds. |S |SOGoInternalSyncInterval |Parameter used to set the maximum amount of time, in seconds, SOGo will wait before doing an internal check for data changes (add, delete, and -update). This parameter must be lower than _SOGoMaximumSyncInterval_. +update). This parameter must be lower than _SOGoMaximumSyncInterval_ and +_SOGoMaximumPingInterval_. If not set, it defaults to `10` seconds. diff --git a/NEWS b/NEWS index 35ef7881a..fb50d675c 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ Enhancements - no longer leaking database passwords in the logs (#2953) + - added support for multiple calendars and address books over ActiveSync Bug fixes - fixed freebusy lookup with "Show time as busy" (#2930) @@ -10,6 +11,8 @@ Bug fixes - fixed folder's display name when subscribing to a folder - fixed folder's display name when the active user subscribes another user to one of her/his folders - fixed error with new user default sorting value for the mailer module (#2952) + - fixed ActiveSync PING command flooding the server (#2940) + - fixed many interop issues with Windows Phones over ActiveSync 2.2.9a (2014-09-29) ------------------- diff --git a/SoObjects/SOGo/SOGoSystemDefaults.m b/SoObjects/SOGo/SOGoSystemDefaults.m index 01150e287..b9f1f0225 100644 --- a/SoObjects/SOGo/SOGoSystemDefaults.m +++ b/SoObjects/SOGo/SOGoSystemDefaults.m @@ -592,7 +592,7 @@ _injectConfigurationFromFile (NSMutableDictionary *defaultsDict, v = [self integerForKey: @"SOGoMaximumPingInterval"]; if (!v) - v = 5; + v = 10; return v; }