See ChangeLog

Monotone-Parent: f84e4aaa7eb033904461e3ce48ce2ff0919a7a30
Monotone-Revision: 81c4e4d41c6464180cf83e11f19c2148e6351324

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2008-11-13T16:03:41
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Ludovic Marcotte 2008-11-13 16:03:41 +00:00
parent 5ea4891a28
commit 4b9e8f1486
3 changed files with 28 additions and 4 deletions

View File

@ -7,6 +7,11 @@
* SoObjects/SOGo/SOGoUserFolder.m
Improve the comparison of strings by rather using
URL objects.
* SOPE/NGCards/CardVersitRenderer.m
We now properly quote attribute values if they
contain an ':' in them
* SoObjects/Appointments/iCalPerson+SOGo.m
Fixed the check for quoted SENT-BY
2008-11-11 Ludovic Marcotte <lmarcotte@inverse.ca>

View File

@ -78,10 +78,29 @@
key = [keys nextObject];
while (key)
{
NSString *s;
int i, c;
renderedAttrs = [[attributes objectForKey: key] renderedForCards];
[rendering appendFormat: @";%@=%@",
[key uppercaseString],
[renderedAttrs componentsJoinedByString: @","]];
[rendering appendFormat: @";%@=", [key uppercaseString]];
c = [renderedAttrs count];
for (i = 0; i < c; i++)
{
s = [renderedAttrs objectAtIndex: i];
// We MUST quote attribute values that have a ":" in them and that
// not already quoted
if ([s length] > 2 && [s rangeOfString: @":"].length &&
[s characterAtIndex: 0] != '"' && ![s hasSuffix: @"\""])
s = [NSString stringWithFormat: @"\"%@\"", s];
[rendering appendFormat: @"%@", s];
if (i+1 < c)
[rendering appendString: @","];
}
key = [keys nextObject];
}

View File

@ -67,7 +67,7 @@ static LDAPUserManager *um = nil;
if ([mail length] > 7)
{
if ([mail characterAtIndex: 0] && [mail hasSuffix: @"\""])
if ([mail characterAtIndex: 0] == '"' && [mail hasSuffix: @"\""])
mail = [mail substringWithRange: NSMakeRange(1, [mail length]-2)];
return [mail substringFromIndex: 7];