From 3300463e79ae7e372faf877e29ade112215d90e8 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 10 May 2024 08:45:54 +0200 Subject: [PATCH] Fixed native ARC --- .../java/eu/faircode/email/MessageHelper.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 597d1dff64..9e096053fe 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -2244,24 +2244,26 @@ public class MessageHelper { } // https://datatracker.ietf.org/doc/html/rfc6376/ - List headers = new ArrayList<>(); - String[] dkim_headers = amessage.getHeader(DKIM_SIGNATURE); - if (dkim_headers != null && dkim_headers.length > 0) - headers.addAll(Arrays.asList(dkim_headers)); - String[] arc_headers = amessage.getHeader(ARC_MESSAGE_SIGNATURE); - if (arc_headers != null && arc_headers.length > 0) - headers.addAll(Arrays.asList(arc_headers)); - if (headers.size() == 0) + if ((dkim_headers == null ? 0 : dkim_headers.length) + + (arc_headers == null ? 0 : arc_headers.length) == 0) return signers; - for (String header : headers) { - String signer = verifySignatureHeader(context, header, DKIM_SIGNATURE, amessage); - if (signer != null && !signers.contains(signer)) - signers.add(signer); - } + if (dkim_headers != null) + for (String header : dkim_headers) { + String signer = verifySignatureHeader(context, header, DKIM_SIGNATURE, amessage); + if (signer != null && !signers.contains(signer)) + signers.add(signer); + } + + if (arc_headers != null) + for (String header : arc_headers) { + String signer = verifySignatureHeader(context, header, ARC_MESSAGE_SIGNATURE, amessage); + if (signer != null && !signers.contains(signer)) + signers.add(signer); + } Log.i("DKIM signers=" + TextUtils.join(",", signers));