Diff of the two buildlogs:

--
--- b1/build.log	2025-03-05 18:34:32.930969926 +0000
+++ b2/build.log	2025-03-05 18:36:02.382929053 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Wed Mar  5 06:32:31 -12 2025
-I: pbuilder-time-stamp: 1741199551
+I: Current time: Wed Apr  8 14:57:35 +14 2026
+I: pbuilder-time-stamp: 1775609855
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz]
 I: copying local configuration
@@ -24,52 +24,84 @@
 dpkg-source: info: applying 0001-Use_chasquid_user.patch
 I: Not using root during the build.
 I: Installing the build-deps
-I: user script /srv/workspace/pbuilder/1129072/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/D01_modify_environment starting
+debug: Running on codethink03-arm64.
+I: Changing host+domainname to test build reproducibility
+I: Adding a custom variable just for the fun of it...
+I: Changing /bin/sh to bash
+'/bin/sh' -> '/bin/bash'
+lrwxrwxrwx 1 root root 9 Apr  8 00:57 /bin/sh -> /bin/bash
+I: Setting pbuilder2's login shell to /bin/bash
+I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
+I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/D02_print_environment starting
 I: set
-  BUILDDIR='/build/reproducible-path'
-  BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other'
-  BUILDUSERNAME='pbuilder1'
-  BUILD_ARCH='arm64'
-  DEBIAN_FRONTEND='noninteractive'
+  BASH=/bin/sh
+  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
+  BASH_ALIASES=()
+  BASH_ARGC=()
+  BASH_ARGV=()
+  BASH_CMDS=()
+  BASH_LINENO=([0]="12" [1]="0")
+  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
+  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
+  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu")
+  BASH_VERSION='5.2.37(1)-release'
+  BUILDDIR=/build/reproducible-path
+  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
+  BUILDUSERNAME=pbuilder2
+  BUILD_ARCH=arm64
+  DEBIAN_FRONTEND=noninteractive
   DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 '
-  DISTRIBUTION='trixie'
-  HOME='/root'
-  HOST_ARCH='arm64'
+  DIRSTACK=()
+  DISTRIBUTION=trixie
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=aarch64
+  HOST_ARCH=arm64
   IFS=' 	
   '
-  INVOCATION_ID='ac5f522bc3ec4967bb7602e2ca2fb25d'
-  LANG='C'
-  LANGUAGE='en_US:en'
-  LC_ALL='C'
-  MAIL='/var/mail/root'
-  OPTIND='1'
-  PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games'
-  PBCURRENTCOMMANDLINEOPERATION='build'
-  PBUILDER_OPERATION='build'
-  PBUILDER_PKGDATADIR='/usr/share/pbuilder'
-  PBUILDER_PKGLIBDIR='/usr/lib/pbuilder'
-  PBUILDER_SYSCONFDIR='/etc'
-  PPID='1129072'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=6a1aca7573fd410ba7c5b1f80428dcba
+  LANG=C
+  LANGUAGE=nl_BE:nl
+  LC_ALL=C
+  MACHTYPE=aarch64-unknown-linux-gnu
+  MAIL=/var/mail/root
+  OPTERR=1
+  OPTIND=1
+  OSTYPE=linux-gnu
+  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
+  PBCURRENTCOMMANDLINEOPERATION=build
+  PBUILDER_OPERATION=build
+  PBUILDER_PKGDATADIR=/usr/share/pbuilder
+  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
+  PBUILDER_SYSCONFDIR=/etc
+  PIPESTATUS=([0]="0")
+  POSIXLY_CORRECT=y
+  PPID=3396088
   PS4='+ '
-  PWD='/'
-  SHELL='/bin/bash'
-  SHLVL='2'
-  SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.acgOBTHY/pbuilderrc_ebNN --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.acgOBTHY/b1 --logfile b1/build.log chasquid_1.15.0-1.dsc'
-  SUDO_GID='109'
-  SUDO_UID='104'
-  SUDO_USER='jenkins'
-  TERM='unknown'
-  TZ='/usr/share/zoneinfo/Etc/GMT+12'
-  USER='root'
-  _='/usr/bin/systemd-run'
-  http_proxy='http://192.168.101.4:3128'
+  PWD=/
+  SHELL=/bin/bash
+  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
+  SHLVL=3
+  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.acgOBTHY/pbuilderrc_zoKx --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.acgOBTHY/b2 --logfile b2/build.log chasquid_1.15.0-1.dsc'
+  SUDO_GID=109
+  SUDO_UID=104
+  SUDO_USER=jenkins
+  TERM=unknown
+  TZ=/usr/share/zoneinfo/Etc/GMT-14
+  UID=0
+  USER=root
+  _='I: set'
+  http_proxy=http://192.168.101.4:3128
 I: uname -a
-  Linux codethink04-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/1129072/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -175,7 +207,7 @@
 Get: 46 http://deb.debian.org/debian trixie/main arm64 golang-blitiri-go-log-dev all 1.1.0-1 [6724 B]
 Get: 47 http://deb.debian.org/debian trixie/main arm64 golang-blitiri-go-spf-dev all 1.5.1-1 [37.2 kB]
 Get: 48 http://deb.debian.org/debian trixie/main arm64 golang-blitiri-go-systemd-dev all 1.1.0-1 [6952 B]
-Fetched 75.0 MB in 0s (179 MB/s)
+Fetched 75.0 MB in 0s (251 MB/s)
 Preconfiguring packages ...
 Selecting previously unselected package sensible-utils.
 (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19914 files and directories currently installed.)
@@ -382,7 +414,11 @@
 Building tag database...
  -> Finished parsing the build-deps
 I: Building the package
-I: Running cd /build/reproducible-path/chasquid-1.15.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S  > ../chasquid_1.15.0-1_source.changes
+I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for trixie
+I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/A99_set_merged_usr finished
+hostname: Name or service not known
+I: Running cd /build/reproducible-path/chasquid-1.15.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../chasquid_1.15.0-1_source.changes
 dpkg-buildpackage: info: source package chasquid
 dpkg-buildpackage: info: source version 1.15.0-1
 dpkg-buildpackage: info: source distribution unstable
@@ -405,119 +441,119 @@
 	cd obj-aarch64-linux-gnu && go install -trimpath -v -p 12 -ldflags " -X main.version=1.15.0-1 -X main.sourceDateTs=1737288581" blitiri.com.ar/go/chasquid blitiri.com.ar/go/chasquid/cmd/chasquid-util blitiri.com.ar/go/chasquid/cmd/mda-lmtp blitiri.com.ar/go/chasquid/cmd/smtp-check blitiri.com.ar/go/chasquid/internal/aliases blitiri.com.ar/go/chasquid/internal/auth blitiri.com.ar/go/chasquid/internal/config blitiri.com.ar/go/chasquid/internal/courier blitiri.com.ar/go/chasquid/internal/dkim blitiri.com.ar/go/chasquid/internal/domaininfo blitiri.com.ar/go/chasquid/internal/dovecot blitiri.com.ar/go/chasquid/internal/envelope blitiri.com.ar/go/chasquid/internal/expvarom blitiri.com.ar/go/chasquid/internal/haproxy blitiri.com.ar/go/chasquid/internal/localrpc blitiri.com.ar/go/chasquid/internal/maillog blitiri.com.ar/go/chasquid/internal/nettrace blitiri.com.ar/go/chasquid/internal/normalize blitiri.com.ar/go/chasquid/internal/protoio blitiri.com.ar/go/chasquid/internal/protoio/testpb blitiri.com.ar/go/chasquid/internal/queue blitiri.com.ar/go/chasquid/internal/safeio blitiri.com.ar/go/chasquid/internal/set blitiri.com.ar/go/chasquid/internal/smtp blitiri.com.ar/go/chasquid/internal/smtpsrv blitiri.com.ar/go/chasquid/internal/sts blitiri.com.ar/go/chasquid/internal/testlib blitiri.com.ar/go/chasquid/internal/tlsconst blitiri.com.ar/go/chasquid/internal/trace blitiri.com.ar/go/chasquid/internal/userdb
 internal/asan
 internal/byteorder
-internal/msan
-internal/unsafeheader
-internal/godebugs
 encoding
+internal/unsafeheader
+internal/goos
 internal/goexperiment
+internal/profilerecord
 internal/coverage/rtcov
+internal/msan
+internal/godebugs
 internal/goarch
-internal/profilerecord
-internal/goos
-internal/runtime/syscall
 cmp
 internal/itoa
+internal/runtime/syscall
 math/bits
-internal/abi
-internal/cpu
-internal/runtime/math
-internal/chacha8rand
 unicode/utf8
-unicode
-log/internal
+internal/cpu
 sync/atomic
+log/internal
+unicode
 internal/nettrace
+internal/chacha8rand
+internal/runtime/math
+internal/abi
 google.golang.org/protobuf/internal/flags
 unicode/utf16
 container/ring
-math
 container/list
 crypto/internal/fips140/alias
 crypto/internal/fips140deps/byteorder
-google.golang.org/protobuf/internal/set
+crypto/internal/fips140/subtle
 crypto/internal/boring/sig
+google.golang.org/protobuf/internal/set
 vendor/golang.org/x/crypto/cryptobyte/asn1
-crypto/internal/fips140/subtle
+math
 vendor/golang.org/x/crypto/internal/alias
 blitiri.com.ar/go/chasquid/internal/set
-internal/bytealg
 crypto/internal/fips140deps/cpu
-internal/runtime/atomic
 internal/runtime/sys
+internal/bytealg
+internal/runtime/atomic
 internal/runtime/exithook
 internal/stringslite
 internal/race
-internal/runtime/maps
 internal/sync
+internal/runtime/maps
 runtime
-internal/reflectlite
 iter
-sync
+internal/reflectlite
 weak
 crypto/subtle
-slices
+sync
 maps
+slices
 errors
 sort
 internal/bisect
+unique
 google.golang.org/protobuf/internal/pragma
-strconv
-io
-internal/oserror
-internal/testlog
-path
-vendor/golang.org/x/net/dns/dnsmessage
 internal/singleflight
-unique
+internal/testlog
 math/rand/v2
-syscall
+strconv
+vendor/golang.org/x/net/dns/dnsmessage
+path
+internal/oserror
 runtime/cgo
-golang.org/x/text/internal/tag
+io
+syscall
 internal/godebug
 strings
-reflect
-net/netip
 hash
-bytes
-hash/fnv
 crypto/internal/randutil
-hash/crc32
-math/rand
-crypto
+bytes
+reflect
+net/netip
+golang.org/x/text/internal/tag
 bufio
+crypto
+hash/fnv
 html
 regexp/syntax
+math/rand
+hash/crc32
 crypto/internal/fips140deps/godebug
 crypto/internal/impl
 vendor/golang.org/x/text/transform
 net/http/internal/ascii
-golang.org/x/text/transform
 crypto/internal/fips140
-time
-internal/syscall/unix
-internal/syscall/execenv
-golang.org/x/text/runes
-golang.org/x/text/width
+golang.org/x/text/transform
 crypto/internal/fips140/sha256
 crypto/internal/fips140/sha3
 crypto/internal/fips140/sha512
 crypto/tls/internal/fips140tls
+golang.org/x/text/runes
+golang.org/x/text/width
+time
+internal/syscall/unix
+internal/syscall/execenv
 crypto/sha3
 crypto/internal/fips140/hmac
 crypto/internal/fips140hash
-regexp
 crypto/internal/fips140/check
+regexp
 crypto/internal/fips140/aes
 crypto/internal/fips140/edwards25519/field
 crypto/internal/fips140/bigmod
 crypto/internal/fips140/hkdf
-crypto/internal/fips140/tls12
 crypto/internal/fips140/nistec/fiat
+crypto/internal/fips140/tls12
 crypto/internal/fips140/tls13
 crypto/internal/fips140/edwards25519
 context
-internal/poll
 io/fs
+internal/poll
 internal/filepathlite
 embed
 google.golang.org/protobuf/internal/editiondefaults
@@ -530,63 +566,62 @@
 golang.org/x/sys/unix
 encoding/pem
 fmt
-path/filepath
 os/signal
 internal/sysinfo
+path/filepath
 google.golang.org/protobuf/internal/detrand
 blitiri.com.ar/go/chasquid/internal/safeio
 crypto/internal/sysrand
 crypto/internal/entropy
 crypto/internal/fips140/drbg
+net
 os/exec
-crypto/internal/fips140/aes/gcm
 crypto/internal/fips140only
+crypto/internal/fips140/ecdh
+crypto/internal/fips140/ecdsa
 crypto/internal/fips140/ed25519
+crypto/internal/fips140/aes/gcm
 crypto/internal/fips140/mlkem
 crypto/internal/fips140/rsa
-net
 crypto/md5
 crypto/rc4
-crypto/internal/fips140/ecdh
-crypto/internal/fips140/ecdsa
-flag
+crypto/cipher
 log
 google.golang.org/protobuf/internal/errors
