This commit is contained in:
Ludovic Marcotte 2013-06-04 08:51:38 -04:00
parent 854bce28fb
commit 4cb0facd72
2 changed files with 18 additions and 4 deletions

1
NEWS
View file

@ -3,6 +3,7 @@
Bug fixes Bug fixes
- Fixed decoding of the charset parameter when using single quotes (#2306) - Fixed decoding of the charset parameter when using single quotes (#2306)
- Fixed potential crash when sending MDN from Sent folder (#2209)
2.0.5a (2013-04-17) 2.0.5a (2013-04-17)
------------------ ------------------

View file

@ -1,14 +1,15 @@
/* /*
Copyright (C) 2004-2005 SKYRIX Software AG Copyright (C) 2004-2005 SKYRIX Software AG
Copyright (C) 2005-2013 Inverse inc.
This file is part of OpenGroupware.org. This file is part of SOGo.
OGo is free software; you can redistribute it and/or modify it under SOGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any Free Software Foundation; either version 2, or (at your option) any
later version. later version.
OGo is distributed in the hope that it will be useful, but WITHOUT ANY SOGo is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details. License for more details.
@ -30,6 +31,8 @@
#import <NGMime/NGMimeBodyPart.h> #import <NGMime/NGMimeBodyPart.h>
#import <NGMime/NGMimeMultipartBody.h> #import <NGMime/NGMimeMultipartBody.h>
#import <NGMail/NGMailAddress.h>
#import <NGMail/NGMailAddressParser.h>
#import <NGMail/NGMimeMessage.h> #import <NGMail/NGMimeMessage.h>
#import <NGMail/NGMimeMessageGenerator.h> #import <NGMail/NGMimeMessageGenerator.h>
@ -216,7 +219,7 @@ static NSString *mailETag = nil;
{ {
identityEmail = [[identities objectAtIndex: count] identityEmail = [[identities objectAtIndex: count]
objectForKey: @"email"]; objectForKey: @"email"];
rc = [identityEmail isEqualToString: email]; rc = ([identityEmail caseInsensitiveCompare: email] == NSOrderedSame);
} }
return rc; return rc;
@ -489,6 +492,7 @@ static NSString *mailETag = nil;
- (NSString *) shouldAskReceipt - (NSString *) shouldAskReceipt
{ {
NGMailAddress *mailAddress;
NSDictionary *mailHeaders; NSDictionary *mailHeaders;
NSString *email, *action; NSString *email, *action;
@ -504,6 +508,15 @@ static NSString *mailETag = nil;
email = [mailHeaders objectForKey: @"return-receipt-to"]; email = [mailHeaders objectForKey: @"return-receipt-to"];
} }
// email here can be "foo@bar.com" or "Foo Bar <foo@bar.com>"
// we must extract the actual email address
mailAddress = [[NGMailAddressParser mailAddressParserWithString: email] parse];
if ([mailAddress isKindOfClass: [NGMailAddress class]])
email = [mailAddress address];
else
email = nil;
if (email) if (email)
{ {
if (![self _userHasEMail: email] if (![self _userHasEMail: email]