From 1c29bed5d44b7154d4d00d77de15d0e6b0ed970e Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 6 Mar 2021 15:39:55 +0100 Subject: [PATCH] Check for duplicate Return-Path headers --- .../java/eu/faircode/email/MessageHelper.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 328b94fe17..eb29dcfc1d 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -1257,7 +1257,23 @@ public class MessageHelper { } Address[] getReturnPath() throws MessagingException { - return getAddressHeader("Return-Path"); + Address[] addresses = getAddressHeader("Return-Path"); + if (addresses == null) + return null; + + List
result = new ArrayList<>(); + for (int i = 0; i < addresses.length; i++) { + boolean duplicate = false; + for (int j = 0; j < i; j++) + if (addresses[i].equals(addresses[j])) { + duplicate = true; + break; + } + if (!duplicate) + result.add(addresses[i]); + } + + return result.toArray(new Address[0]); } Address[] getSender() throws MessagingException {