-go/token
 compress/flate
-google.golang.org/protobuf/encoding/protowire
 google.golang.org/protobuf/internal/version
 encoding/json
+flag
+go/token
 net/url
 text/template/parse
-crypto/cipher
-math/big
-encoding/hex
-google.golang.org/protobuf/reflect/protoreflect
-vendor/golang.org/x/text/unicode/bidi
-vendor/golang.org/x/text/unicode/norm
+google.golang.org/protobuf/encoding/protowire
 crypto/internal/boring
+math/big
 crypto/des
-vendor/golang.org/x/crypto/chacha20
 crypto/aes
-compress/gzip
+google.golang.org/protobuf/reflect/protoreflect
 crypto/ecdh
 crypto/sha512
 crypto/hmac
+vendor/golang.org/x/crypto/chacha20
 crypto/sha1
 crypto/sha256
-vendor/golang.org/x/crypto/chacha20poly1305
-vendor/golang.org/x/text/secure/bidirule
+compress/gzip
+encoding/hex
+vendor/golang.org/x/text/unicode/bidi
+vendor/golang.org/x/text/unicode/norm
 vendor/golang.org/x/net/http2/hpack
+vendor/golang.org/x/crypto/chacha20poly1305
 mime
 mime/quotedprintable
+text/template
 net/http/internal
 blitiri.com.ar/go/chasquid/internal/envelope
-text/template
 golang.org/x/text/unicode/bidi
 golang.org/x/text/unicode/norm
 golang.org/x/text/internal/language
-blitiri.com.ar/go/chasquid/internal/tlsconst
+vendor/golang.org/x/text/secure/bidirule
 google.golang.org/protobuf/internal/encoding/messageset
 google.golang.org/protobuf/internal/strs
 google.golang.org/protobuf/internal/genid
@@ -597,38 +632,39 @@
 google.golang.org/protobuf/internal/descfmt
 google.golang.org/protobuf/internal/descopts
 google.golang.org/protobuf/internal/protolazy
-vendor/golang.org/x/net/idna
-google.golang.org/protobuf/internal/encoding/defval
 golang.org/x/text/secure/bidirule
-golang.org/x/text/internal/language/compact
+vendor/golang.org/x/net/idna
 google.golang.org/protobuf/proto
+blitiri.com.ar/go/chasquid/internal/tlsconst
 golang.org/x/crypto/pbkdf2
 internal/profile
 text/tabwriter
+golang.org/x/text/internal/language/compact
 golang.org/x/crypto/scrypt
+html/template
 runtime/trace
+google.golang.org/protobuf/internal/encoding/defval
+runtime/debug
 crypto/rand
 crypto/elliptic
 crypto/internal/boring/bbig
 encoding/asn1
+crypto/dsa
+golang.org/x/text/language
 crypto/ed25519
 crypto/internal/hpke
 crypto/rsa
-html/template
-crypto/dsa
-golang.org/x/text/language
+golang.org/x/net/idna
 runtime/pprof
-runtime/debug
 golang.org/x/term
-golang.org/x/net/idna
 google.golang.org/protobuf/encoding/prototext
 google.golang.org/protobuf/internal/filedesc
 testing
+golang.org/x/text/internal
 vendor/golang.org/x/crypto/cryptobyte
 crypto/x509/pkix
-golang.org/x/text/internal
-blitiri.com.ar/go/chasquid/internal/protoio
 golang.org/x/text/cases
+blitiri.com.ar/go/chasquid/internal/protoio
 crypto/ecdsa
 golang.org/x/text/secure/precis
 google.golang.org/protobuf/internal/encoding/tag
@@ -647,9 +683,9 @@
 blitiri.com.ar/go/chasquid/internal/dovecot
 net/mail
 blitiri.com.ar/go/chasquid/cmd/mda-lmtp
-google.golang.org/protobuf/internal/filetype
 crypto/tls
 blitiri.com.ar/go/chasquid/internal/dkim
+google.golang.org/protobuf/internal/filetype
 google.golang.org/protobuf/runtime/protoimpl
 blitiri.com.ar/go/chasquid/internal/config
 blitiri.com.ar/go/chasquid/internal/userdb
@@ -661,8 +697,8 @@
 blitiri.com.ar/go/chasquid/internal/smtp
 blitiri.com.ar/go/chasquid/internal/nettrace
 expvar
-golang.org/x/net/context/ctxhttp
 net/http/pprof
+golang.org/x/net/context/ctxhttp
 blitiri.com.ar/go/chasquid/internal/trace
 blitiri.com.ar/go/chasquid/internal/domaininfo
 blitiri.com.ar/go/chasquid/internal/localrpc
@@ -713,7 +749,7 @@
 _ aliases.go:544     Hook.Alias-Resolve a@localA: error: exit status 1
 _ aliases.go:544     Hook.Alias-Resolve *@localA: error: exit status 1
 _ aliases.go:544     Hook.Alias-Resolve a@localA: error: exit status 1
---- PASS: TestHookError (0.07s)
+--- PASS: TestHookError (0.01s)
 === RUN   FuzzReader
 === RUN   FuzzReader/seed#0
 === RUN   FuzzReader/1c24d2215db69748c6fd16797673ad11ebc7e6167fe1bc1f54c6959ec10407b6
@@ -729,7 +765,7 @@
     --- PASS: FuzzReader/c9c80ba9f513841cb081fe9bb7439d36f9f7a06bb999d4c39441991ccc878a9e (0.00s)
     --- PASS: FuzzReader/d40a98862ed393eb712e47a91bcef18e6f24cf368bb4bd248c7a7101ef8e178d (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/aliases	0.128s
+ok  	blitiri.com.ar/go/chasquid/internal/aliases	0.031s
 === RUN   TestDecodeResponse
     auth_test.go:56: OK: "" failed with response pieces != 3, as per RFC
     auth_test.go:56: OK: "\x00" failed with response pieces != 3, as per RFC
@@ -742,11 +778,11 @@
     auth_test.go:56: OK: "\xffa@b\x00\xffa@b\x00pass" failed with bidirule: failed Bidi Rule
 --- PASS: TestDecodeResponse (0.00s)
 === RUN   TestAuthenticate
---- PASS: TestAuthenticate (0.46s)
+--- PASS: TestAuthenticate (0.39s)
 === RUN   TestInterfaces
 --- PASS: TestInterfaces (0.00s)
 === RUN   TestMultipleBackends
---- PASS: TestMultipleBackends (0.20s)
+--- PASS: TestMultipleBackends (0.18s)
 === RUN   TestErrors
 --- PASS: TestErrors (0.00s)
 === RUN   TestReload
@@ -775,45 +811,45 @@
     --- PASS: FuzzDecodeResponse/d9aa9c617d1f5b3021aca758b9d896d136e3b16ed53233d02abffd02aa73ffa4 (0.00s)
     --- PASS: FuzzDecodeResponse/de05c7993312bab83e8114e9d9ced331c49822dc55c1a353f1cc9718a28226e7 (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/auth	0.719s
+ok  	blitiri.com.ar/go/chasquid/internal/auth	0.598s
 === RUN   TestEmptyStruct
 --- PASS: TestEmptyStruct (0.00s)
 === RUN   TestEmptyConfig
-    testlib.go:32: test directory: "/tmp/testlib_319044125"
+    testlib.go:32: test directory: "/tmp/testlib_1937327372"
 --- PASS: TestEmptyConfig (0.00s)
 === RUN   TestFullConfig
-    testlib.go:32: test directory: "/tmp/testlib_2376103321"
+    testlib.go:32: test directory: "/tmp/testlib_675878951"
 --- PASS: TestFullConfig (0.00s)
 === RUN   TestErrorLoading
 --- PASS: TestErrorLoading (0.00s)
 === RUN   TestBrokenConfig
-    testlib.go:32: test directory: "/tmp/testlib_2724010227"
+    testlib.go:32: test directory: "/tmp/testlib_3571642939"
 --- PASS: TestBrokenConfig (0.00s)
 === RUN   TestBrokenOverride
-    testlib.go:32: test directory: "/tmp/testlib_3578764936"
+    testlib.go:32: test directory: "/tmp/testlib_272150586"
 --- PASS: TestBrokenOverride (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/config	0.066s
+ok  	blitiri.com.ar/go/chasquid/internal/config	0.018s
 === RUN   TestMDA
-    testlib.go:32: test directory: "/tmp/testlib_4238098072"
---- PASS: TestMDA (0.04s)
+    testlib.go:32: test directory: "/tmp/testlib_2396534571"
+--- PASS: TestMDA (0.00s)
 === RUN   TestMDATimeout
 _ mda.go:73          Courier.MDA to@local: error: operation timed out
 --- PASS: TestMDATimeout (0.10s)
 === RUN   TestMDABadCommandLine
 _ mda.go:86          Courier.MDA to: error: MDA delivery failed: exec: \"thisdoesnotexist\": executable file not found in $PATH - \"\"
 _ mda.go:86          Courier.MDA to: error: MDA delivery failed: exit status 1 - \"cat: unrecognized option '--fail_unknown_option'\\nTry 'cat --help' for more information.\\n\"
---- PASS: TestMDABadCommandLine (0.01s)
+--- PASS: TestMDABadCommandLine (0.00s)
 === RUN   TestExitCode
     mda_test.go:71: util/exitcode not found, running from outside repo?
 --- SKIP: TestExitCode (0.00s)
 === RUN   TestSanitize
 --- PASS: TestSanitize (0.00s)
 === RUN   TestSMTP
-    testlib.go:32: test directory: "/tmp/testlib_2839049748"
-    testlib.go:32: test directory: "/tmp/testlib_1656492758"
-_ smtp.go:127        Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::44121: too many colons in address
-_ smtp.go:101        Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::44121: too many colons in address
+    testlib.go:32: test directory: "/tmp/testlib_3263358626"
+    testlib.go:32: test directory: "/tmp/testlib_1584623076"
+_ smtp.go:127        Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::35481: too many colons in address
+_ smtp.go:101        Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::35481: too many colons in address
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
@@ -821,26 +857,26 @@
     fakeserver_test.go:109: fakeServer read: "DATA"
     fakeserver_test.go:109: fakeServer read: "QUIT"
     fakeserver_test.go:105: fakeServer exiting: EOF
---- PASS: TestSMTP (0.24s)
+--- PASS: TestSMTP (0.15s)
 === RUN   TestSMTPErrors
-    testlib.go:32: test directory: "/tmp/testlib_747105216"
-    testlib.go:32: test directory: "/tmp/testlib_2830126467"
+    testlib.go:32: test directory: "/tmp/testlib_3417182547"
+    testlib.go:32: test directory: "/tmp/testlib_1774264408"
     fakeserver_test.go:98: fakeServer got connection
-_ smtp.go:138        Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:47182->127.0.0.1:38605: i/o timeout
-_ smtp.go:101        Courier.SMTP to@to: error: \"127.0.0.1\" returned transient error: Error saying hello: write tcp 127.0.0.1:47182->127.0.0.1:38605: i/o timeout
-_ smtp.go:105        Courier.SMTP to@to: error: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:47182->127.0.0.1:38605: i/o timeout)
-    smtp_test.go:140: failed as expected: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:47182->127.0.0.1:38605: i/o timeout)
+_ smtp.go:138        Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:41424->127.0.0.1:33607: i/o timeout
+_ smtp.go:101        Courier.SMTP to@to: error: \"127.0.0.1\" returned transient error: Error saying hello: write tcp 127.0.0.1:41424->127.0.0.1:33607: i/o timeout
+_ smtp.go:105        Courier.SMTP to@to: error: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:41424->127.0.0.1:33607: i/o timeout)
+    smtp_test.go:140: failed as expected: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:41424->127.0.0.1:33607: i/o timeout)
     fakeserver_test.go:105: fakeServer exiting: EOF
-    testlib.go:32: test directory: "/tmp/testlib_130576263"
-    testlib.go:32: test directory: "/tmp/testlib_1201959795"
+    testlib.go:32: test directory: "/tmp/testlib_1414888807"
+    testlib.go:32: test directory: "/tmp/testlib_4232927789"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
 _ smtp.go:202        Courier.SMTP to@to: error: MAIL+RCPT 501 mail error
     smtp_test.go:140: failed as expected: MAIL+RCPT 501 mail error
     fakeserver_test.go:105: fakeServer exiting: EOF
-    testlib.go:32: test directory: "/tmp/testlib_4044267320"
-    testlib.go:32: test directory: "/tmp/testlib_2616234660"
+    testlib.go:32: test directory: "/tmp/testlib_1318753537"
+    testlib.go:32: test directory: "/tmp/testlib_609734485"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
@@ -848,8 +884,8 @@
 _ smtp.go:202        Courier.SMTP to@to: error: MAIL+RCPT 501 rcpt error
     smtp_test.go:140: failed as expected: MAIL+RCPT 501 rcpt error
     fakeserver_test.go:105: fakeServer exiting: EOF
