From 14d09bb3081f1cde989d886b9328e89a21c3c40f Mon Sep 17 00:00:00 2001 From: Mechiel Lukkien Date: Fri, 13 Oct 2023 09:14:42 +0200 Subject: [PATCH] format long multi-string dkim txt records for rsa 2048 as a mult-line record, enclosed in ()'s more easily readable, though still long --- mox-/admin.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/mox-/admin.go b/mox-/admin.go index b195b01..69b5165 100644 --- a/mox-/admin.go +++ b/mox-/admin.go @@ -35,9 +35,14 @@ import ( ) // TXTStrings returns a TXT record value as one or more quoted strings, taking the max -// length of 255 characters for a string into account. +// length of 255 characters for a string into account. In case of multiple +// strings, a multi-line record is returned. func TXTStrings(s string) string { - r := "" + if len(s) <= 255 { + return `"` + s + `"` + } + + r := "(\n" for len(s) > 0 { n := len(s) if n > 255 { @@ -46,9 +51,10 @@ func TXTStrings(s string) string { if r != "" { r += " " } - r += `"` + s[:n] + `"` + r += "\t\t\"" + s[:n] + "\"\n" s = s[n:] } + r += "\t)" return r }