From 186587428734d92d0401cd0eb958059fb74af141 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 2 Dec 2011 17:14:19 +0000 Subject: [PATCH] Monotone-Parent: 80cd4d841c2131e174529a1ded9ebf2c93620e00 Monotone-Revision: d7078410ff174b441e08902d0d87364ea464be95 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-12-02T17:14:19 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 6 ++++++ OpenChange/MAPIStoreFSFolder.m | 14 +++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8fad3e9a5..be22b7b30 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-12-02 Wolfgang Sourdeau + + * OpenChange/MAPIStoreFSFolder.m + (-messageKeysMatchingQualifier:andSortOrderings:): ensure the + active user can read the folder messages before returning them. + 2011-12-01 Wolfgang Sourdeau * OpenChange/MAPIStoreFAIMessage.m (-subscriberCanReadMessage) diff --git a/OpenChange/MAPIStoreFSFolder.m b/OpenChange/MAPIStoreFSFolder.m index c3feedad5..bb6cf3d7b 100644 --- a/OpenChange/MAPIStoreFSFolder.m +++ b/OpenChange/MAPIStoreFSFolder.m @@ -125,9 +125,17 @@ static NSString *MAPIStoreRightFolderContact = @"RightsFolderContact"; - (NSArray *) messageKeysMatchingQualifier: (EOQualifier *) qualifier andSortOrderings: (NSArray *) sortOrderings { - return [(SOGoMAPIFSFolder *) sogoObject - toOneRelationshipKeysMatchingQualifier: qualifier - andSortOrderings: sortOrderings]; + NSArray *keys; + + if ([[context activeUser] isEqual: [context ownerUser]] + || [self subscriberCanReadMessages]) + keys = [(SOGoMAPIFSFolder *) sogoObject + toOneRelationshipKeysMatchingQualifier: qualifier + andSortOrderings: sortOrderings]; + else + keys = [NSArray array]; + + return keys; } - (NSArray *) folderKeysMatchingQualifier: (EOQualifier *) qualifier