-    testlib.go:32: test directory: "/tmp/testlib_1846552314"
-    testlib.go:32: test directory: "/tmp/testlib_827221221"
+    testlib.go:32: test directory: "/tmp/testlib_1557973495"
+    testlib.go:32: test directory: "/tmp/testlib_3969403363"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
@@ -858,8 +894,8 @@
 _ smtp.go:207        Courier.SMTP to@to: error: DATA 554 data error
     smtp_test.go:140: failed as expected: DATA 554 data error
     fakeserver_test.go:132: fakeServer exiting: unexpected EOF
-    testlib.go:32: test directory: "/tmp/testlib_2181870624"
-    testlib.go:32: test directory: "/tmp/testlib_528942875"
+    testlib.go:32: test directory: "/tmp/testlib_818464753"
+    testlib.go:32: test directory: "/tmp/testlib_3839872529"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
@@ -868,9 +904,9 @@
 _ smtp.go:216        Courier.SMTP to@to: error: DATA closing 551 data response error
     smtp_test.go:140: failed as expected: DATA closing 551 data response error
     fakeserver_test.go:105: fakeServer exiting: EOF
---- PASS: TestSMTPErrors (1.56s)
+--- PASS: TestSMTPErrors (1.54s)
 === RUN   TestNoMXServer
-    testlib.go:32: test directory: "/tmp/testlib_1927670560"
+    testlib.go:32: test directory: "/tmp/testlib_1607440417"
 _ smtp.go:82         Courier.SMTP to@to: error: Could not find mail server: <nil>
     smtp_test.go:158: got permanent failure, as expected: Could not find mail server: <nil>
 --- PASS: TestNoMXServer (0.00s)
@@ -885,8 +921,8 @@
 === RUN   TestLookupInvalidDomain
 --- PASS: TestLookupInvalidDomain (0.00s)
 === RUN   TestTLS
-    testlib.go:32: test directory: "/tmp/testlib_4191067128"
-    testlib.go:32: test directory: "/tmp/testlib_3109194630"
+    testlib.go:32: test directory: "/tmp/testlib_1794581359"
+    testlib.go:32: test directory: "/tmp/testlib_2334687151"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "STARTTLS"
@@ -897,7 +933,7 @@
     fakeserver_test.go:109: fakeServer read: "DATA"
     fakeserver_test.go:109: fakeServer read: "QUIT"
     fakeserver_test.go:105: fakeServer exiting: EOF
-    testlib.go:32: test directory: "/tmp/testlib_4273864419"
+    testlib.go:32: test directory: "/tmp/testlib_970459719"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
 _ domaininfo.go:145  DomainInfo.Outgoing to: error: to outgoing denied: PLAIN < TLS_INSECURE
@@ -905,26 +941,26 @@
 _ smtp.go:101        Courier.SMTP to@to: error: \"localhost\" returned transient error: Security level check failed (level:PLAIN)
 _ smtp.go:105        Courier.SMTP to@to: error: all MXs returned transient failures (last: Security level check failed (level:PLAIN))
     fakeserver_test.go:105: fakeServer exiting: EOF
---- PASS: TestTLS (0.09s)
+--- PASS: TestTLS (0.12s)
 === RUN   TestTLSError
-    testlib.go:32: test directory: "/tmp/testlib_3297455427"
-    testlib.go:32: test directory: "/tmp/testlib_1630086119"
+    testlib.go:32: test directory: "/tmp/testlib_1289485118"
+    testlib.go:32: test directory: "/tmp/testlib_4189412884"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "STARTTLS"
 _ smtp.go:171        Courier.SMTP to@to: error: TLS error, retrying without TLS: 500 starttls err
-    fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:105: fakeServer exiting: EOF
+    fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
     fakeserver_test.go:109: fakeServer read: "RCPT TO:<to@to>"
     fakeserver_test.go:109: fakeServer read: "DATA"
     fakeserver_test.go:109: fakeServer read: "QUIT"
     fakeserver_test.go:105: fakeServer exiting: EOF
---- PASS: TestTLSError (0.11s)
+--- PASS: TestTLSError (0.04s)
 === RUN   TestSTSPolicyEnforcement
-    testlib.go:32: test directory: "/tmp/testlib_1899494488"
-    testlib.go:32: test directory: "/tmp/testlib_3428826894"
+    testlib.go:32: test directory: "/tmp/testlib_3731792906"
+    testlib.go:32: test directory: "/tmp/testlib_4069075977"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "STARTTLS"
@@ -932,7 +968,7 @@
 _ domaininfo.go:153  DomainInfo.Outgoing to: to outgoing level raised: TLS_INSECURE > PLAIN
 _ smtp.go:194        test test: error: invalid security level (TLS_INSECURE) for STS policy
     fakeserver_test.go:105: fakeServer exiting: EOF
-    testlib.go:32: test directory: "/tmp/testlib_4216900880"
+    testlib.go:32: test directory: "/tmp/testlib_3826685761"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "STARTTLS"
@@ -943,9 +979,9 @@
     fakeserver_test.go:109: fakeServer read: "DATA"
     fakeserver_test.go:109: fakeServer read: "QUIT"
     fakeserver_test.go:105: fakeServer exiting: EOF
---- PASS: TestSTSPolicyEnforcement (0.20s)
+--- PASS: TestSTSPolicyEnforcement (0.11s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/courier	2.415s
+ok  	blitiri.com.ar/go/chasquid/internal/courier	2.088s
 === RUN   TestStringToCanonicalization
 --- PASS: TestStringToCanonicalization (0.00s)
 === RUN   TestSimpleBody
@@ -961,7 +997,7 @@
 === RUN   TestTrace
 --- PASS: TestTrace (0.00s)
 === RUN   TestLookupTXTNoCtx
---- PASS: TestLookupTXTNoCtx (0.01s)
+--- PASS: TestLookupTXTNoCtx (0.00s)
 === RUN   TestLookupTXT
 --- PASS: TestLookupTXT (0.00s)
 === RUN   TestMaxHeaders
@@ -971,17 +1007,17 @@
 === RUN   TestSkipBadRecords
 --- PASS: TestSkipBadRecords (0.00s)
 === RUN   TestParsePublicKey
---- PASS: TestParsePublicKey (0.00s)
+--- PASS: TestParsePublicKey (0.01s)
 === RUN   TestPublicKeyMatches
 --- PASS: TestPublicKeyMatches (0.00s)
 === RUN   TestStrictDomainCheck
---- PASS: TestStrictDomainCheck (0.01s)
+--- PASS: TestStrictDomainCheck (0.00s)
 === RUN   TestFromFiles
 === RUN   TestFromFiles/testdata/01-rfc8463
     file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{"   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "test._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}}
     file_test.go:50: Loaded DNS errors: map[]
     file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x4000223ec0 0x4000223f20]}
+    file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40002a78c0 0x40002a7920]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
          d=football.example.com; i=@football.example.com;
@@ -1025,7 +1061,7 @@
     file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{"   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "test._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}}
     file_test.go:50: Loaded DNS errors: map[]
     file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:5 Valid:5 Results:[0x400024c780 0x400024c7e0 0x400024c840 0x400024c8a0 0x400024c900]}
+    file_test.go:56: Want result: &{Found:5 Valid:5 Results:[0x40002ea180 0x40002ea1e0 0x40002ea240 0x40002ea2a0 0x40002ea300]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
          d=football.example.com; i=@football.example.com;
@@ -1137,7 +1173,7 @@
     file_test.go:50: Loaded DNS results: map[string][]string{}
     file_test.go:50: Loaded DNS errors: map[]
     file_test.go:55: Message: "DKIM-Signature: v=8; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x400024d500]}
+    file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x40002eaf00]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=8; a=ed25519-sha256; c=relaxed/relaxed;
          d=football.example.com; i=@football.example.com;
@@ -1151,7 +1187,7 @@
     file_test.go:50: Loaded DNS results: map[string][]string{"test._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}}
     file_test.go:50: Loaded DNS errors: map[brisbane._domainkey.football.example.com:lookup : temporary error (for testing)]
     file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x400024d920 0x400024d980]}
+    file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x40002eb320 0x40002eb380]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
          d=football.example.com; i=@football.example.com;
@@ -1185,7 +1221,7 @@
     file_test.go:50: Loaded DNS results: map[string][]string{"test._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}}
     file_test.go:50: Loaded DNS errors: map[brisbane._domainkey.football.example.com:lookup : permanent error (for testing)]
     file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x40002b4000 0x40002b4060]}
+    file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x40002eb980 0x40002eb9e0]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
          d=football.example.com; i=@football.example.com;
@@ -1219,7 +1255,7 @@
     file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB", "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "test._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}}
     file_test.go:50: Loaded DNS errors: map[]
     file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40002b46c0 0x40002b4720]}
+    file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40003400c0 0x4000340120]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
          d=football.example.com; i=@football.example.com;
@@ -1266,7 +1302,7 @@
     file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{"   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "selector._domainkey.example.com":[]string{"   v=DKIM1; k=ed25519; p=SvoPT692bVrQBT8UNxt6SF538O3snA4fE3/i/glCxwQ="}, "test._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}}
     file_test.go:50: Loaded DNS errors: map[]
     file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x40002b4e40 0x40002b4ea0 0x40002b4f00]}
+    file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x4000340840 0x40003408a0 0x4000340900]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
             d=example.com; s=selector; t=1709341950;
@@ -1326,7 +1362,7 @@
     file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{"   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "selector._domainkey.example.com":[]string{"   v=DKIM1; k=ed25519; p=SvoPT692bVrQBT8UNxt6SF538O3snA4fE3/i/glCxwQ="}, "test._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}}
     file_test.go:50: Loaded DNS errors: map[]
     file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x40002b56e0 0x40002b5740 0x40002b57a0]}
+    file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x40003410e0 0x4000341140 0x40003411a0]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
             d=example.com; s=selector; t=1709368031;
@@ -1386,7 +1422,7 @@
     file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{"   v=DKIM1; k=ed25519; t=s;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "test._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa; t=s;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}}
     file_test.go:50: Loaded DNS errors: map[]
     file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x4000324060 0x40003240c0]}
+    file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40003419e0 0x4000341a40]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
          d=football.example.com; i=@football.example.com;
@@ -1432,7 +1468,7 @@
     file_test.go:50: Loaded DNS results: map[string][]string{"selector._domainkey.example.com":[]string{"   v=DKIM1; k=ed25519; t=s; p=SvoPT692bVrQBT8UNxt6SF538O3snA4fE3/i/glCxwQ="}}
     file_test.go:50: Loaded DNS errors: map[]
     file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
-    file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x4000324780]}
+    file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x40003b6180]}
     file_test.go:57: Want error: <nil>
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
             d=example.com; s=selector; t=1709466347;
@@ -1453,15 +1489,15 @@
     context.go:17: Resulting hash: "kFTkVTyR9JWKX/Stl1+sUIuAgitRiOf7MwTBy5a2/ZA="
     context.go:17: PK [ed25519:4afa0f4faf766d5a]: Strict domain check failed: "example.com" != "sub.example.com" ("test@sub.example.com")
     context.go:17: Found 1 signatures, 0 valid
---- PASS: TestFromFiles (0.02s)
-    --- PASS: TestFromFiles/testdata/01-rfc8463 (0.00s)
-    --- PASS: TestFromFiles/testdata/02-too_many_headers (0.00s)
+--- PASS: TestFromFiles (0.03s)
+    --- PASS: TestFromFiles/testdata/01-rfc8463 (0.01s)
+    --- PASS: TestFromFiles/testdata/02-too_many_headers (0.01s)
     --- PASS: TestFromFiles/testdata/03-bad_message (0.00s)
     --- PASS: TestFromFiles/testdata/04-bad_dkim_signature_header (0.00s)
     --- PASS: TestFromFiles/testdata/05-dns_temp_error (0.00s)
     --- PASS: TestFromFiles/testdata/06-dns_perm_error (0.00s)
     --- PASS: TestFromFiles/testdata/07-algo_mismatch (0.00s)
-    --- PASS: TestFromFiles/testdata/08-our_signature (0.01s)
+    --- PASS: TestFromFiles/testdata/08-our_signature (0.00s)
     --- PASS: TestFromFiles/testdata/09-limited_body (0.00s)
     --- PASS: TestFromFiles/testdata/10-strict_domain_check_pass (0.00s)
     --- PASS: TestFromFiles/testdata/11-strict_domain_check_fail (0.00s)
@@ -1488,18 +1524,18 @@
     context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
     context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
     context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
-    context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1741199640; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
-    context.go:17: Resulting hash: "YgP1ojZMHYSv9FbGPUZLiP9tKuP2PzIah7tO+cxAJYs="
+    context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775609917; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
+    context.go:17: Resulting hash: "voqBZ7PlDHE5sjM2X2CYuu/pbu4hOcQp9Vn9oOTYg6w="
     context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
