fix(mail): split "l" and "r" ACL attributes for IMAP mailboxes

Fixes #4983
This commit is contained in:
Francis Lachapelle committed 2021-09-10 16:57:15 -04:00
1 parent d1fc15b3a4
commit 08581eefab
6 files changed
+29 -10

No files matched your search

+6 -5
View File
@@ -1326,6 +1326,8 @@ static NSComparisonResult _compareFetchResultsByUID (id entry1, id entry2, NSArr
switch ([imapAcls characterAtIndex: count])
{
case 'l':
[SOGoAcls addObjectUniquely: SOGoRole_FolderViewer];
break;
case 'r':
[SOGoAcls addObjectUniquely: SOGoRole_ObjectViewer];
break;
@@ -1408,11 +1410,10 @@ static NSComparisonResult _compareFetchResultsByUID (id entry1, id entry2, NSArr
acls = [sogoAcls objectEnumerator];
while ((currentAcl = [acls nextObject]))
{
if ([currentAcl isEqualToString: SOGoRole_ObjectViewer])
{
[imapAcls appendFormat: @"lr"];
character = 0;
}
if ([currentAcl isEqualToString: SOGoRole_FolderViewer])
character = 'l';
else if ([currentAcl isEqualToString: SOGoRole_ObjectViewer])
character = 'r';
else if ([currentAcl isEqualToString: SOGoMailRole_SeenKeeper])
character = 's';
else if ([currentAcl isEqualToString: SOGoMailRole_Writer])
+1 -3
View File
@@ -1,8 +1,6 @@
/* SOGoPermissions.h - this file is part of SOGo
*
* Copyright (C) 2006 Inverse inc.
*
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
* Copyright (C) 2006-2021 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
+2 -1
View File
@@ -1,6 +1,6 @@
/* SOGoPermissions.m - this file is part of SOGo
*
* Copyright (C) 2006-2014 Inverse inc.
* Copyright (C) 2006-2021 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -28,6 +28,7 @@ NSString *SOGoRole_ObjectEditor = @"ObjectEditor";
NSString *SOGoRole_FolderCreator = @"FolderCreator";
NSString *SOGoRole_FolderEraser = @"FolderEraser";
NSString *SOGoRole_FolderViewer = @"FolderViewer";
NSString *SOGoRole_AuthorizedSubscriber = @"AuthorizedSubscriber";
NSString *SOGoRole_PublicUser = @"PublicUser";