View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000999 | SOGo | Backend Mail | public | 2010-11-21 17:18 | 2013-09-12 09:32 |
| Reporter | joh | Assigned To | |||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | new | Resolution | open | ||
| Product Version | 1.3.4 | ||||
| Summary | 0000999: IMAP ACL problem when using user@domain as IMAP login | ||||
| Description | I am experiencing some Problems with imap acls. I assume that this is due to the fact that we are using "user@domain" as login to out imap-server. I tried the following: Login via web-interface (username: joh, email-address is "joh@bo-tech.de") and createt a folder "test" in my mailbox. I then edited access rights and added another user "mb" with all rights checked to this folder. The result is that some sort of acl have been set in the imap-server. When I looked into the acl files, it shows that the entries have been createt for the username "mb" which does not work as expected. After changing this manually to "mb@bo-tech.de" in the acl-files, it works as expected. So I assume that the following should be fixed: When the parameter "SOGoForceIMAPLoginWithEmail" is set to "YES", then this should also affect the used names in IMAP acls. I did some research and experiments in the code and observed that it already seems to work as expected if the attached change is made. But I am not sure if this might have undesired side effects. The difference is only when acls are set: It now uses "getImapLoginForUID" instead of simply using the uid. | ||||
| Tags | No tags attached. | ||||
|
2010-11-21 17:18
|
sogo_patch_imap_acl.diff (1,004 bytes)
diff -r 462959242fa7 SoObjects/Mailer/SOGoMailFolder.m
--- a/SoObjects/Mailer/SOGoMailFolder.m Sun Nov 21 16:38:17 2010 +0100
+++ b/SoObjects/Mailer/SOGoMailFolder.m Sun Nov 21 18:17:55 2010 +0100
@@ -54,6 +54,7 @@
#import <SOGo/SOGoPermissions.h>
#import <SOGo/SOGoSystemDefaults.h>
#import <SOGo/SOGoUser.h>
+#import <SOGo/SOGoUserManager.h>
#import <SOGo/SOGoUserSettings.h>
#import <SOGo/WORequest+SOGo.h>
#import <SOGo/WOResponse+SOGo.h>
@@ -1051,11 +1052,12 @@
- (void) setRoles: (NSArray *) roles
forUser: (NSString *) uid
{
- NSString *acls, *folderName;
+ NSString *acls, *imapLogin, *folderName;
acls = [self _sogoAclsToImapAcls: roles];
+ imapLogin = [[SOGoUserManager sharedUserManager] getImapLoginForUID: uid];
folderName = [[self imap4Connection] imap4FolderNameForURL: [self imap4URL]];
- [[imap4 client] setACL: folderName rights: acls uid: uid];
+ [[imap4 client] setACL: folderName rights: acls uid: imapLogin];
[mailboxACL release];
mailboxACL = nil;
|
|
Bump |
|
|
The problem is a mismatch between the imap server view of a user and your authentication source (ldap/sql etc...) |
|