diff --git a/ChangeLog b/ChangeLog index a5b82cc80..ecdda2e0d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-09-10 Wolfgang Sourdeau + + * SoObjects/Mailer/SOGoDraftObject.m ([SOGoDraftObject + -isValidAttachmentName:filename]): accept all filenames except + ".", ".." and those that contain "/". Any other is valid and will + be accepted. + 2008-09-08 Ludovic Marcotte * SoObjects/SOGo/LDAPSource.m ([LDAPSource diff --git a/SoObjects/Mailer/SOGoDraftObject.m b/SoObjects/Mailer/SOGoDraftObject.m index d526f8922..7eb463975 100644 --- a/SoObjects/Mailer/SOGoDraftObject.m +++ b/SoObjects/Mailer/SOGoDraftObject.m @@ -719,23 +719,9 @@ static BOOL showTextAttachmentsInline = NO; - (BOOL) isValidAttachmentName: (NSString *) filename { - static NSString *sescape[] = { @"/", @"..", @"~", @"\"", @"'", nil }; - unsigned int i; - NSRange r; - BOOL result; - - result = ([filename length] && ![filename hasPrefix: @"."]); - i = 0; - while (result && sescape[i]) - { - r = [filename rangeOfString: sescape[i]]; - if (r.length > 0) - result = NO; - else - i++; - } - - return result; + return (!([filename rangeOfString: @"/"].length + || [filename isEqualToString: @"."] + || [filename isEqualToString: @".."])); } - (NSString *) pathToAttachmentWithName: (NSString *) _name