-        	d=example.com; s=test; t=1741199640;
+        	d=example.com; s=test; t=1775609917;
         	h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id;
         	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
-        	b=Z8+kk2QCKjk/6+fNBsMKNhE0YY0Ecs/46zO892NoyEK87glgkGDF0UoC4tNqVYY6uqa/T3
-        	  mWi2nwjPwdwNDokO5GQha6oXbN/MHMDbHaDzkuz3qVtppCFYtHEgXd8Vt5zCcHKUsg9Rau
-        	  Bd24zNX4kNEKld067cSdztVbOQ5a8wC4O5NszlOtya431heVvAhqNkBrn25nGKJGnMYQ25
-        	  GvKboREVfhk6zDGx7UZaSJiTy2ZO3EsPy4t1m9ToCWp5UD7JsO7438aZ9gVsN1MzabU7GO
-        	  nRazugvC07Nq7AulJDLABirawGHagy9+AXe0lBCn+9bDBMpD5kzzgkZkF/2MtA==;
-    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqw/GfIrr+oWwbSY3Zw05EQurYGXegP/dXFUsk2ZZ0pGCLYtnAZzLyP/t/8S0vkk5+xR9F9OsfCPFibpQ+qsEIypMk/8KFU2QZYbs6WpB7pTxtc5hzolorBsirvMb+yuZjS8VZfVzuFNfaaEhNxk08PVqWmxLZDjPWDDBy8Rs0Osu6yTdoI7vyEkvmMOZBHPVCFMKOYRx6EILUIFYE2J87v//yDSYkw/lw+k3QdnCJPUXdDGr/9XOrDchSk2Pj4IwHIGkYO149XedUz9cEt4P51ixjQhsKMZ4Gfc8/SFJKRwnBQW1zuFpYy6cq96s/Jm5gN/8fMXO3MkIPqrgjtSrxwIDAQAB"
+        	b=FWc5az7/C3ygrQd9TyrSIt2NtbluA9QLVwU3JVgkM02qdA96zR5xMZwXON/a/u3VZk1WgF
+        	  GP1/6ykMy+lbhusJzonB5IzTlHS5cxpXBMRWHMFQSEJmXazz2dAf9SsksUvjG7EfKlW86M
+        	  VbE/AzfqUaINXws7suFB8sAGrxZuYX6zNPA6MLdb/E9H0kFfqLChoWRLTBXuw8LKtODLLI
+        	  ibJCD8BGJwpc0BPsdMu9opj6NFxTVsecA58uKd1M/CiDMB5Lm6wsZjlKFglkXanR+ot+sN
+        	  eltuUFhJZNgP2eK0YgDh31aLY9lM6evcnM7t1m57uPYaY7m6hif4pKRbEU+DQw==;
+    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtkiN/sktJVZbPpQzQ7axvn8ENuBA4Lb3qcbMRddgC0p8FOZlTGUa4gzb7hX/tuRKNfgGTbhajFqLDBXh1N8nIj7azVwMM+dgb8eNu8hzS1UEuvnexbtGXeYnhPE1pkgLBYUn2L6EmxCTX35LkHVhK2a7jX5iq2qxwhwGQy692Vq5bZJ0X5rKTZs6rcWWMH64sl1cKr1PRtli+v7dj6hKXUj4aPq9g7FGIStKHQyeQJC8A9eaCMi//mQSKA2XCr6UAXEz03KUm0Z70RLAbtuMPBx2hm06dV2v1FeGjZ9BY/TN8NU0Jz/PITy9znQfDT8mv9QHt77IWFOyECb7154NfQIDAQAB"
     context.go:17: Parsed public key: [rsa:30820122300d0609]
     context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
     context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
@@ -1507,11 +1543,11 @@
     context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
     context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
     context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
-    context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1741199640; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
-    context.go:17: Resulting hash: "YgP1ojZMHYSv9FbGPUZLiP9tKuP2PzIah7tO+cxAJYs="
+    context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775609917; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
+    context.go:17: Resulting hash: "voqBZ7PlDHE5sjM2X2CYuu/pbu4hOcQp9Vn9oOTYg6w="
     context.go:17: PK [rsa:30820122300d0609]: Verification succeeded
     context.go:17: Found 1 signatures, 1 valid
---- PASS: TestSignRSA (1.15s)
+--- PASS: TestSignRSA (0.21s)
 === RUN   TestSignEd25519
     context.go:17: Signing for example.com / test with ed25519-sha256
     context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
@@ -1519,27 +1555,27 @@
     context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
     context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
     context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
-    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1741199640; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
-    context.go:17: Resulting hash: "rCUlQmVbJZSKcBDlHOx3NIywfI7bH/4/asUbjMb3wdo="
+    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775609917; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
+    context.go:17: Resulting hash: "LvhK/ZwQc1UkpnCvZYCiERhAW2MosCFvqIGOMIzITSE="
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
-        	d=example.com; s=test; t=1741199640;
+        	d=example.com; s=test; t=1775609917;
         	h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id;
         	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
-        	b=gEzuziXvdH/N2QQ+X3TrVdJ/ry42gDaSvnDYgnym3gb4KQ6NYAnSMgl3frSZhs7dcodsqf
-        	  XBR1RMjqlWys+qAw==;
-    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=148RCPcrtqKLZTPcSVqdMIKbrv3rKhd8l0ZorkMU3t0="
-    context.go:17: Parsed public key: [ed25519:d78f1108f72bb6a2]
+        	b=elp1VunIZpHcWB5+HWuekDs2eoydZhVKR3KaD45J1uy2VY8rawlC2O0r3gcpkVVusCq9Fz
+        	  RXDh7D1TICSSKQBQ==;
+    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=shju56MNlR0/q1Zp6Yj7urpiNltfHT8QfRUuIaoiXnI="
+    context.go:17: Parsed public key: [ed25519:b218eee7a30d951d]
     context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
     context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
     context.go:17: Hashing header: "subject:Is dinner ready?\r\n"
     context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
     context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
     context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
-    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1741199640; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
-    context.go:17: Resulting hash: "rCUlQmVbJZSKcBDlHOx3NIywfI7bH/4/asUbjMb3wdo="
-    context.go:17: PK [ed25519:d78f1108f72bb6a2]: Verification succeeded
+    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775609917; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
+    context.go:17: Resulting hash: "LvhK/ZwQc1UkpnCvZYCiERhAW2MosCFvqIGOMIzITSE="
+    context.go:17: PK [ed25519:b218eee7a30d951d]: Verification succeeded
     context.go:17: Found 1 signatures, 1 valid
---- PASS: TestSignEd25519 (0.01s)
+--- PASS: TestSignEd25519 (0.00s)
 === RUN   TestSignBadMessage
 --- PASS: TestSignBadMessage (0.00s)
 === RUN   TestSignBadAlgorithm
@@ -1700,7 +1736,7 @@
     context.go:17: Resulting hash: "f2IsMaznsSl75RyN3HCeXBCknzhGOAtiH+WoXk/PiLI="
     context.go:17: PK [rsa:30819f300d06092a]: Verification failed: crypto/rsa: verification error
     context.go:17: Found 2 signatures, 0 valid
---- PASS: TestVerifyRFC8463Example (0.01s)
+--- PASS: TestVerifyRFC8463Example (0.00s)
 === RUN   TestHeadersToInclude
 --- PASS: TestHeadersToInclude (0.00s)
 === RUN   TestAuthenticationResults
@@ -1736,9 +1772,9 @@
     --- PASS: FuzzParsePublicKey/seed#12 (0.00s)
     --- PASS: FuzzParsePublicKey/seed#13 (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/dkim	1.252s
+ok  	blitiri.com.ar/go/chasquid/internal/dkim	0.286s
 === RUN   TestBasic
-    testlib.go:32: test directory: "/tmp/testlib_2385034453"
+    testlib.go:32: test directory: "/tmp/testlib_534967183"
 _ domaininfo.go:117  DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN
 _ domaininfo.go:109  DomainInfo.Incoming d1: error: d1 incoming denied: TLS_INSECURE < TLS_SECURE
 _ domaininfo.go:153  DomainInfo.Outgoing d1: d1 outgoing level raised: TLS_SECURE > PLAIN
@@ -1747,14 +1783,14 @@
 _ domaininfo.go:182  DomainInfo.SetToPlain d1: set to plain
 --- PASS: TestBasic (0.00s)
 === RUN   TestNewDomain
-    testlib.go:32: test directory: "/tmp/testlib_89631495"
+    testlib.go:32: test directory: "/tmp/testlib_2763695998"
 _ domaininfo.go:153  DomainInfo.Outgoing insecure: insecure outgoing level raised: TLS_INSECURE > PLAIN
 _ domaininfo.go:117  DomainInfo.Incoming insecure: insecure incoming level raised: TLS_INSECURE > PLAIN
 _ domaininfo.go:153  DomainInfo.Outgoing secure: secure outgoing level raised: TLS_SECURE > PLAIN
 _ domaininfo.go:117  DomainInfo.Incoming secure: secure incoming level raised: TLS_SECURE > PLAIN
 --- PASS: TestNewDomain (0.00s)
 === RUN   TestProgressions
-    testlib.go:32: test directory: "/tmp/testlib_356399985"
+    testlib.go:32: test directory: "/tmp/testlib_3914182628"
 _ domaininfo.go:117  DomainInfo.Incoming pisis: pisis incoming level raised: TLS_INSECURE > PLAIN
 _ domaininfo.go:153  DomainInfo.Outgoing pisis: pisis outgoing level raised: TLS_INSECURE > PLAIN
 _ domaininfo.go:117  DomainInfo.Incoming pisis: pisis incoming level raised: TLS_SECURE > TLS_INSECURE
@@ -1769,27 +1805,27 @@
 _ domaininfo.go:145  DomainInfo.Outgoing ssip: error: ssip outgoing denied: PLAIN < TLS_SECURE
 --- PASS: TestProgressions (0.00s)
 === RUN   TestErrors
-    testlib.go:32: test directory: "/tmp/testlib_1068250301"
+    testlib.go:32: test directory: "/tmp/testlib_3737085539"
 _ domaininfo.go:117  DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN
 _ domaininfo.go:67   DomainInfo.Reload reload: error: id \"d1\": proto: syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents
 _ domaininfo.go:67   DomainInfo.Reload reload: error: id \"d1\": proto: syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents
 --- PASS: TestErrors (0.00s)
 === RUN   TestDirectoryErrors
