From e8a8e483da6d2a89bd2823d85b75a910331be841 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 14 Feb 2023 08:22:17 +0100 Subject: [PATCH] Native DKIM: process body text length --- app/src/main/java/eu/faircode/email/MessageHelper.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index 525af2c23c..26dfe0520f 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -2132,6 +2132,15 @@ public class MessageHelper { } else throw new IllegalArgumentException(c[1]); + String length = kv.get("l"); + if (!TextUtils.isEmpty(length) && TextUtils.isDigitsOnly(length)) { + int l = Integer.parseInt(length); + if (l < 100) + throw new IllegalArgumentException("Body length " + l + " < 100"); + if (l < body.length()) + body = body.substring(0, l); + } + Log.i("DKIM body=" + body.replace("\r\n", "|")); byte[] bh = MessageDigest.getInstance(halgo).digest(body.getBytes()); // TODO: charset?