From 1dca078c56d6b016335650ba9ee4111aa25e3d11 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Tue, 31 May 2016 15:31:03 -0400 Subject: [PATCH] Improve handling of attachments names with quotes Partially resolves #2272 --- SoObjects/Mailer/SOGoDraftObject.m | 4 ++-- SoObjects/Mailer/SOGoMailObject.m | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/SoObjects/Mailer/SOGoDraftObject.m b/SoObjects/Mailer/SOGoDraftObject.m index aedf7247f..a42bd1537 100644 --- a/SoObjects/Mailer/SOGoDraftObject.m +++ b/SoObjects/Mailer/SOGoDraftObject.m @@ -1294,7 +1294,7 @@ static NSString *userAgent = nil; { s = [self mimeTypeForExtension:[_name pathExtension]]; if ([_name length] > 0) - s = [s stringByAppendingFormat: @"; name=\"%@\"", _name]; + s = [s stringByAppendingFormat: @"; name=\"%@\"", [_name stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""]]; } return s; @@ -1320,7 +1320,7 @@ static NSString *userAgent = nil; cdtype = @"attachment"; cd = [cdtype stringByAppendingString: @"; filename=\""]; - cd = [cd stringByAppendingString: _name]; + cd = [cd stringByAppendingString: [_name stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""]]; cd = [cd stringByAppendingString: @"\""]; // TODO: add size parameter (useful addition, RFC 2183) diff --git a/SoObjects/Mailer/SOGoMailObject.m b/SoObjects/Mailer/SOGoMailObject.m index 423f79527..e8155e958 100644 --- a/SoObjects/Mailer/SOGoMailObject.m +++ b/SoObjects/Mailer/SOGoMailObject.m @@ -790,7 +790,7 @@ static BOOL debugSoParts = NO; // See [UIxMailPartViewer _filenameForAttachment:] filenameURL = [[filename stringByReplacingString: @"/" withString: @"-"] stringByEscapingURL]; currentFile = [NSDictionary dictionaryWithObjectsAndKeys: - filename, @"filename", + [filename stringByUnescapingURL], @"filename", [mimeType lowercaseString], @"mimetype", path, @"path", [part objectForKey: @"encoding"], @"encoding",