BugFix #0002622: The server Dovecot use by default an UTF-8 and by doing so it cause a wrong re-encoding in UTF-7 when reaching the sieve server (knowing that the foldername in sieve are encoded in UTF-7). Since it is not the case with a Cyrus server, I created a new variable available in the sogo.conf that let you specified the type of encoding you need. By default the encoding is set to UTF-7. ex : SOGoFolderEncoding = 'UTF-7'

pull/19/head
Alexandre Cloutier 2014-03-05 12:31:27 -05:00
parent 31ace947cb
commit e7a16cba0d
6 changed files with 21 additions and 1 deletions

View File

@ -13,6 +13,7 @@
SOGoZipPath = "/usr/bin/zip";
SOGoEncryptionKey = "MySOGoEncryptionKey";
SOGoFolderEncoding = "UTF-7";
WOUseRelativeURLs = YES;
WOMessageUseUTF8 = YES;

View File

@ -42,6 +42,7 @@
- (BOOL) trustProxyAuthentication;
- (NSString *) encryptionKey;
- (BOOL) useRelativeURLs;
- (NSString *) folderEncoding;
- (BOOL) isWebAccessEnabled;
- (BOOL) isCalendarDAVAccessEnabled;

View File

@ -356,6 +356,12 @@ _injectConfigurationFromFile (NSMutableDictionary *defaultsDict,
return [self boolForKey: @"WOUseRelativeURLs"];
}
- (NSString *) folderEncoding
{
return [self stringForKey: @"SOGoFolderEncoding"];
}
- (BOOL) isWebAccessEnabled
{
return [self boolForKey: @"SOGoWebAccessEnabled"];

View File

@ -28,6 +28,7 @@
#import <SOGo/NSString+Utilities.h>
#import <SOGo/SOGoUser.h>
#import <SOGo/SOGoUserDefaults.h>
#import <SOGo/SOGoSystemDefaults.h>
#import <SOGoUI/UIxComponent.h>
@ -35,6 +36,7 @@
{
NSString *filterId;
NSDictionary *labels;
NSString *folderEncoding;
}
@end
@ -112,4 +114,9 @@
return [labels jsonRepresentation];
}
- (NSString *) folderEncoding
{
return [[SOGoSystemDefaults sharedSystemDefaults] folderEncoding];
}
@end

View File

@ -13,6 +13,7 @@
>
<script type="text/javascript">
var filterId = '<var:string value="filterId"/>';
var folderEncoding = '<var:string value="folderEncoding"/>';
var mailTags = <var:string value="labels" const:escapeHTML="NO"/>;
</script>
<form id="mainForm" var:href="ownPath">

View File

@ -635,8 +635,12 @@ function ensureMailboxArgRepresentation(container, argumentSpan) {
: {'displayName': 'INBOX', 'path': 'INBOX' });
for (var i = 0; i < mailboxes.length; i++) {
var mailbox = mailboxes[i];
var folderValue;
((folderEncoding == "UTF-8") ? folderValue = mailbox.displayName
: folderValue = mailbox.path);
var mboxOption = createElement("option", null, null,
{ value: mailbox.path }, null, select);
{ value: folderValue }, null, select);
mboxOption.appendChild(document.createTextNode(mailbox.displayName));
}
argumentSpan.appendChild(select);