-    testlib.go:32: test directory: "/tmp/testlib_750114952"
-_ domaininfo.go:59   DomainInfo.Reload reload: error: open /tmp/testlib_750114952/db: no such file or directory
-_ domaininfo.go:84   DomainInfo.write d1: error: open /tmp/testlib_750114952/db/.s:d11125020901: no such file or directory
+    testlib.go:32: test directory: "/tmp/testlib_266427037"
+_ domaininfo.go:59   DomainInfo.Reload reload: error: open /tmp/testlib_266427037/db: no such file or directory
+_ domaininfo.go:84   DomainInfo.write d1: error: open /tmp/testlib_266427037/db/.s:d13058171375: no such file or directory
 --- PASS: TestDirectoryErrors (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/domaininfo	0.052s
+ok  	blitiri.com.ar/go/chasquid/internal/domaininfo	0.031s
 === RUN   TestUsernameNotSafe
 --- PASS: TestUsernameNotSafe (0.00s)
 === RUN   TestAutodetect
-    testlib.go:32: test directory: "/tmp/testlib_2836943449"
+    testlib.go:32: test directory: "/tmp/testlib_3114076517"
 --- PASS: TestAutodetect (0.00s)
 === RUN   TestReload
 --- PASS: TestReload (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/dovecot	0.036s
+ok  	blitiri.com.ar/go/chasquid/internal/dovecot	0.020s
 === RUN   TestSplit
 --- PASS: TestSplit (0.00s)
 === RUN   TestDomainIn
@@ -1797,13 +1833,13 @@
 === RUN   TestAddHeader
 --- PASS: TestAddHeader (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/envelope	0.039s
+ok  	blitiri.com.ar/go/chasquid/internal/envelope	0.007s
 === RUN   TestHandler
 --- PASS: TestHandler (0.00s)
 === RUN   TestMapLabelAccident
 --- PASS: TestMapLabelAccident (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/expvarom	0.052s
+ok  	blitiri.com.ar/go/chasquid/internal/expvarom	0.017s
 === RUN   TestNoNewline
 --- PASS: TestNoNewline (0.00s)
 === RUN   TestBasic
@@ -1828,21 +1864,21 @@
     haproxy_test.go:69: testing 18: PROXY TCP6 5::5 6::6 7777 8888
 --- PASS: TestBasic (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/haproxy	0.040s
+ok  	blitiri.com.ar/go/chasquid/internal/haproxy	0.019s
 === RUN   TestBadServer
-    asm_arm64.s:1223: FakeServer &{{0x4000206480}}: accepted 
-    asm_arm64.s:1223: FakeServer &{{0x4000206480}}: readRequest: "" "" / EOF
-    asm_arm64.s:1223: FakeServer &{{0x4000206480}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-3684895222/rpc.sock->@: write: broken pipe
-    asm_arm64.s:1223: FakeServer &{{0x4000206480}}: closing
-    asm_arm64.s:1223: FakeServer &{{0x4000206600}}: accepted 
-    asm_arm64.s:1223: FakeServer &{{0x4000206600}}: readRequest: "Echo" "" / <nil>
-    asm_arm64.s:1223: FakeServer &{{0x4000206600}}: writeMessage("xxx"): 3 <nil>
-    asm_arm64.s:1223: FakeServer &{{0x4000206600}}: closing
---- PASS: TestBadServer (0.02s)
+    asm_arm64.s:1223: FakeServer &{{0x40000cf280}}: accepted 
+    asm_arm64.s:1223: FakeServer &{{0x40000cf280}}: readRequest: "" "" / EOF
+    asm_arm64.s:1223: FakeServer &{{0x40000cf280}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-891288680/rpc.sock->@: write: broken pipe
+    asm_arm64.s:1223: FakeServer &{{0x40000cf280}}: closing
+    asm_arm64.s:1223: FakeServer &{{0x40000cf400}}: accepted 
+    asm_arm64.s:1223: FakeServer &{{0x40000cf400}}: readRequest: "Echo" "" / <nil>
+    asm_arm64.s:1223: FakeServer &{{0x40000cf400}}: writeMessage("xxx"): 3 <nil>
+    asm_arm64.s:1223: FakeServer &{{0x40000cf400}}: closing
+--- PASS: TestBadServer (0.01s)
 === RUN   TestBadSocket
 --- PASS: TestBadSocket (0.00s)
 === RUN   TestEndToEnd
-_ localrpc.go:63     LocalRPC.Server /tmp/rpc-test-1369289118/sock: Listening
+_ localrpc.go:63     LocalRPC.Server /tmp/rpc-test-1847648949/sock: Listening
 === RUN   TestEndToEnd/Echo
 === RUN   TestEndToEnd/Echo#01
 === RUN   TestEndToEnd/Hola
@@ -1850,8 +1886,8 @@
 _ localrpc.go:139    LocalRPC.Handle @: error: -> 500 test error
 === RUN   TestEndToEnd/UnknownMethod
 _ localrpc.go:139    LocalRPC.Handle @: error: -> 500 unknown method
-_ localrpc.go:67     LocalRPC.Server /tmp/rpc-test-1369289118/sock: error: Accept error: accept unix /tmp/rpc-test-1369289118/sock: use of closed network connection
---- PASS: TestEndToEnd (0.02s)
+_ localrpc.go:67     LocalRPC.Server /tmp/rpc-test-1847648949/sock: error: Accept error: accept unix /tmp/rpc-test-1847648949/sock: use of closed network connection
+--- PASS: TestEndToEnd (0.01s)
     --- PASS: TestEndToEnd/Echo (0.00s)
     --- PASS: TestEndToEnd/Echo#01 (0.00s)
     --- PASS: TestEndToEnd/Hola (0.00s)
@@ -1865,7 +1901,7 @@
 === RUN   TestShortReadRequest
 --- PASS: TestShortReadRequest (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/localrpc	0.082s
+ok  	blitiri.com.ar/go/chasquid/internal/localrpc	0.042s
 === RUN   TestLogger
 --- PASS: TestLogger (0.00s)
 === RUN   TestDefault
@@ -1873,7 +1909,7 @@
 === RUN   TestFailedLogger
 --- PASS: TestFailedLogger (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/maillog	0.053s
+ok  	blitiri.com.ar/go/chasquid/internal/maillog	0.013s
 === RUN   TestContext
 --- PASS: TestContext (0.00s)
 === RUN   TestHistogramBasic
@@ -1881,19 +1917,19 @@
 === RUN   TestHistogramEmpty
 --- PASS: TestHistogramEmpty (0.00s)
 === RUN   TestHTTP
---- PASS: TestHTTP (0.02s)
+--- PASS: TestHTTP (0.01s)
 === RUN   TestHTTPLong
---- PASS: TestHTTPLong (0.01s)
+--- PASS: TestHTTPLong (0.00s)
 === RUN   TestHTTPErrors
 --- PASS: TestHTTPErrors (0.02s)
 === RUN   TestHTTPUroboro
---- PASS: TestHTTPUroboro (0.01s)
+--- PASS: TestHTTPUroboro (0.02s)
 === RUN   TestHTTPDeep
---- PASS: TestHTTPDeep (0.00s)
+--- PASS: TestHTTPDeep (0.01s)
 === RUN   TestStripZeros
 --- PASS: TestStripZeros (0.00s)
 === RUN   TestRegisterHandler
---- PASS: TestRegisterHandler (0.01s)
+--- PASS: TestRegisterHandler (0.00s)
 === RUN   TestBasic
 --- PASS: TestBasic (0.00s)
 === RUN   TestLong
@@ -1909,7 +1945,7 @@
 === RUN   TestFindParent
 --- PASS: TestFindParent (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/nettrace	0.105s
+ok  	blitiri.com.ar/go/chasquid/internal/nettrace	0.089s
 === RUN   TestUser
 --- PASS: TestUser (0.00s)
 === RUN   TestDomain
@@ -1969,41 +2005,41 @@
     --- PASS: FuzzDomainToUnicode/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70 (0.00s)
     --- PASS: FuzzDomainToUnicode/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/normalize	0.024s
+ok  	blitiri.com.ar/go/chasquid/internal/normalize	0.009s
 === RUN   TestBin
-    testlib.go:32: test directory: "/tmp/testlib_399530131"
---- PASS: TestBin (0.01s)
+    testlib.go:32: test directory: "/tmp/testlib_364895336"
+--- PASS: TestBin (0.00s)
 === RUN   TestText
-    testlib.go:32: test directory: "/tmp/testlib_224080723"
+    testlib.go:32: test directory: "/tmp/testlib_3671450255"
 --- PASS: TestText (0.00s)
 === RUN   TestStore
-    testlib.go:32: test directory: "/tmp/testlib_1108314952"
+    testlib.go:32: test directory: "/tmp/testlib_1579638881"
 --- PASS: TestStore (0.00s)
 === RUN   TestFileErrors
-    testlib.go:32: test directory: "/tmp/testlib_1338076220"
+    testlib.go:32: test directory: "/tmp/testlib_951789990"
 --- PASS: TestFileErrors (0.00s)
 === RUN   TestMarshalErrors
-    testlib.go:32: test directory: "/tmp/testlib_3511092968"
+    testlib.go:32: test directory: "/tmp/testlib_668006081"
 --- PASS: TestMarshalErrors (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/protoio	0.051s
+ok  	blitiri.com.ar/go/chasquid/internal/protoio	0.016s
 ?   	blitiri.com.ar/go/chasquid/internal/protoio/testpb	[no test files]
 === RUN   TestDSN
     dsn_test.go:49: From: Mail Delivery System <postmaster-dsn@dsnDomain>
         To: <from@from.org>
         Subject: Mail delivery failed: returning message to sender
-        Message-ID: <chasquid-dsn-NytivFmji0A@dsnDomain>
-        Date: Wed, 05 Mar 2025 18:34:02 +0000
+        Message-ID: <chasquid-dsn-gBgQijXw3ao@dsnDomain>
+        Date: Wed, 08 Apr 2026 00:58:38 +0000
         In-Reply-To: <msgid-123@zaraza>
         References: <msgid-123@zaraza>
         X-Failed-Recipients: pepe@africa.org, ñaca@africa.org, 
         Auto-Submitted: auto-replied
         MIME-Version: 1.0
         Content-Type: multipart/report; report-type=delivery-status;
-            boundary="mePDGU2Go6k"
+            boundary="x7Njdp1l1KM"
         
         
-        --mePDGU2Go6k
+        --x7Njdp1l1KM
         Content-Type: text/plain; charset="utf-8"
         Content-Disposition: inline
         Content-Description: Notification
@@ -2028,7 +2064,7 @@
             oh! the humanity!
         
         
-        --mePDGU2Go6k
+        --x7Njdp1l1KM
         Content-Type: message/global-delivery-status
         Content-Description: Delivery Report
         Content-Transfer-Encoding: 8bit
@@ -2059,7 +2095,7 @@
         
         
         
-        --mePDGU2Go6k
+        --x7Njdp1l1KM
         Content-Type: message/rfc822
         Content-Description: Undelivered Message
         Content-Transfer-Encoding: 8bit
@@ -2069,76 +2105,76 @@
         Data ñaca.
         
         
-        --mePDGU2Go6k--
+        --x7Njdp1l1KM--
         
 --- PASS: TestDSN (0.00s)
 === RUN   TestBasic
-    testlib.go:32: test directory: "/tmp/testlib_3767495805"
-_ queue.go:308       Queue.SendLoop AA5hvFdV9Wk: from from
-_ queue.go:367       Queue.SendLoop AA5hvFdV9Wk: nodomain sent
-_ queue.go:367       Queue.SendLoop AA5hvFdV9Wk: am@loco sent
-_ queue.go:367       Queue.SendLoop AA5hvFdV9Wk: x@remote sent
-_ queue.go:342       Queue.SendLoop AA5hvFdV9Wk: all done
---- PASS: TestBasic (0.00s)
+    testlib.go:32: test directory: "/tmp/testlib_1071782253"
+_ queue.go:308       Queue.SendLoop zhe23NBDnoI: from from
+_ queue.go:367       Queue.SendLoop zhe23NBDnoI: nodomain sent
+_ queue.go:367       Queue.SendLoop zhe23NBDnoI: am@loco sent
+_ queue.go:367       Queue.SendLoop zhe23NBDnoI: x@remote sent
+_ queue.go:342       Queue.SendLoop zhe23NBDnoI: all done
+--- PASS: TestBasic (0.02s)
 === RUN   TestDSNOnTimeout
-    testlib.go:32: test directory: "/tmp/testlib_3371195377"
-_ queue.go:308       Queue.SendLoop P0ahrip8W5c: from from@loco
-_ queue.go:467       Queue.SendLoop P0ahrip8W5c: queued DSN: m6Q1pYY-xos
-_ queue.go:342       Queue.SendLoop P0ahrip8W5c: all done
-_ queue.go:308       Queue.SendLoop m6Q1pYY-xos: from <>
-_ queue.go:367       Queue.SendLoop m6Q1pYY-xos: from@loco sent
-_ queue.go:342       Queue.SendLoop m6Q1pYY-xos: all done
+    testlib.go:32: test directory: "/tmp/testlib_1722498038"
+_ queue.go:308       Queue.SendLoop Z7ST7QCPxEo: from from@loco
+_ queue.go:467       Queue.SendLoop Z7ST7QCPxEo: queued DSN: 3MfVL3YJ42w
+_ queue.go:342       Queue.SendLoop Z7ST7QCPxEo: all done
+_ queue.go:308       Queue.SendLoop 3MfVL3YJ42w: from <>
+_ queue.go:367       Queue.SendLoop 3MfVL3YJ42w: from@loco sent
+_ queue.go:342       Queue.SendLoop 3MfVL3YJ42w: all done
 --- PASS: TestDSNOnTimeout (0.00s)
 === RUN   TestAliases
-    testlib.go:32: test directory: "/tmp/testlib_3162275695"
-_ queue.go:308       Queue.SendLoop bzWkQcME7O4: from from
-_ queue.go:367       Queue.SendLoop bzWkQcME7O4: ata@hualpa sent
-_ queue.go:367       Queue.SendLoop bzWkQcME7O4: pq@loco sent
-_ queue.go:367       Queue.SendLoop bzWkQcME7O4: rs@loco sent
-_ queue.go:342       Queue.SendLoop bzWkQcME7O4: all done
+    testlib.go:32: test directory: "/tmp/testlib_1541674076"
+_ queue.go:308       Queue.SendLoop UoKRepUch-M: from from
+_ queue.go:367       Queue.SendLoop UoKRepUch-M: ata@hualpa sent
+_ queue.go:367       Queue.SendLoop UoKRepUch-M: pq@loco sent
 --- PASS: TestAliases (0.00s)
 === RUN   TestFullQueue
-    testlib.go:32: test directory: "/tmp/testlib_3864684548"
+_ queue.go:367       Queue.SendLoop UoKRepUch-M: rs@loco sent
+    testlib.go:32: test directory: "/tmp/testlib_1899630110"
+_ queue.go:342       Queue.SendLoop UoKRepUch-M: all done
 _ queue.go:164       Queue.Put from: error: queue full
 --- PASS: TestFullQueue (0.00s)
 === RUN   TestPipes
-    testlib.go:32: test directory: "/tmp/testlib_863345100"
-_ queue.go:308       Queue.SendLoop Nus658J9m1E: from from
-_ queue.go:367       Queue.SendLoop Nus658J9m1E: to sent
-_ queue.go:375       Queue.SendLoop Nus658J9m1E: error: failed to write: open /tmp/testlib_3864684548/.m:Nus658J9m1E2500487312: no such file or directory
-_ queue.go:342       Queue.SendLoop Nus658J9m1E: all done
-E queue.go:230       failed to remove queue file "/tmp/testlib_3864684548/m:Nus658J9m1E": remove /tmp/testlib_3864684548/m:Nus658J9m1E: no such file or directory
+_ queue.go:308       Queue.SendLoop 9fD5cHGdGW4: from from
+_ queue.go:367       Queue.SendLoop 9fD5cHGdGW4: to sent
+    testlib.go:32: test directory: "/tmp/testlib_923508010"
+_ queue.go:375       Queue.SendLoop 9fD5cHGdGW4: error: failed to write: open /tmp/testlib_1899630110/.m:9fD5cHGdGW44237049664: no such file or directory
+_ queue.go:342       Queue.SendLoop 9fD5cHGdGW4: all done
+E queue.go:230       failed to remove queue file "/tmp/testlib_1899630110/m:9fD5cHGdGW4": remove /tmp/testlib_1899630110/m:9fD5cHGdGW4: no such file or directory
 --- PASS: TestPipes (0.00s)
 === RUN   TestBadPath
 --- PASS: TestBadPath (0.00s)
 === RUN   TestNextDelay
 --- PASS: TestNextDelay (0.00s)
 === RUN   TestSerialization
-    testlib.go:32: test directory: "/tmp/testlib_2421483711"
-_ queue.go:308       Queue.SendLoop z54oxoGuXXc: from from@loco
-_ queue.go:367       Queue.SendLoop z54oxoGuXXc: to@to sent
-_ queue.go:342       Queue.SendLoop z54oxoGuXXc: all done
+    testlib.go:32: test directory: "/tmp/testlib_2690020296"
+_ queue.go:308       Queue.SendLoop F2tN6SUhUCc: from from@loco
+_ queue.go:367       Queue.SendLoop F2tN6SUhUCc: to@to sent
+_ queue.go:342       Queue.SendLoop F2tN6SUhUCc: all done
 --- PASS: TestSerialization (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/queue	0.023s
+ok  	blitiri.com.ar/go/chasquid/internal/queue	0.054s
 === RUN   TestWriteFile
-    testlib.go:32: test directory: "/tmp/testlib_744106809"
+    testlib.go:32: test directory: "/tmp/testlib_36065046"
 --- PASS: TestWriteFile (0.00s)
 === RUN   TestWriteFileWithOp
-    testlib.go:32: test directory: "/tmp/testlib_122166212"
+    testlib.go:32: test directory: "/tmp/testlib_357581025"
 --- PASS: TestWriteFileWithOp (0.00s)
 === RUN   TestWriteFileWithFailingOp
-    testlib.go:32: test directory: "/tmp/testlib_1623624398"
+    testlib.go:32: test directory: "/tmp/testlib_2434416752"
 --- PASS: TestWriteFileWithFailingOp (0.00s)
 === RUN   TestErrors
-    testlib.go:32: test directory: "/tmp/testlib_2141663876"
+    testlib.go:32: test directory: "/tmp/testlib_1397371707"
 --- PASS: TestErrors (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/safeio	0.040s
+ok  	blitiri.com.ar/go/chasquid/internal/safeio	0.017s
 === RUN   TestString
 --- PASS: TestString (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/set	0.048s
+ok  	blitiri.com.ar/go/chasquid/internal/set	0.006s
 === RUN   TestIsPermanent
 --- PASS: TestIsPermanent (0.00s)
 === RUN   TestIsASCII
@@ -2152,16 +2188,17 @@
 === RUN   TestFallbackToIDNA
 --- PASS: TestFallbackToIDNA (0.00s)
 === RUN   TestLineTooLong
---- PASS: TestLineTooLong (0.13s)
+--- PASS: TestLineTooLong (0.01s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/smtp	0.173s
-_ server.go:300      Server listening on 127.0.0.1:40045 (SMTP)
-2025-03-05 18:34:03.699136 daemon listening on 127.0.0.1:40045
-_ server.go:300      Server listening on 127.0.0.1:40331 (submission)
-2025-03-05 18:34:03.699205 daemon listening on 127.0.0.1:40331
-_ server.go:300      Server listening on 127.0.0.1:45841 (submission+TLS)
-2025-03-05 18:34:03.699223 daemon listening on 127.0.0.1:45841
+ok  	blitiri.com.ar/go/chasquid/internal/smtp	0.031s
+_ server.go:300      Server listening on 127.0.0.1:34721 (SMTP)
+2026-04-08 00:58:39.869752 daemon listening on 127.0.0.1:34721
+_ server.go:300      Server listening on 127.0.0.1:33049 (submission)
+2026-04-08 00:58:39.869838 daemon listening on 127.0.0.1:33049
+_ server.go:300      Server listening on 127.0.0.1:34971 (submission+TLS)
+2026-04-08 00:58:39.869857 daemon listening on 127.0.0.1:34971
 === RUN   TestSecLevel
+_ conn.go:209        SMTP.Conn 127.0.0.1:41734: error: error completing TLS handshake: EOF
 _ domaininfo.go:117  DomainInfo.Incoming slc: slc incoming level raised: TLS_CLIENT > PLAIN
 _ domaininfo.go:109  DomainInfo.Incoming slc: error: slc incoming denied: PLAIN < TLS_CLIENT
 _ conn.go:559        testconn testconn: error: security level check for slc failed (PLAIN)
@@ -2177,190 +2214,189 @@
 === RUN   TestReadUntilDotReadError
 --- PASS: TestReadUntilDotReadError (0.00s)
 === RUN   TestSimple
-_ conn.go:209        SMTP.Conn 127.0.0.1:57496: error: error completing TLS handshake: EOF
-_ conn.go:722        SMTP.Conn 127.0.0.1:60374: Queued from from@from to [to@localhost] - Y9hCepAbyfs
-2025-03-05 18:34:03.809153 Y9hCepAbyfs from=from@from queued ip=127.0.0.1:60374 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop Y9hCepAbyfs: from from@from
-_ queue.go:367       Queue.SendLoop Y9hCepAbyfs: testuser@localhost sent
-2025-03-05 18:34:03.809250 Y9hCepAbyfs from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop Y9hCepAbyfs: all done
-2025-03-05 18:34:03.809344 Y9hCepAbyfs from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:37038: Queued from from@from to [to@localhost] - -DfjYY32UnA
+2026-04-08 00:58:39.975337 -DfjYY32UnA from=from@from queued ip=127.0.0.1:37038 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop -DfjYY32UnA: from from@from
+_ queue.go:367       Queue.SendLoop -DfjYY32UnA: testuser@localhost sent
+2026-04-08 00:58:39.975655 -DfjYY32UnA from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop -DfjYY32UnA: all done
+2026-04-08 00:58:39.975847 -DfjYY32UnA from=from@from all done
 --- PASS: TestSimple (0.00s)
 === RUN   TestSimpleTLS
-_ conn.go:722        SMTP.Conn 127.0.0.1:60376: Queued from from@from to [to@localhost] - vhQJk7WRXug
-2025-03-05 18:34:03.840285 vhQJk7WRXug from=from@from queued ip=127.0.0.1:60376 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop vhQJk7WRXug: from from@from
-_ queue.go:367       Queue.SendLoop vhQJk7WRXug: testuser@localhost sent
-2025-03-05 18:34:03.840364 vhQJk7WRXug from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop vhQJk7WRXug: all done
-2025-03-05 18:34:03.840452 vhQJk7WRXug from=from@from all done
---- PASS: TestSimpleTLS (0.03s)
+_ conn.go:722        SMTP.Conn 127.0.0.1:37050: Queued from from@from to [to@localhost] - Iulg2bnudIw
+2026-04-08 00:58:39.979490 Iulg2bnudIw from=from@from queued ip=127.0.0.1:37050 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop Iulg2bnudIw: from from@from
+_ queue.go:367       Queue.SendLoop Iulg2bnudIw: testuser@localhost sent
+2026-04-08 00:58:39.979634 Iulg2bnudIw from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop Iulg2bnudIw: all done
+2026-04-08 00:58:39.979901 Iulg2bnudIw from=from@from all done
+--- PASS: TestSimpleTLS (0.00s)
 === RUN   TestManyEmails
-_ conn.go:722        SMTP.Conn 127.0.0.1:60378: Queued from from@from to [to@localhost] - Bk4bzKgOs74
-2025-03-05 18:34:03.846861 Bk4bzKgOs74 from=from@from queued ip=127.0.0.1:60378 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop Bk4bzKgOs74: from from@from
-_ queue.go:367       Queue.SendLoop Bk4bzKgOs74: testuser@localhost sent
-2025-03-05 18:34:03.846942 Bk4bzKgOs74 from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop Bk4bzKgOs74: all done
-2025-03-05 18:34:03.847037 Bk4bzKgOs74 from=from@from all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:60378: Queued from from@from to [to@localhost] - U_4KlDCtC5w
-2025-03-05 18:34:03.847305 U_4KlDCtC5w from=from@from queued ip=127.0.0.1:60378 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop U_4KlDCtC5w: from from@from
-_ queue.go:367       Queue.SendLoop U_4KlDCtC5w: testuser@localhost sent
-2025-03-05 18:34:03.847360 U_4KlDCtC5w from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop U_4KlDCtC5w: all done
-2025-03-05 18:34:03.847427 U_4KlDCtC5w from=from@from all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:60378: Queued from from@from to [to@localhost] - xO1Z9g0JIyM
-2025-03-05 18:34:03.847666 xO1Z9g0JIyM from=from@from queued ip=127.0.0.1:60378 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop xO1Z9g0JIyM: from from@from
-_ queue.go:367       Queue.SendLoop xO1Z9g0JIyM: testuser@localhost sent
-2025-03-05 18:34:03.847711 xO1Z9g0JIyM from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop xO1Z9g0JIyM: all done
-2025-03-05 18:34:03.847770 xO1Z9g0JIyM from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:37054: Queued from from@from to [to@localhost] - iaCXqaYNEsA
+2026-04-08 00:58:39.983485 iaCXqaYNEsA from=from@from queued ip=127.0.0.1:37054 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop iaCXqaYNEsA: from from@from
+_ queue.go:367       Queue.SendLoop iaCXqaYNEsA: testuser@localhost sent
+2026-04-08 00:58:39.983596 iaCXqaYNEsA from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop iaCXqaYNEsA: all done
+2026-04-08 00:58:39.983711 iaCXqaYNEsA from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:37054: Queued from from@from to [to@localhost] - e2ZS89nTJIw
+2026-04-08 00:58:39.984206 e2ZS89nTJIw from=from@from queued ip=127.0.0.1:37054 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop e2ZS89nTJIw: from from@from
+_ queue.go:367       Queue.SendLoop e2ZS89nTJIw: testuser@localhost sent
+2026-04-08 00:58:39.984293 e2ZS89nTJIw from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop e2ZS89nTJIw: all done
+2026-04-08 00:58:39.984395 e2ZS89nTJIw from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:37054: Queued from from@from to [to@localhost] - 0qy2jE4PROI
+2026-04-08 00:58:39.984757 0qy2jE4PROI from=from@from queued ip=127.0.0.1:37054 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop 0qy2jE4PROI: from from@from
+_ queue.go:367       Queue.SendLoop 0qy2jE4PROI: testuser@localhost sent
+2026-04-08 00:58:39.984860 0qy2jE4PROI from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop 0qy2jE4PROI: all done
+2026-04-08 00:58:39.984969 0qy2jE4PROI from=from@from all done
 --- PASS: TestManyEmails (0.01s)
 === RUN   TestAuth
-2025-03-05 18:34:03.971737 127.0.0.1:55682 auth succeeded for testuser@localhost
-_ conn.go:722        SMTP.Conn 127.0.0.1:55682: Queued from testuser@localhost to [to@localhost] - Dkpgc0vVUxA
-2025-03-05 18:34:03.972313 Dkpgc0vVUxA from=testuser@localhost queued ip=127.0.0.1:55682 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop Dkpgc0vVUxA: from testuser@localhost
-_ queue.go:367       Queue.SendLoop Dkpgc0vVUxA: testuser@localhost sent
-2025-03-05 18:34:03.972391 Dkpgc0vVUxA from=testuser@localhost to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop Dkpgc0vVUxA: all done
-2025-03-05 18:34:03.972484 Dkpgc0vVUxA from=testuser@localhost all done
---- PASS: TestAuth (0.12s)
+2026-04-08 00:58:40.090358 127.0.0.1:51024 auth succeeded for testuser@localhost
+_ conn.go:722        SMTP.Conn 127.0.0.1:51024: Queued from testuser@localhost to [to@localhost] - 4zRbAsESvhE
+2026-04-08 00:58:40.091053 4zRbAsESvhE from=testuser@localhost queued ip=127.0.0.1:51024 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop 4zRbAsESvhE: from testuser@localhost
+_ queue.go:367       Queue.SendLoop 4zRbAsESvhE: testuser@localhost sent
+2026-04-08 00:58:40.091162 4zRbAsESvhE from=testuser@localhost to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop 4zRbAsESvhE: all done
+2026-04-08 00:58:40.091296 4zRbAsESvhE from=testuser@localhost all done
+--- PASS: TestAuth (0.11s)
 === RUN   TestSubmissionWithoutAuth
-_ conn.go:318        SMTP.Conn 127.0.0.1:55686: error: MAIL failed: 550  5.7.9 Mail to submission port must be authenticated
---- PASS: TestSubmissionWithoutAuth (0.01s)
+_ conn.go:318        SMTP.Conn 127.0.0.1:51028: error: MAIL failed: 550  5.7.9 Mail to submission port must be authenticated
+--- PASS: TestSubmissionWithoutAuth (0.00s)
 === RUN   TestAuthOnTLS
-2025-03-05 18:34:04.098591 127.0.0.1:57508 auth succeeded for testuser@localhost
-_ conn.go:722        SMTP.Conn 127.0.0.1:57508: Queued from testuser@localhost to [to@localhost] - Bss9Sbdy9mI
-2025-03-05 18:34:04.099193 Bss9Sbdy9mI from=testuser@localhost queued ip=127.0.0.1:57508 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop Bss9Sbdy9mI: from testuser@localhost
-_ queue.go:367       Queue.SendLoop Bss9Sbdy9mI: testuser@localhost sent
-2025-03-05 18:34:04.099277 Bss9Sbdy9mI from=testuser@localhost to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop Bss9Sbdy9mI: all done
-2025-03-05 18:34:04.099373 Bss9Sbdy9mI from=testuser@localhost all done
---- PASS: TestAuthOnTLS (0.12s)
+2026-04-08 00:58:40.198676 127.0.0.1:41750 auth succeeded for testuser@localhost
+_ conn.go:722        SMTP.Conn 127.0.0.1:41750: Queued from testuser@localhost to [to@localhost] - KEstFAS34p4
+2026-04-08 00:58:40.199283 KEstFAS34p4 from=testuser@localhost queued ip=127.0.0.1:41750 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop KEstFAS34p4: from testuser@localhost
+_ queue.go:367       Queue.SendLoop KEstFAS34p4: testuser@localhost sent
+2026-04-08 00:58:40.199424 KEstFAS34p4 from=testuser@localhost to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop KEstFAS34p4: all done
+2026-04-08 00:58:40.199582 KEstFAS34p4 from=testuser@localhost all done
+--- PASS: TestAuthOnTLS (0.11s)
 === RUN   TestAuthOnSMTP
-2025-03-05 18:34:04.220209 127.0.0.1:60380 auth succeeded for testuser@localhost
-_ conn.go:722        SMTP.Conn 127.0.0.1:60380: Queued from testuser@localhost to [to@localhost] - bAoQl5bwaQw
-2025-03-05 18:34:04.220807 bAoQl5bwaQw from=testuser@localhost queued ip=127.0.0.1:60380 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop bAoQl5bwaQw: from testuser@localhost
-_ queue.go:367       Queue.SendLoop bAoQl5bwaQw: testuser@localhost sent
-2025-03-05 18:34:04.220889 bAoQl5bwaQw from=testuser@localhost to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop bAoQl5bwaQw: all done
-2025-03-05 18:34:04.220986 bAoQl5bwaQw from=testuser@localhost all done
---- PASS: TestAuthOnSMTP (0.12s)
+2026-04-08 00:58:40.304296 127.0.0.1:37068 auth succeeded for testuser@localhost
+_ conn.go:722        SMTP.Conn 127.0.0.1:37068: Queued from testuser@localhost to [to@localhost] - GgA6Beq_iNE
+2026-04-08 00:58:40.305367 GgA6Beq_iNE from=testuser@localhost queued ip=127.0.0.1:37068 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop GgA6Beq_iNE: from testuser@localhost
+_ queue.go:367       Queue.SendLoop GgA6Beq_iNE: testuser@localhost sent
+2026-04-08 00:58:40.305511 GgA6Beq_iNE from=testuser@localhost to=testuser@localhost sent
+--- PASS: TestAuthOnSMTP (0.11s)
 === RUN   TestBrokenAuth
-_ conn.go:1193       SMTP.Conn 127.0.0.1:55692: error: error authenticating \"user\"@\"broken\": failed to auth
-2025-03-05 18:34:04.341952 127.0.0.1:55692 auth failed for user@broken
-_ conn.go:318        SMTP.Conn 127.0.0.1:55692: error: AUTH failed: 454  4.7.0 Temporary authentication failure
-_ conn.go:318        SMTP.Conn 127.0.0.1:55692: error: unknown<\"*\"> failed: 500  5.5.1 Unknown command
---- PASS: TestBrokenAuth (0.12s)
+_ queue.go:342       Queue.SendLoop GgA6Beq_iNE: all done
+2026-04-08 00:58:40.305715 GgA6Beq_iNE from=testuser@localhost all done
+_ conn.go:1193       SMTP.Conn 127.0.0.1:51042: error: error authenticating \"user\"@\"broken\": failed to auth
+2026-04-08 00:58:40.419915 127.0.0.1:51042 auth failed for user@broken
+_ conn.go:318        SMTP.Conn 127.0.0.1:51042: error: AUTH failed: 454  4.7.0 Temporary authentication failure
+_ conn.go:318        SMTP.Conn 127.0.0.1:51042: error: unknown<\"*\"> failed: 500  5.5.1 Unknown command
+--- PASS: TestBrokenAuth (0.11s)
 === RUN   TestWrongMailParsing
-_ conn.go:318        SMTP.Conn 127.0.0.1:60382: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:60382: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:60382: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:60382: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:60384: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:60384: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:60384: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:60384: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:60388: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:60388: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:60388: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:60388: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:60402: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:60402: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:60402: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:60402: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:60412: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:60412: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:60412: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:60412: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:60422: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:60422: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:60422: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:60422: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:37074: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:37074: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:37074: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:37074: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:37088: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:37088: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:37088: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:37088: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:37102: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:37102: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:37102: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:37102: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:37110: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:37110: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:37110: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:37110: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:37120: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:37120: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:37120: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:37120: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:37130: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:37130: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:37130: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:37130: error: too many errors, breaking connection
 --- PASS: TestWrongMailParsing (0.00s)
 === RUN   TestNullMailFrom
 --- PASS: TestNullMailFrom (0.00s)
 === RUN   TestRcptBeforeMail
-_ conn.go:318        SMTP.Conn 127.0.0.1:60426: error: RCPT failed: 503  5.5.1 Sender not yet given
+_ conn.go:318        SMTP.Conn 127.0.0.1:37148: error: RCPT failed: 503  5.5.1 Sender not yet given
 --- PASS: TestRcptBeforeMail (0.00s)
 === RUN   TestRcptOption
---- PASS: TestRcptOption (0.01s)
+--- PASS: TestRcptOption (0.00s)
 === RUN   TestRelayForbidden
-2025-03-05 18:34:04.351538 127.0.0.1:60452 rejected from=from@somewhere to=[to@somewhere] - relay not allowed
-_ conn.go:318        SMTP.Conn 127.0.0.1:60452: error: RCPT failed: 503  5.7.1 Relay not allowed
+2026-04-08 00:58:40.432156 127.0.0.1:37172 rejected from=from@somewhere to=[to@somewhere] - relay not allowed
+_ conn.go:318        SMTP.Conn 127.0.0.1:37172: error: RCPT failed: 503  5.7.1 Relay not allowed
 --- PASS: TestRelayForbidden (0.00s)
 === RUN   TestTooManyRecipients
-2025-03-05 18:34:04.457945 127.0.0.1:55696 auth succeeded for testuser@localhost
-_ conn.go:318        SMTP.Conn 127.0.0.1:55696: error: RCPT failed: 452  4.5.3 Too many recipients
---- PASS: TestTooManyRecipients (0.11s)
+2026-04-08 00:58:40.543873 127.0.0.1:51048 auth succeeded for testuser@localhost
+_ conn.go:318        SMTP.Conn 127.0.0.1:51048: error: RCPT failed: 452  4.5.3 Too many recipients
+--- PASS: TestTooManyRecipients (0.12s)
 === RUN   TestRcptBrokenExists
-_ conn.go:622        SMTP.Conn 127.0.0.1:60458: error: error checking if user \"to@broken\" exists: failed to check if user exists
-2025-03-05 18:34:04.466590 127.0.0.1:60458 rejected from=from@localhost to=[to@broken] - error checking if user exists: failed to check if user exists
-_ conn.go:318        SMTP.Conn 127.0.0.1:60458: error: RCPT failed: 451  4.4.3 Temporary error checking address
+_ conn.go:622        SMTP.Conn 127.0.0.1:37178: error: error checking if user \"to@broken\" exists: failed to check if user exists
+2026-04-08 00:58:40.557276 127.0.0.1:37178 rejected from=from@localhost to=[to@broken] - error checking if user exists: failed to check if user exists
+_ conn.go:318        SMTP.Conn 127.0.0.1:37178: error: RCPT failed: 451  4.4.3 Temporary error checking address
 --- PASS: TestRcptBrokenExists (0.01s)
 === RUN   TestRcptUserDoesNotExist
-2025-03-05 18:34:04.468837 127.0.0.1:60462 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist
-_ conn.go:318        SMTP.Conn 127.0.0.1:60462: error: RCPT failed: 550  5.1.1 Destination address is unknown (user does not exist)
---- PASS: TestRcptUserDoesNotExist (0.00s)
+2026-04-08 00:58:40.563215 127.0.0.1:37190 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist
+_ conn.go:318        SMTP.Conn 127.0.0.1:37190: error: RCPT failed: 550  5.1.1 Destination address is unknown (user does not exist)
+--- PASS: TestRcptUserDoesNotExist (0.01s)
 === RUN   TestTooMuchData
-_ conn.go:722        SMTP.Conn 127.0.0.1:60464: Queued from from@from to [to@localhost] - gtWHBg6SfN0
-2025-03-05 18:34:04.657913 gtWHBg6SfN0 from=from@from queued ip=127.0.0.1:60464 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop gtWHBg6SfN0: from from@from
-_ queue.go:367       Queue.SendLoop gtWHBg6SfN0: testuser@localhost sent
-2025-03-05 18:34:04.658056 gtWHBg6SfN0 from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop gtWHBg6SfN0: all done
-2025-03-05 18:34:04.688642 gtWHBg6SfN0 from=from@from all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:60464: Queued from from@from to [to@localhost] - 4x6CwDySbjk
-2025-03-05 18:34:04.845420 4x6CwDySbjk from=from@from queued ip=127.0.0.1:60464 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop 4x6CwDySbjk: from from@from
-_ queue.go:367       Queue.SendLoop 4x6CwDySbjk: testuser@localhost sent
-2025-03-05 18:34:04.845577 4x6CwDySbjk from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop 4x6CwDySbjk: all done
-2025-03-05 18:34:04.885689 4x6CwDySbjk from=from@from all done
-_ conn.go:318        SMTP.Conn 127.0.0.1:60464: error: DATA failed: 552  5.3.4 Message too big
-_ conn.go:722        SMTP.Conn 127.0.0.1:60464: Queued from from@from to [to@localhost] - BjWNCXSGow0
-2025-03-05 18:34:05.164541 BjWNCXSGow0 from=from@from queued ip=127.0.0.1:60464 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop BjWNCXSGow0: from from@from
-_ queue.go:367       Queue.SendLoop BjWNCXSGow0: testuser@localhost sent
-2025-03-05 18:34:05.169962 BjWNCXSGow0 from=from@from to=testuser@localhost sent
---- PASS: TestTooMuchData (0.71s)
+_ conn.go:722        SMTP.Conn 127.0.0.1:37192: Queued from from@from to [to@localhost] - odmO75q8ZjY
+2026-04-08 00:58:40.695426 odmO75q8ZjY from=from@from queued ip=127.0.0.1:37192 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop odmO75q8ZjY: from from@from
+_ queue.go:367       Queue.SendLoop odmO75q8ZjY: testuser@localhost sent
+2026-04-08 00:58:40.695561 odmO75q8ZjY from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop odmO75q8ZjY: all done
+2026-04-08 00:58:40.711062 odmO75q8ZjY from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:37192: Queued from from@from to [to@localhost] - RgOWWY4Pd1M
+2026-04-08 00:58:40.833411 RgOWWY4Pd1M from=from@from queued ip=127.0.0.1:37192 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop RgOWWY4Pd1M: from from@from
+_ queue.go:367       Queue.SendLoop RgOWWY4Pd1M: testuser@localhost sent
+2026-04-08 00:58:40.833666 RgOWWY4Pd1M from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop RgOWWY4Pd1M: all done
+2026-04-08 00:58:40.866241 RgOWWY4Pd1M from=from@from all done
+_ conn.go:318        SMTP.Conn 127.0.0.1:37192: error: DATA failed: 552  5.3.4 Message too big
+_ conn.go:722        SMTP.Conn 127.0.0.1:37192: Queued from from@from to [to@localhost] - N03pT3Z6lKU
+2026-04-08 00:58:41.036637 N03pT3Z6lKU from=from@from queued ip=127.0.0.1:37192 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop N03pT3Z6lKU: from from@from
+_ queue.go:367       Queue.SendLoop N03pT3Z6lKU: testuser@localhost sent
+2026-04-08 00:58:41.036771 N03pT3Z6lKU from=from@from to=testuser@localhost sent
+--- PASS: TestTooMuchData (0.47s)
 === RUN   TestSimpleCommands
-_ queue.go:342       Queue.SendLoop BjWNCXSGow0: all done
-2025-03-05 18:34:05.190583 BjWNCXSGow0 from=from@from all done
-_ conn.go:318        SMTP.Conn 127.0.0.1:60480: error: VRFY failed: 502  5.5.1 You have a strange feeling for a moment, then it passes.
-_ conn.go:318        SMTP.Conn 127.0.0.1:60480: error: EXPN failed: 502  5.5.1 You feel disoriented for a moment.
---- PASS: TestSimpleCommands (0.02s)
+_ conn.go:318        SMTP.Conn 127.0.0.1:37202: error: VRFY failed: 502  5.5.1 You have a strange feeling for a moment, then it passes.
+_ conn.go:318        SMTP.Conn 127.0.0.1:37202: error: EXPN failed: 502  5.5.1 You feel disoriented for a moment.
+--- PASS: TestSimpleCommands (0.00s)
 === RUN   TestLongLines
-_ conn.go:318        SMTP.Conn 127.0.0.1:60488: error: unknown<\"\"> failed: 500  5.5.1 Unknown command
-_ conn.go:348        SMTP.Conn 127.0.0.1:60488: error: exiting with error: line too long
---- PASS: TestLongLines (0.01s)
+_ conn.go:318        SMTP.Conn 127.0.0.1:37206: error: unknown<\"\"> failed: 500  5.5.1 Unknown command
+_ conn.go:348        SMTP.Conn 127.0.0.1:37206: error: exiting with error: line too long
+--- PASS: TestLongLines (0.00s)
 === RUN   TestReset
 --- PASS: TestReset (0.00s)
 === RUN   TestRepeatedStartTLS
-_ conn.go:318        SMTP.Conn 127.0.0.1:60506: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
+_ conn.go:318        SMTP.Conn 127.0.0.1:37216: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
 --- PASS: TestRepeatedStartTLS (0.00s)
 === RUN   TestStartTLSOnTLS
-_ conn.go:318        SMTP.Conn 127.0.0.1:57510: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
---- PASS: TestStartTLSOnTLS (0.01s)
+_ conn.go:318        SMTP.Conn 127.0.0.1:41752: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
+--- PASS: TestStartTLSOnTLS (0.00s)
 === RUN   TestAddDKIMSigner
-    testlib.go:32: test directory: "/tmp/testlib_1982651616"
---- PASS: TestAddDKIMSigner (0.00s)
+    testlib.go:32: test directory: "/tmp/testlib_4140972162"
+_ queue.go:342       Queue.SendLoop N03pT3Z6lKU: all done
+2026-04-08 00:58:41.049366 N03pT3Z6lKU from=from@from all done
+--- PASS: TestAddDKIMSigner (0.01s)
 === RUN   FuzzConnection
 --- PASS: FuzzConnection (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/smtpsrv	1.818s
+ok  	blitiri.com.ar/go/chasquid/internal/smtpsrv	1.396s
 === RUN   TestParsePolicy
     sts_test.go:90: pol1: &{Version:STSv1 Mode:enforce MXs:[*.mail.example.com] MaxAge:34h17m36s}
 --- PASS: TestParsePolicy (0.00s)
 === RUN   TestCheckPolicy
 --- PASS: TestCheckPolicy (0.00s)
 === RUN   TestMatchDomain
---- PASS: TestMatchDomain (0.01s)
+--- PASS: TestMatchDomain (0.00s)
 === RUN   TestMXIsAllowed
 --- PASS: TestMXIsAllowed (0.00s)
 === RUN   TestFetch
@@ -2371,16 +2407,16 @@
 --- PASS: TestFetch (0.01s)
 === RUN   TestPolicyTooBig
     sts_test.go:242: got error as expected: MTA-STS TXT record missing
---- PASS: TestPolicyTooBig (0.14s)
+--- PASS: TestPolicyTooBig (0.03s)
 === RUN   TestCacheBasics
-    testlib.go:32: test directory: "/tmp/testlib_3723273704"
+    testlib.go:32: test directory: "/tmp/testlib_1321711281"
     sts_test.go:277: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
     sts_test.go:286: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
     sts_test.go:300: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
     sts_test.go:309: cache fetched domErr: <nil>
 --- PASS: TestCacheBasics (0.00s)
 === RUN   TestCacheBadData
-    testlib.go:32: test directory: "/tmp/testlib_4089384058"
+    testlib.go:32: test directory: "/tmp/testlib_3074643416"
     sts_test.go:349: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
     sts_test.go:363: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
     sts_test.go:372: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
@@ -2389,13 +2425,13 @@
     sts_test.go:372: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
 --- PASS: TestCacheBadData (0.00s)
 === RUN   TestCacheRefresh
-    testlib.go:32: test directory: "/tmp/testlib_383262986"
+    testlib.go:32: test directory: "/tmp/testlib_3749081603"
     sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s}
     sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s}
     sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 3m20s}
 --- PASS: TestCacheRefresh (0.01s)
 === RUN   TestCacheSlashSafe
-    testlib.go:32: test directory: "/tmp/testlib_3904078014"
+    testlib.go:32: test directory: "/tmp/testlib_1658031575"
     sts_test.go:464: recovered: domain contains slash
 --- PASS: TestCacheSlashSafe (0.00s)
 === RUN   TestURLForDomain
@@ -2405,9 +2441,9 @@
 === RUN   TestHTTPGet
 --- PASS: TestHTTPGet (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/sts	0.220s
+ok  	blitiri.com.ar/go/chasquid/internal/sts	0.078s
 === RUN   TestBasic
-    testlib.go:32: test directory: "/tmp/testlib_2540484454"
+    testlib.go:32: test directory: "/tmp/testlib_688927438"
 --- PASS: TestBasic (0.00s)
 === RUN   TestRemoveCheck
     testlib_test.go:33: recovered: invalid/dangerous directory
@@ -2418,55 +2454,55 @@
     testlib_test.go:60: recovered: invalid/dangerous path
 --- PASS: TestRewriteSafeguard (0.00s)
 === RUN   TestRewrite
-    testlib.go:32: test directory: "/tmp/testlib_1179166464"
+    testlib.go:32: test directory: "/tmp/testlib_2616372450"
 --- PASS: TestRewrite (0.00s)
 === RUN   TestGetFreePort
 --- PASS: TestGetFreePort (0.00s)
 === RUN   TestWaitFor
 --- PASS: TestWaitFor (0.02s)
 === RUN   TestGenerateCert
-    testlib.go:32: test directory: "/tmp/testlib_1958465629"
---- PASS: TestGenerateCert (0.05s)
+    testlib.go:32: test directory: "/tmp/testlib_1563820797"
+--- PASS: TestGenerateCert (0.11s)
 === RUN   TestGenerateCertBadDir
---- PASS: TestGenerateCertBadDir (0.05s)
+--- PASS: TestGenerateCertBadDir (0.15s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/testlib	0.156s
+ok  	blitiri.com.ar/go/chasquid/internal/testlib	0.305s
 === RUN   TestVersionName
 --- PASS: TestVersionName (0.00s)
 === RUN   TestCipherSuiteName
 --- PASS: TestCipherSuiteName (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/tlsconst	0.032s
+ok  	blitiri.com.ar/go/chasquid/internal/tlsconst	0.011s
 ?   	blitiri.com.ar/go/chasquid/internal/trace	[no test files]
 === RUN   TestEmptyLoad
-    userdb_test.go:37: file: "/tmp/userdb_test2260804695"
-    userdb_test.go:37: file: "/tmp/userdb_test216764619"
+    userdb_test.go:37: file: "/tmp/userdb_test4117337368"
+    userdb_test.go:37: file: "/tmp/userdb_test3098966926"
 --- PASS: TestEmptyLoad (0.00s)
 === RUN   TestWrite
-    userdb_test.go:37: file: "/tmp/userdb_test1361954450"
---- PASS: TestWrite (0.80s)
+    userdb_test.go:37: file: "/tmp/userdb_test896855018"
+--- PASS: TestWrite (0.46s)
 === RUN   TestNew
---- PASS: TestNew (0.10s)
+--- PASS: TestNew (0.06s)
 === RUN   TestInvalidUsername
-    userdb_test.go:37: file: "/tmp/userdb_test796812920"
+    userdb_test.go:37: file: "/tmp/userdb_test3906847109"
 --- PASS: TestInvalidUsername (0.00s)
 === RUN   TestPlainScheme
-    userdb_test.go:37: file: "/tmp/userdb_test3749738772"
+    userdb_test.go:37: file: "/tmp/userdb_test62646432"
 --- PASS: TestPlainScheme (0.00s)
 === RUN   TestDeniedScheme
-    userdb_test.go:37: file: "/tmp/userdb_test3194640238"
+    userdb_test.go:37: file: "/tmp/userdb_test1655007170"
 --- PASS: TestDeniedScheme (0.00s)
 === RUN   TestReload
-    userdb_test.go:37: file: "/tmp/userdb_test4109101285"
+    userdb_test.go:37: file: "/tmp/userdb_test2029650761"
 --- PASS: TestReload (0.00s)
 === RUN   TestRemoveUser
-    userdb_test.go:37: file: "/tmp/userdb_test3440270709"
---- PASS: TestRemoveUser (0.10s)
+    userdb_test.go:37: file: "/tmp/userdb_test250974904"
+--- PASS: TestRemoveUser (0.05s)
 === RUN   TestExists
-    userdb_test.go:37: file: "/tmp/userdb_test882411530"
---- PASS: TestExists (0.10s)
+    userdb_test.go:37: file: "/tmp/userdb_test633767425"
+--- PASS: TestExists (0.07s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/userdb	1.148s
+ok  	blitiri.com.ar/go/chasquid/internal/userdb	0.649s
    create-stamp debian/debhelper-build-stamp
    dh_testroot -O--buildsystem=golang
    dh_prep -O--buildsystem=golang
@@ -2520,8 +2556,8 @@
 dpkg-gencontrol: warning: package chasquid: substitution variable ${misc:Static-Built-Using} unused, but is defined
    dh_md5sums -O--buildsystem=golang
    dh_builddeb -O--buildsystem=golang
-dpkg-deb: building package 'chasquid' in '../chasquid_1.15.0-1_arm64.deb'.
 dpkg-deb: building package 'chasquid-dbgsym' in '../chasquid-dbgsym_1.15.0-1_arm64.deb'.
+dpkg-deb: building package 'chasquid' in '../chasquid_1.15.0-1_arm64.deb'.
  dpkg-genbuildinfo --build=binary -O../chasquid_1.15.0-1_arm64.buildinfo
  dpkg-genchanges --build=binary -O../chasquid_1.15.0-1_arm64.changes
 dpkg-genchanges: info: binary-only upload (no source code included)
@@ -2529,12 +2565,14 @@
 dpkg-buildpackage: info: binary-only upload (no source included)
 dpkg-genchanges: info: including full source code in upload
 I: copying local configuration
+I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/B01_cleanup finished
 I: unmounting dev/ptmx filesystem
 I: unmounting dev/pts filesystem
 I: unmounting dev/shm filesystem
 I: unmounting proc filesystem
 I: unmounting sys filesystem
 I: cleaning the build env 
-I: removing directory /srv/workspace/pbuilder/1129072 and its subdirectories
-I: Current time: Wed Mar  5 06:34:31 -12 2025
-I: pbuilder-time-stamp: 1741199671
+I: removing directory /srv/workspace/pbuilder/3396088 and its subdirectories
+I: Current time: Wed Apr  8 14:59:01 +14 2026
+I: pbuilder-time-stamp: 1775609941