From 45016d8720478d673708aceec36833316805fae0 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 10 Nov 2018 18:28:32 +0000 Subject: [PATCH] Remove PGP inline armor headers --- .idea/caches/build_file_checksums.ser | Bin 588 -> 588 bytes .../java/eu/faircode/email/ActivityView.java | 8 +++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index ff8285d7d9ed7ec139fc3dcbad27b8bc0919de81..f93f20d9e2762f28d21a995b73848768b7b205ee 100644 GIT binary patch delta 35 rcmX@Za)xEXOy+s_xHiryVie##xFkKK$wpt|P4zu<(I1wR<(TvU2$2o= delta 35 rcmX@Za)xEXOy>4blZ|tV7zG4&mj#@EtNFuXmBYb;Pf7Zd<(TvU4S5dI diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index ba875ac130..d4c85eb48a 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -999,11 +999,17 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB if (message.content) { String body = message.read(context); if (body != null) { + // https://tools.ietf.org/html/rfc4880#section-6.2 int begin = body.indexOf(PGP_BEGIN_MESSAGE); int end = body.indexOf(PGP_END_MESSAGE); if (begin >= 0 && begin < end) { String section = body.substring(begin, end + PGP_END_MESSAGE.length()); - section = section.replace("
", "\n\r"); + String[] lines = section.split("
"); + List disarmored = new ArrayList<>(); + for (String line : lines) + if (!TextUtils.isEmpty(line) && !line.contains(": ")) + disarmored.add(line); + section = TextUtils.join("\n\r", disarmored); inline = true; encrypted = new ByteArrayInputStream(section.getBytes());