From f9966f7a62eda637c803045560bac73d3dd4af9a Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 6 May 2022 23:03:21 +0200 Subject: [PATCH] Added namespace fail safe --- .../java/eu/faircode/email/HtmlHelper.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index 6a0201a029..def5476211 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -1584,7 +1584,8 @@ public class HtmlHelper { for (Element e : parsed.select("*")) { String tag = e.tagName(); if (tag.contains(":")) { - boolean show = ("body".equals(tag) || ns == null || tag.startsWith(ns)); + boolean show = (ns == null || tag.startsWith(ns) || + tag.startsWith("html:") || tag.startsWith("body:")); if (display_hidden || show) { String[] nstag = tag.split(":"); e.tagName(nstag[nstag.length > 1 ? 1 : 0]); @@ -1598,16 +1599,16 @@ public class HtmlHelper { e.remove(); Log.i("Removed tag=" + tag); } - } - - String xmlns = e.attr("xmlns").toLowerCase(Locale.ROOT); - if (!TextUtils.isEmpty(xmlns) && !xmlns.contains(W3NS)) { - if (display_hidden) { - String style = e.attr("style"); - e.attr("style", mergeStyles(style, "text-decoration:line-through;")); - } else { - e.remove(); - Log.i("Removed tag=" + tag + " xmlns=" + xmlns); + } else if (!"html".equals(tag) && !"body".equals(tag)) { + String xmlns = e.attr("xmlns").toLowerCase(Locale.ROOT); + if (!TextUtils.isEmpty(xmlns) && !xmlns.contains(W3NS)) { + if (display_hidden) { + String style = e.attr("style"); + e.attr("style", mergeStyles(style, "text-decoration:line-through;")); + } else { + e.remove(); + Log.i("Removed tag=" + tag + " xmlns=" + xmlns); + } } } }