From d9d8ed37f93a44502ac05b332e03c8769c5c00af Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 1 Jun 2016 09:18:22 -0400 Subject: [PATCH] Improve handling of attachments names with quotes Partially resolves #2272 --- SoObjects/Mailer/SOGoDraftObject.m | 4 ++-- UI/MailerUI/UIxMailEditor.m | 7 +++---- UI/Templates/MailerUI/UIxMailEditor.wox | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/SoObjects/Mailer/SOGoDraftObject.m b/SoObjects/Mailer/SOGoDraftObject.m index 318b5d3ee..87a86e8ac 100644 --- a/SoObjects/Mailer/SOGoDraftObject.m +++ b/SoObjects/Mailer/SOGoDraftObject.m @@ -1304,7 +1304,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; @@ -1330,7 +1330,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/UI/MailerUI/UIxMailEditor.m b/UI/MailerUI/UIxMailEditor.m index 661bc1ecf..ff09ab9c1 100644 --- a/UI/MailerUI/UIxMailEditor.m +++ b/UI/MailerUI/UIxMailEditor.m @@ -526,10 +526,9 @@ static NSArray *infoKeys = nil; if (!attachedFiles) attachedFiles = [NSMutableArray new]; - newFilename = filename; - - baseFilename = [filename stringByDeletingPathExtension]; - extension = [filename pathExtension]; + newFilename = [filename stringByReplacingOccurrencesOfString:@"\\\"" withString:@"\""]; /* to real filename */ + baseFilename = [newFilename stringByDeletingPathExtension]; + extension = [newFilename pathExtension]; variation = 0; while ([attachedFiles containsObject: newFilename]) { diff --git a/UI/Templates/MailerUI/UIxMailEditor.wox b/UI/Templates/MailerUI/UIxMailEditor.wox index 899e8f661..9ac0effef 100644 --- a/UI/Templates/MailerUI/UIxMailEditor.wox +++ b/UI/Templates/MailerUI/UIxMailEditor.wox @@ -118,7 +118,7 @@
  • - () + ()