From 7dd51b817a7124fe477147be13567aeaa0885801 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 27 Sep 2021 15:36:17 +0200 Subject: [PATCH] Use authentication results of last receiving server only --- .../java/eu/faircode/email/MessageHelper.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 3e0c0ad457..126d2d9686 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -1278,14 +1278,20 @@ public class MessageHelper { String[] getAuthentication() throws MessagingException { ensureHeaders(); - String[] headers = imessage.getHeader("Authentication-Results"); - if (headers == null) + List auths = new ArrayList<>(); + Enumeration
headers = imessage.getAllHeaders(); + while (headers.hasMoreElements()) { + Header header = headers.nextElement(); + if ("Received".equals(header.getName())) + break; + else if ("Authentication-Results".equals(header.getName())) + auths.add(MimeUtility.unfold(header.getValue())); + } + + if (auths.size() == 0) return null; - - for (int i = 0; i < headers.length; i++) - headers[i] = MimeUtility.unfold(headers[i]); - - return headers; + else + return auths.toArray(new String[0]); } static Boolean getAuthentication(String type, String[] headers) {