From 545aaade801be8b2f1959f05f53ea115eb234730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20I=C3=B1iguez?= Date: Tue, 11 Sep 2018 09:46:59 -0500 Subject: [PATCH] fix email body sanitizer --- iOS-Email-Client/Info.plist | 2 +- iOS-Email-Client/Libs/EventHandler.swift | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/iOS-Email-Client/Info.plist b/iOS-Email-Client/Info.plist index deb2dec4..15d696f7 100644 --- a/iOS-Email-Client/Info.plist +++ b/iOS-Email-Client/Info.plist @@ -30,7 +30,7 @@ CFBundleVersion - 1 + 2 Fabric APIKey diff --git a/iOS-Email-Client/Libs/EventHandler.swift b/iOS-Email-Client/Libs/EventHandler.swift index ef48d18e..2434232d 100644 --- a/iOS-Email-Client/Libs/EventHandler.swift +++ b/iOS-Email-Client/Libs/EventHandler.swift @@ -213,10 +213,11 @@ class EventHandler { func getContentPreview(content: String) -> (String, String) { do { + let allowList = try SwiftSoup.Whitelist.relaxed().addTags("style", "title", "header").addAttributes(":all", "class", "style") let doc: Document = try SwiftSoup.parse(content) let preview = try String(doc.text().prefix(100)) - let content = try SwiftSoup.clean(content, Whitelist.basic())! - return (content, preview) + let cleanContent = try SwiftSoup.clean(content, allowList)! + return (preview, cleanContent) } catch { let preview = String(content.removeHtmlTags().replaceNewLineCharater(separator: " ").prefix(100)) return (preview, content)