Diff of the two buildlogs:

--
--- b1/build.log	2025-03-03 00:11:43.178964105 +0000
+++ b2/build.log	2025-03-03 00:13:26.866273232 +0000
@@ -1,6 +1,6 @@
 I: pbuilder: network access will be disabled during build
-I: Current time: Sat Apr  4 18:28:15 -12 2026
-I: pbuilder-time-stamp: 1775370495
+I: Current time: Mon Mar  3 14:11:45 +14 2025
+I: pbuilder-time-stamp: 1740960705
 I: Building the build Environment
 I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
 I: copying local configuration
@@ -24,51 +24,83 @@
 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/4070240/tmp/hooks/D02_print_environment starting
+I: user script /srv/workspace/pbuilder/2625174/tmp/hooks/D01_modify_environment starting
+debug: Running on infom01-amd64.
+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 Mar  3 00:11 /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/2625174/tmp/hooks/D01_modify_environment finished
+I: user script /srv/workspace/pbuilder/2625174/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='amd64'
-  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]="x86_64-pc-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=amd64
+  DEBIAN_FRONTEND=noninteractive
   DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 '
-  DISTRIBUTION='unstable'
-  HOME='/root'
-  HOST_ARCH='amd64'
+  DIRSTACK=()
+  DISTRIBUTION=unstable
+  EUID=0
+  FUNCNAME=([0]="Echo" [1]="main")
+  GROUPS=()
+  HOME=/root
+  HOSTNAME=i-capture-the-hostname
+  HOSTTYPE=x86_64
+  HOST_ARCH=amd64
   IFS=' 	
   '
-  INVOCATION_ID='2ba34ce22fe34d2da2e0ff95e86b33a0'
-  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='4070240'
-  PS1='# '
-  PS2='> '
+  INVOCATION_ID=0c7e9dce7b694f14895dfec67c07c185
+  LANG=C
+  LANGUAGE=et_EE:et
+  LC_ALL=C
+  MACHTYPE=x86_64-pc-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=2625174
   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.Y3eHcbi9/pbuilderrc_3fyx --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Y3eHcbi9/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'
+  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.Y3eHcbi9/pbuilderrc_PZ22 --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.Y3eHcbi9/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'
 I: uname -a
-  Linux infom02-amd64 6.12.9+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.9-1~bpo12+1 (2025-01-19) x86_64 GNU/Linux
+  Linux i-capture-the-hostname 6.1.0-31-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux
 I: ls -l /bin
-  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
-I: user script /srv/workspace/pbuilder/4070240/tmp/hooks/D02_print_environment finished
+  lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin
+I: user script /srv/workspace/pbuilder/2625174/tmp/hooks/D02_print_environment finished
  -> Attempting to satisfy build-dependencies
  -> Creating pbuilder-satisfydepends-dummy package
 Package: pbuilder-satisfydepends-dummy
@@ -172,7 +204,7 @@
 Get: 44 http://deb.debian.org/debian unstable/main amd64 golang-blitiri-go-log-dev all 1.1.0-1 [6724 B]
 Get: 45 http://deb.debian.org/debian unstable/main amd64 golang-blitiri-go-spf-dev all 1.5.1-1 [37.2 kB]
 Get: 46 http://deb.debian.org/debian unstable/main amd64 golang-blitiri-go-systemd-dev all 1.1.0-1 [6952 B]
-Fetched 77.6 MB in 3s (26.1 MB/s)
+Fetched 77.6 MB in 1s (130 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 ... 19778 files and directories currently installed.)
@@ -371,7 +403,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/2625174/tmp/hooks/A99_set_merged_usr starting
+Not re-configuring usrmerge for unstable
+I: user script /srv/workspace/pbuilder/2625174/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
@@ -392,30 +428,30 @@
 make[1]: Entering directory '/build/reproducible-path/chasquid-1.15.0'
 dh_auto_build -- -ldflags " -X main.version=1.15.0-1 -X main.sourceDateTs=1737288581"
 	cd obj-x86_64-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/coverage/rtcov
-internal/goarch
-internal/byteorder
+internal/godebugs
 encoding
-internal/unsafeheader
+internal/goarch
+internal/goos
 internal/asan
-internal/godebugs
+internal/coverage/rtcov
+internal/unsafeheader
+internal/byteorder
 internal/goexperiment
 internal/profilerecord
-internal/goos
-internal/msan
+internal/runtime/atomic
 internal/cpu
+internal/msan
+internal/runtime/syscall
+internal/runtime/math
 cmp
-internal/runtime/atomic
+internal/runtime/sys
 internal/itoa
-internal/runtime/syscall
 math/bits
+internal/abi
 unicode/utf8
-internal/runtime/math
 internal/chacha8rand
-internal/abi
 sync/atomic
 unicode
-internal/runtime/sys
 log/internal
 internal/nettrace
 google.golang.org/protobuf/internal/flags
@@ -424,242 +460,242 @@
 container/ring
 container/list
 crypto/internal/fips140/alias
+internal/bytealg
 internal/runtime/exithook
+math
 crypto/internal/fips140deps/byteorder
 crypto/internal/boring/sig
+crypto/internal/fips140/subtle
+crypto/internal/fips140deps/cpu
 vendor/golang.org/x/crypto/cryptobyte/asn1
 vendor/golang.org/x/crypto/internal/alias
-internal/bytealg
-math
-crypto/internal/fips140deps/cpu
 blitiri.com.ar/go/chasquid/internal/set
-crypto/internal/fips140/subtle
 internal/stringslite
 internal/race
-internal/sync
 internal/runtime/maps
+internal/sync
 runtime
-iter
-internal/reflectlite
-weak
 crypto/subtle
+weak
+iter
 sync
+internal/reflectlite
 maps
 slices
+errors
+sort
 internal/bisect
-internal/singleflight
-internal/testlog
 unique
+internal/testlog
+internal/singleflight
 google.golang.org/protobuf/internal/pragma
 runtime/cgo
-errors
-internal/godebug
 internal/oserror
-io
 vendor/golang.org/x/net/dns/dnsmessage
-sort
-path
-math/rand
-strconv
-crypto/internal/fips140deps/godebug
-hash
 math/rand/v2
+strconv
+io
+path
+internal/godebug
+syscall
 strings
-reflect
 net/netip
+reflect
+math/rand
+crypto/internal/randutil
 bytes
 golang.org/x/text/internal/tag
-syscall
+hash
+crypto/internal/fips140deps/godebug
 hash/fnv
 hash/crc32
 crypto
-crypto/internal/randutil
-golang.org/x/text/transform
-vendor/golang.org/x/text/transform
 html
-bufio
-regexp/syntax
 crypto/internal/impl
-crypto/internal/fips140
 net/http/internal/ascii
+regexp/syntax
+crypto/internal/fips140
+bufio
+vendor/golang.org/x/text/transform
+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
-crypto/sha3
+time
+internal/syscall/unix
+internal/syscall/execenv
 crypto/internal/fips140/hmac
-crypto/internal/fips140hash
+crypto/sha3
 crypto/internal/fips140/check
+regexp
+crypto/internal/fips140hash
+crypto/internal/fips140/aes
+crypto/internal/fips140/nistec/fiat
 crypto/internal/fips140/edwards25519/field
+crypto/internal/fips140/bigmod
 crypto/internal/fips140/hkdf
 crypto/internal/fips140/tls12
-crypto/internal/fips140/bigmod
-crypto/internal/fips140/aes
-crypto/internal/fips140/nistec/fiat
-regexp
-time
-internal/syscall/unix
-internal/syscall/execenv
 crypto/internal/fips140/tls13
 crypto/internal/fips140/edwards25519
-crypto/internal/fips140/nistec
-context
 io/fs
 internal/poll
+context
+crypto/internal/fips140/nistec
 internal/filepathlite
 embed
+google.golang.org/protobuf/internal/editiondefaults
 internal/fmtsort
 encoding/binary
-google.golang.org/protobuf/internal/editiondefaults
 os
-vendor/golang.org/x/crypto/internal/poly1305
 encoding/base64
+vendor/golang.org/x/crypto/internal/poly1305
 golang.org/x/sys/unix
 encoding/pem
+google.golang.org/protobuf/internal/detrand
+fmt
 blitiri.com.ar/go/chasquid/internal/safeio
 crypto/internal/sysrand
-google.golang.org/protobuf/internal/detrand
-vendor/golang.org/x/sys/cpu
+internal/sysinfo
 path/filepath
 os/signal
-fmt
-internal/sysinfo
+vendor/golang.org/x/sys/cpu
+net
 crypto/internal/entropy
-os/exec
 crypto/internal/fips140/drbg
+os/exec
 crypto/internal/fips140only
 crypto/internal/fips140/ecdh
+crypto/internal/fips140/mlkem
 crypto/internal/fips140/aes/gcm
+crypto/internal/fips140/rsa
 crypto/internal/fips140/ecdsa
 crypto/internal/fips140/ed25519
-crypto/internal/fips140/mlkem
-crypto/internal/fips140/rsa
 crypto/md5
 crypto/rc4
-golang.org/x/term
+crypto/cipher
+flag
 log
 google.golang.org/protobuf/internal/errors
 go/token
 compress/flate
-flag
-encoding/json
-google.golang.org/protobuf/encoding/protowire
 google.golang.org/protobuf/internal/version
 net/url
+encoding/json
 text/template/parse
 math/big
+google.golang.org/protobuf/encoding/protowire
+crypto/internal/boring
+crypto/des
+crypto/aes
+crypto/ecdh
+crypto/sha512
+crypto/hmac
 google.golang.org/protobuf/reflect/protoreflect
+vendor/golang.org/x/crypto/chacha20
+crypto/sha1
+compress/gzip
+crypto/sha256
 encoding/hex
-crypto/cipher
-vendor/golang.org/x/text/unicode/norm
 vendor/golang.org/x/text/unicode/bidi
+vendor/golang.org/x/text/unicode/norm
+vendor/golang.org/x/crypto/chacha20poly1305
 vendor/golang.org/x/net/http2/hpack
 mime
-compress/gzip
 mime/quotedprintable
-net
-net/http/internal
 text/template
+net/http/internal
 blitiri.com.ar/go/chasquid/internal/envelope
 golang.org/x/text/unicode/bidi
 golang.org/x/text/unicode/norm
 golang.org/x/text/internal/language
-crypto/internal/boring
-crypto/aes
-crypto/des
-crypto/ecdh
-crypto/sha512
-crypto/hmac
-vendor/golang.org/x/crypto/chacha20
-crypto/sha1
-crypto/sha256
+blitiri.com.ar/go/chasquid/internal/tlsconst
 google.golang.org/protobuf/internal/encoding/messageset
 google.golang.org/protobuf/internal/strs
 google.golang.org/protobuf/internal/genid
 google.golang.org/protobuf/internal/order
+google.golang.org/protobuf/reflect/protoregistry
+google.golang.org/protobuf/internal/encoding/text
 google.golang.org/protobuf/runtime/protoiface
 google.golang.org/protobuf/internal/descfmt
 google.golang.org/protobuf/internal/descopts
-google.golang.org/protobuf/internal/encoding/text
-crypto/rand
 google.golang.org/protobuf/internal/protolazy
-google.golang.org/protobuf/reflect/protoregistry
-crypto/internal/boring/bbig
-html/template
-crypto/elliptic
-encoding/asn1
-vendor/golang.org/x/crypto/chacha20poly1305
-crypto/dsa
-crypto/ed25519
-crypto/rsa
+google.golang.org/protobuf/proto
 vendor/golang.org/x/text/secure/bidirule
 golang.org/x/text/secure/bidirule
-vendor/golang.org/x/net/idna
 golang.org/x/text/internal/language/compact
 google.golang.org/protobuf/internal/encoding/defval
-blitiri.com.ar/go/chasquid/internal/tlsconst
-google.golang.org/protobuf/proto
-golang.org/x/net/idna
 golang.org/x/crypto/pbkdf2
-internal/profile
-golang.org/x/crypto/scrypt
 text/tabwriter
-crypto/internal/hpke
-golang.org/x/text/language
 runtime/trace
+internal/profile
+golang.org/x/crypto/scrypt
+golang.org/x/net/idna
 runtime/debug
+crypto/elliptic
+crypto/rand
+crypto/internal/boring/bbig
+encoding/asn1
+crypto/dsa
+html/template
+golang.org/x/text/language
+vendor/golang.org/x/net/idna
+crypto/ed25519
+crypto/internal/hpke
+crypto/rsa
+google.golang.org/protobuf/encoding/prototext
+google.golang.org/protobuf/internal/filedesc
+runtime/pprof
+golang.org/x/term
+testing
 vendor/golang.org/x/crypto/cryptobyte
 crypto/x509/pkix
-runtime/pprof
-google.golang.org/protobuf/internal/filedesc
-google.golang.org/protobuf/encoding/prototext
 golang.org/x/text/internal
-crypto/ecdsa
 golang.org/x/text/cases
-testing
 blitiri.com.ar/go/chasquid/internal/protoio
+crypto/ecdsa
 golang.org/x/text/secure/precis
 google.golang.org/protobuf/internal/encoding/tag
-blitiri.com.ar/go/chasquid/internal/normalize
 google.golang.org/protobuf/internal/impl
-google.golang.org/protobuf/internal/filetype
-google.golang.org/protobuf/runtime/protoimpl
-blitiri.com.ar/go/chasquid/internal/userdb
-blitiri.com.ar/go/chasquid/internal/protoio/testpb
+blitiri.com.ar/go/chasquid/internal/normalize
 log/syslog
-blitiri.com.ar/go/spf
-blitiri.com.ar/go/systemd
-vendor/golang.org/x/net/http/httpproxy
 blitiri.com.ar/go/chasquid/internal/haproxy
+vendor/golang.org/x/net/http/httpproxy
 net/textproto
+blitiri.com.ar/go/systemd
+blitiri.com.ar/go/spf
 crypto/x509
 blitiri.com.ar/go/log
 vendor/golang.org/x/net/http/httpguts
-blitiri.com.ar/go/chasquid/internal/dovecot
 net/mail
-mime/multipart
+blitiri.com.ar/go/chasquid/internal/dovecot
 blitiri.com.ar/go/chasquid/cmd/mda-lmtp
-blitiri.com.ar/go/chasquid/internal/config
+mime/multipart
 blitiri.com.ar/go/chasquid/internal/dkim
 crypto/tls
+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/protoio/testpb
+blitiri.com.ar/go/chasquid/internal/userdb
 net/http/httptrace
-blitiri.com.ar/go/chasquid/internal/testlib
 net/smtp
+blitiri.com.ar/go/chasquid/internal/testlib
 net/http
 blitiri.com.ar/go/chasquid/internal/smtp
-golang.org/x/net/context/ctxhttp
 expvar
 blitiri.com.ar/go/chasquid/internal/nettrace
 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/auth
 blitiri.com.ar/go/chasquid/internal/localrpc
 blitiri.com.ar/go/chasquid/internal/maillog
-blitiri.com.ar/go/chasquid/internal/auth
-blitiri.com.ar/go/chasquid/cmd/chasquid-util
 blitiri.com.ar/go/chasquid/internal/expvarom
+blitiri.com.ar/go/chasquid/cmd/chasquid-util
 blitiri.com.ar/go/chasquid/internal/sts
 blitiri.com.ar/go/chasquid/internal/aliases
 blitiri.com.ar/go/chasquid/internal/courier
@@ -719,7 +755,7 @@
     --- PASS: FuzzReader/c9c80ba9f513841cb081fe9bb7439d36f9f7a06bb999d4c39441991ccc878a9e (0.00s)
     --- PASS: FuzzReader/d40a98862ed393eb712e47a91bcef18e6f24cf368bb4bd248c7a7101ef8e178d (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/aliases	0.018s
+ok  	blitiri.com.ar/go/chasquid/internal/aliases	0.012s
 === 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
@@ -732,7 +768,7 @@
     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.34s)
+--- PASS: TestAuthenticate (0.29s)
 === RUN   TestInterfaces
 --- PASS: TestInterfaces (0.00s)
 === RUN   TestMultipleBackends
@@ -765,27 +801,27 @@
     --- PASS: FuzzDecodeResponse/d9aa9c617d1f5b3021aca758b9d896d136e3b16ed53233d02abffd02aa73ffa4 (0.00s)
     --- PASS: FuzzDecodeResponse/de05c7993312bab83e8114e9d9ced331c49822dc55c1a353f1cc9718a28226e7 (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/auth	0.535s
+ok  	blitiri.com.ar/go/chasquid/internal/auth	0.476s
 === RUN   TestEmptyStruct
 --- PASS: TestEmptyStruct (0.00s)
 === RUN   TestEmptyConfig
-    testlib.go:32: test directory: "/tmp/testlib_1690792425"
+    testlib.go:32: test directory: "/tmp/testlib_1486611368"
 --- PASS: TestEmptyConfig (0.00s)
 === RUN   TestFullConfig
-    testlib.go:32: test directory: "/tmp/testlib_4137874152"
+    testlib.go:32: test directory: "/tmp/testlib_581462393"
 --- PASS: TestFullConfig (0.00s)
 === RUN   TestErrorLoading
 --- PASS: TestErrorLoading (0.00s)
 === RUN   TestBrokenConfig
-    testlib.go:32: test directory: "/tmp/testlib_762464091"
+    testlib.go:32: test directory: "/tmp/testlib_3474621733"
 --- PASS: TestBrokenConfig (0.00s)
 === RUN   TestBrokenOverride
-    testlib.go:32: test directory: "/tmp/testlib_535930614"
+    testlib.go:32: test directory: "/tmp/testlib_3881512453"
 --- PASS: TestBrokenOverride (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/config	0.009s
+ok  	blitiri.com.ar/go/chasquid/internal/config	0.006s
 === RUN   TestMDA
-    testlib.go:32: test directory: "/tmp/testlib_1254451203"
+    testlib.go:32: test directory: "/tmp/testlib_1604693560"
 --- PASS: TestMDA (0.00s)
 === RUN   TestMDATimeout
 _ mda.go:73          Courier.MDA to@local: error: operation timed out
@@ -800,10 +836,10 @@
 === RUN   TestSanitize
 --- PASS: TestSanitize (0.00s)
 === RUN   TestSMTP
-    testlib.go:32: test directory: "/tmp/testlib_2163946685"
-    testlib.go:32: test directory: "/tmp/testlib_3291588898"
-_ smtp.go:127        Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::34083: too many colons in address
-_ smtp.go:101        Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::34083: too many colons in address
+    testlib.go:32: test directory: "/tmp/testlib_3859564259"
+    testlib.go:32: test directory: "/tmp/testlib_3280302221"
+_ smtp.go:127        Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::38689: too many colons in address
+_ smtp.go:101        Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::38689: 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>"
@@ -811,26 +847,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.09s)
+--- PASS: TestSMTP (0.05s)
 === RUN   TestSMTPErrors
-    testlib.go:32: test directory: "/tmp/testlib_738665481"
-    testlib.go:32: test directory: "/tmp/testlib_1877433957"
+    testlib.go:32: test directory: "/tmp/testlib_3235871411"
+    testlib.go:32: test directory: "/tmp/testlib_1119294291"
     fakeserver_test.go:98: fakeServer got connection
-_ smtp.go:138        Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:37512->127.0.0.1:33821: 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:37512->127.0.0.1:33821: 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:37512->127.0.0.1:33821: i/o timeout)
+_ smtp.go:138        Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:48596->127.0.0.1:39251: 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:48596->127.0.0.1:39251: 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:48596->127.0.0.1:39251: 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:48596->127.0.0.1:39251: i/o timeout)
     fakeserver_test.go:105: fakeServer exiting: EOF
-    smtp_test.go:140: failed as expected: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:37512->127.0.0.1:33821: i/o timeout)
-    testlib.go:32: test directory: "/tmp/testlib_1197338119"
-    testlib.go:32: test directory: "/tmp/testlib_2059564267"
+    testlib.go:32: test directory: "/tmp/testlib_2428125453"
+    testlib.go:32: test directory: "/tmp/testlib_2058599128"
     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_4003485821"
-    testlib.go:32: test directory: "/tmp/testlib_2504688963"
+    testlib.go:32: test directory: "/tmp/testlib_393796331"
+    testlib.go:32: test directory: "/tmp/testlib_1591096790"
     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>"
@@ -838,8 +874,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_3467525263"
-    testlib.go:32: test directory: "/tmp/testlib_27654168"
+    testlib.go:32: test directory: "/tmp/testlib_298956314"
+    testlib.go:32: test directory: "/tmp/testlib_1550894657"
     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: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_777423632"
-    testlib.go:32: test directory: "/tmp/testlib_3348826182"
+    testlib.go:32: test directory: "/tmp/testlib_635398547"
+    testlib.go:32: test directory: "/tmp/testlib_256257335"
     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,9 +894,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.19s)
+--- PASS: TestSMTPErrors (1.15s)
 === RUN   TestNoMXServer
-    testlib.go:32: test directory: "/tmp/testlib_2777506204"
+    testlib.go:32: test directory: "/tmp/testlib_193944922"
 _ 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)
@@ -875,8 +911,8 @@
 === RUN   TestLookupInvalidDomain
 --- PASS: TestLookupInvalidDomain (0.00s)
 === RUN   TestTLS
-    testlib.go:32: test directory: "/tmp/testlib_3124571906"
-    testlib.go:32: test directory: "/tmp/testlib_499841559"
+    testlib.go:32: test directory: "/tmp/testlib_3758891623"
+    testlib.go:32: test directory: "/tmp/testlib_1348295453"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "STARTTLS"
@@ -887,7 +923,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_4219429585"
+    testlib.go:32: test directory: "/tmp/testlib_1759347035"
     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
@@ -895,10 +931,10 @@
 _ 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.20s)
+--- PASS: TestTLS (0.09s)
 === RUN   TestTLSError
-    testlib.go:32: test directory: "/tmp/testlib_237696273"
-    testlib.go:32: test directory: "/tmp/testlib_753761984"
+    testlib.go:32: test directory: "/tmp/testlib_4250001166"
+    testlib.go:32: test directory: "/tmp/testlib_3833256376"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "STARTTLS"
@@ -911,10 +947,10 @@
     fakeserver_test.go:109: fakeServer read: "DATA"
     fakeserver_test.go:109: fakeServer read: "QUIT"
     fakeserver_test.go:105: fakeServer exiting: EOF
---- PASS: TestTLSError (0.04s)
+--- PASS: TestTLSError (0.06s)
 === RUN   TestSTSPolicyEnforcement
-    testlib.go:32: test directory: "/tmp/testlib_3843825245"
-    testlib.go:32: test directory: "/tmp/testlib_4185416369"
+    testlib.go:32: test directory: "/tmp/testlib_3187576240"
+    testlib.go:32: test directory: "/tmp/testlib_3975801184"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "STARTTLS"
@@ -922,7 +958,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_2513470339"
+    testlib.go:32: test directory: "/tmp/testlib_2169695677"
     fakeserver_test.go:98: fakeServer got connection
     fakeserver_test.go:109: fakeServer read: "EHLO hello"
     fakeserver_test.go:109: fakeServer read: "STARTTLS"
@@ -935,7 +971,7 @@
     fakeserver_test.go:105: fakeServer exiting: EOF
 --- PASS: TestSTSPolicyEnforcement (0.10s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/courier	1.736s
+ok  	blitiri.com.ar/go/chasquid/internal/courier	1.566s
 === RUN   TestStringToCanonicalization
 --- PASS: TestStringToCanonicalization (0.00s)
 === RUN   TestSimpleBody
@@ -971,7 +1007,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:2 Valid:2 Results:[0xc000225ec0 0xc000225f20]}
+    file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0xc000227ec0 0xc000227f20]}
     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;
@@ -1175,7 +1211,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:[0xc0002b6000 0xc0002b6060]}
+    file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0xc0002b8000 0xc0002b8060]}
     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;
@@ -1209,7 +1245,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:[0xc0002b66c0 0xc0002b6720]}
+    file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0xc0002b86c0 0xc0002b8720]}
     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;
@@ -1256,7 +1292,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:[0xc0002b6e40 0xc0002b6ea0 0xc0002b6f00]}
+    file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0xc0002b8e40 0xc0002b8ea0 0xc0002b8f00]}
     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;
@@ -1316,7 +1352,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:[0xc0002b76e0 0xc0002b7740 0xc0002b77a0]}
+    file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0xc0002b96e0 0xc0002b9740 0xc0002b97a0]}
     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;
@@ -1478,18 +1514,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=1775370853; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
-    context.go:17: Resulting hash: "8d1LGcZ3GzA17gyqd+J40ycR/M0s7AK/S1JtyJFU1FQ="
+    context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1740960788; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
+    context.go:17: Resulting hash: "sqOUWeMbB6/dATALrSzGRyG04ixnDJLmjQBH3dBIbxc="
     context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
-        	d=example.com; s=test; t=1775370853;
+        	d=example.com; s=test; t=1740960788;
         	h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id;
         	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
-        	b=NMM6oZVUeZdRwNtPfMf8+xz0aRd3szixaY3KFZNCa8Y0VET+xulyzAMsE9KokLa8Ci0vtv
-        	  BcrlAqBsv6Kmd2x6iagX5SXD+MoiRBC6Pwzg9Ob7z3Dxk3UaWMJrxbrmSgS/cZLWR35XB8
-        	  RMjn2apqM3xdb+7osojcrF/IlKMINGZYq7c95iNE3y0Ue4PFUuqs2OO8G5vHZtnIlc5Irn
-        	  0+DKlQvR3bIAlFMxqa/76nO2hrSVneYVf9tmRB1RJWKk7lu8adVZGhYFZPh+atza2uP3Vj
-        	  2tKdsZvxRMAoD8Yq9YKwhPjCgGlqreTzPa06Ww1NZR91oWWYonJrmrrcgCspxw==;
-    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsj8ZkqH5adg8Q/f4Vxh/RwOypBRA5l29ICKqdPD+vlUGndaLgiQaQ1tvkhkbk5VkyiZ88rAFWQfIpE2998FYhpoPtO7L0WZxRu4uTqvkikCWFyRTBJeW0zrfPHyzRbZxcDHZvjYMKM8M64CLxivhDFEzC2uTknseFaDJTB2Bp5+JO+lbhl7HoE7LL6wmxRyYysysjD1TO71jewucVmTZLGoDHIrzzwK/K91ERvdazn523QwhswH1i+8ImE3cGjjm7bqEa5suO5WL53bijY1A37dLrljotKQCMWYgeJf4YV1iXanscPTOp5tnpDgW20CubkK3vEtKaLRDldqR9oq2jQIDAQAB"
+        	b=P4kx6LAERhecCQ5IHf7uEbp/p66N0c40Lsu8C9c3aZiAcVGyKkW53jSx6EVzdphYR7eolx
+        	  s3iOjFqYhZdwAh9S5fpkxscU4E5tKMYX0dfb5CHAIwAAJBGUB5uxxBsghb7QMKggxxXIwA
+        	  zbHJuY47mfceA6yp1Ehu6E5jmebU5ej78r9JO152zlZgiRvLwx8va6BOq7wAbt1N+RROJP
+        	  /KFOKv6nuoj3xp38EgB8TYGE2m3SewmNUY2KNEVAsn9w2G1Z5pj/hOLdje2ZKUsZosyLA/
+        	  7Muu/kT/4IvKHRzCVKdJsTfxNAMfkTWto+X0ZsGWRKu4srmNUGGd9NMewHxcgQ==;
+    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqGAD4YVOgymTQzVsfUlGRFE+QH28ODnxS1eUFVJwCwemwaqJfkHz3qcctE/rxIb+qR/rJAaVyjCrAaNyERuPWhWNNqs9brVIqdiwnkjlerpX7A3vaGW3+iE0HhIHQOlzqKYI3RHCtabNtGxlFQD7kJVLPCnWmfL6toNhemh6OB5ijRdjIhiDL3GeTamAzRye0Agij3ll/gougtmYaKtcL1kolvxUirJTvjPd/RsgwAlHUEkRdl7ow0DnbLZ4yZOV2FwCu3ZeAAWp6B3jvtdCMHCZehTCjPQe0a5eAcDKnjMF/Njc5tSgZDlRHTwqIIEbJHXtMScyoZ9LoPh6aq/vAwIDAQAB"
     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"
@@ -1497,11 +1533,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=1775370853; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
-    context.go:17: Resulting hash: "8d1LGcZ3GzA17gyqd+J40ycR/M0s7AK/S1JtyJFU1FQ="
+    context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1740960788; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
+    context.go:17: Resulting hash: "sqOUWeMbB6/dATALrSzGRyG04ixnDJLmjQBH3dBIbxc="
     context.go:17: PK [rsa:30820122300d0609]: Verification succeeded
     context.go:17: Found 1 signatures, 1 valid
---- PASS: TestSignRSA (0.92s)
+--- PASS: TestSignRSA (0.10s)
 === 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"
@@ -1509,25 +1545,25 @@
     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=1775370853; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
-    context.go:17: Resulting hash: "yrPQSLYZmzLCrWsYVpKoX4vcbwLL07Y2XXlo+RO+r30="
+    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1740960788; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
+    context.go:17: Resulting hash: "rPy6GV4EU0loQHWRJb2pvK0WXEz0oo/ZjP7CjSBkkiU="
     context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
-        	d=example.com; s=test; t=1775370853;
+        	d=example.com; s=test; t=1740960788;
         	h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id;
         	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
-        	b=sArcYgGw/z3LdSjvK07Lep1p5cK+WQ3tWFCje6WbdWe/uxiVgFdY2PHlwoJ+I5V+BNqPbN
-        	  s3tvkXP406KuCRDw==;
-    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=CvRvOloN03ixT5zxbPeuAnK8RIMqY9Tl4qXM2c+X3Jc="
-    context.go:17: Parsed public key: [ed25519:0af46f3a5a0dd378]
+        	b=aza72a2bW7MCq5dJqVsQJYPMDCoPaKXER9fVxUapf5Pxz7K44SLZ2cP/c72XNihoeAkcbt
+        	  eEOUNtX2MQ1NVYCQ==;
+    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=/DXgpoqt2ZwmCxWqiB02cNdoVb1rxY57KSZ2NTjT9CE="
+    context.go:17: Parsed public key: [ed25519:fc35e0a68aadd99c]
     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=1775370853; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
-    context.go:17: Resulting hash: "yrPQSLYZmzLCrWsYVpKoX4vcbwLL07Y2XXlo+RO+r30="
-    context.go:17: PK [ed25519:0af46f3a5a0dd378]: Verification succeeded
+    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1740960788; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
+    context.go:17: Resulting hash: "rPy6GV4EU0loQHWRJb2pvK0WXEz0oo/ZjP7CjSBkkiU="
+    context.go:17: PK [ed25519:fc35e0a68aadd99c]: Verification succeeded
     context.go:17: Found 1 signatures, 1 valid
 --- PASS: TestSignEd25519 (0.00s)
 === RUN   TestSignBadMessage
@@ -1726,25 +1762,25 @@
     --- PASS: FuzzParsePublicKey/seed#12 (0.00s)
     --- PASS: FuzzParsePublicKey/seed#13 (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/dkim	0.947s
+ok  	blitiri.com.ar/go/chasquid/internal/dkim	0.117s
 === RUN   TestBasic
-    testlib.go:32: test directory: "/tmp/testlib_1980120978"
+    testlib.go:32: test directory: "/tmp/testlib_57814348"
 _ 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
 _ domaininfo.go:145  DomainInfo.Outgoing d1: error: d1 outgoing denied: TLS_INSECURE < TLS_SECURE
 _ domaininfo.go:109  DomainInfo.Incoming d1: error: d1 incoming denied: TLS_INSECURE < TLS_SECURE
 _ domaininfo.go:182  DomainInfo.SetToPlain d1: set to plain
---- PASS: TestBasic (0.11s)
+--- PASS: TestBasic (0.00s)
 === RUN   TestNewDomain
-    testlib.go:32: test directory: "/tmp/testlib_752987212"
+    testlib.go:32: test directory: "/tmp/testlib_1569083345"
 _ 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.05s)
+--- PASS: TestNewDomain (0.00s)
 === RUN   TestProgressions
-    testlib.go:32: test directory: "/tmp/testlib_875985149"
+    testlib.go:32: test directory: "/tmp/testlib_1596922702"
 _ 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
@@ -1757,29 +1793,29 @@
 _ domaininfo.go:145  DomainInfo.Outgoing ssip: error: ssip outgoing denied: TLS_INSECURE < TLS_SECURE
 _ domaininfo.go:109  DomainInfo.Incoming ssip: error: ssip incoming denied: PLAIN < TLS_SECURE
 _ domaininfo.go:145  DomainInfo.Outgoing ssip: error: ssip outgoing denied: PLAIN < TLS_SECURE
---- PASS: TestProgressions (0.35s)
+--- PASS: TestProgressions (0.00s)
 === RUN   TestErrors
-    testlib.go:32: test directory: "/tmp/testlib_614819706"
+    testlib.go:32: test directory: "/tmp/testlib_2145042265"
 _ domaininfo.go:117  DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN
 _ domaininfo.go:67   DomainInfo.Reload reload: error: id \"d1\": proto:\u00a0syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents
 _ domaininfo.go:67   DomainInfo.Reload reload: error: id \"d1\": proto:\u00a0syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents
---- PASS: TestErrors (0.10s)
+--- PASS: TestErrors (0.00s)
 === RUN   TestDirectoryErrors
-    testlib.go:32: test directory: "/tmp/testlib_2930275539"
-_ domaininfo.go:59   DomainInfo.Reload reload: error: open /tmp/testlib_2930275539/db: no such file or directory
-_ domaininfo.go:84   DomainInfo.write d1: error: open /tmp/testlib_2930275539/db/.s:d11920911588: no such file or directory
+    testlib.go:32: test directory: "/tmp/testlib_3268871467"
+_ domaininfo.go:59   DomainInfo.Reload reload: error: open /tmp/testlib_3268871467/db: no such file or directory
+_ domaininfo.go:84   DomainInfo.write d1: error: open /tmp/testlib_3268871467/db/.s:d11426857279: no such file or directory
 --- PASS: TestDirectoryErrors (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/domaininfo	0.613s
+ok  	blitiri.com.ar/go/chasquid/internal/domaininfo	0.016s
 === RUN   TestUsernameNotSafe
 --- PASS: TestUsernameNotSafe (0.00s)
 === RUN   TestAutodetect
-    testlib.go:32: test directory: "/tmp/testlib_1208067072"
+    testlib.go:32: test directory: "/tmp/testlib_252098034"
 --- PASS: TestAutodetect (0.00s)
 === RUN   TestReload
 --- PASS: TestReload (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/dovecot	0.006s
+ok  	blitiri.com.ar/go/chasquid/internal/dovecot	0.005s
 === RUN   TestSplit
 --- PASS: TestSplit (0.00s)
 === RUN   TestDomainIn
@@ -1787,13 +1823,13 @@
 === RUN   TestAddHeader
 --- PASS: TestAddHeader (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/envelope	0.003s
+ok  	blitiri.com.ar/go/chasquid/internal/envelope	0.002s
 === RUN   TestHandler
 --- PASS: TestHandler (0.00s)
 === RUN   TestMapLabelAccident
 --- PASS: TestMapLabelAccident (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/expvarom	0.006s
+ok  	blitiri.com.ar/go/chasquid/internal/expvarom	0.004s
 === RUN   TestNoNewline
 --- PASS: TestNoNewline (0.00s)
 === RUN   TestBasic
@@ -1818,21 +1854,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.004s
+ok  	blitiri.com.ar/go/chasquid/internal/haproxy	0.003s
 === RUN   TestBadServer
-    asm_amd64.s:1700: FakeServer &{{0xc000210080}}: accepted 
-    asm_amd64.s:1700: FakeServer &{{0xc000210080}}: readRequest: "" "" / EOF
-    asm_amd64.s:1700: FakeServer &{{0xc000210080}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-232354858/rpc.sock->@: write: broken pipe
-    asm_amd64.s:1700: FakeServer &{{0xc000210080}}: closing
-    asm_amd64.s:1700: FakeServer &{{0xc000210200}}: accepted 
-    asm_amd64.s:1700: FakeServer &{{0xc000210200}}: readRequest: "Echo" "" / <nil>
-    asm_amd64.s:1700: FakeServer &{{0xc000210200}}: writeMessage("xxx"): 3 <nil>
-    asm_amd64.s:1700: FakeServer &{{0xc000210200}}: closing
+    asm_amd64.s:1700: FakeServer &{{0xc000200080}}: accepted 
+    asm_amd64.s:1700: FakeServer &{{0xc000200080}}: readRequest: "" "" / EOF
+    asm_amd64.s:1700: FakeServer &{{0xc000200080}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-1612200511/rpc.sock->@: write: broken pipe
+    asm_amd64.s:1700: FakeServer &{{0xc000200080}}: closing
+    asm_amd64.s:1700: FakeServer &{{0xc000200200}}: accepted 
+    asm_amd64.s:1700: FakeServer &{{0xc000200200}}: readRequest: "Echo" "" / <nil>
+    asm_amd64.s:1700: FakeServer &{{0xc000200200}}: writeMessage("xxx"): 3 <nil>
+    asm_amd64.s:1700: FakeServer &{{0xc000200200}}: closing
 --- PASS: TestBadServer (0.01s)
 === RUN   TestBadSocket
 --- PASS: TestBadSocket (0.00s)
 === RUN   TestEndToEnd
-_ localrpc.go:63     LocalRPC.Server /tmp/rpc-test-1578324434/sock: Listening
+_ localrpc.go:63     LocalRPC.Server /tmp/rpc-test-4041492330/sock: Listening
 === RUN   TestEndToEnd/Echo
 === RUN   TestEndToEnd/Echo#01
 === RUN   TestEndToEnd/Hola
@@ -1840,7 +1876,7 @@
 _ 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-1578324434/sock: error: Accept error: accept unix /tmp/rpc-test-1578324434/sock: use of closed network connection
+_ localrpc.go:67     LocalRPC.Server /tmp/rpc-test-4041492330/sock: error: Accept error: accept unix /tmp/rpc-test-4041492330/sock: use of closed network connection
 --- PASS: TestEndToEnd (0.01s)
     --- PASS: TestEndToEnd/Echo (0.00s)
     --- PASS: TestEndToEnd/Echo#01 (0.00s)
@@ -1855,7 +1891,7 @@
 === RUN   TestShortReadRequest
 --- PASS: TestShortReadRequest (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/localrpc	0.031s
+ok  	blitiri.com.ar/go/chasquid/internal/localrpc	0.027s
 === RUN   TestLogger
 --- PASS: TestLogger (0.00s)
 === RUN   TestDefault
@@ -1863,7 +1899,7 @@
 === RUN   TestFailedLogger
 --- PASS: TestFailedLogger (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/maillog	0.006s
+ok  	blitiri.com.ar/go/chasquid/internal/maillog	0.004s
 === RUN   TestContext
 --- PASS: TestContext (0.00s)
 === RUN   TestHistogramBasic
@@ -1871,13 +1907,13 @@
 === RUN   TestHistogramEmpty
 --- PASS: TestHistogramEmpty (0.00s)
 === RUN   TestHTTP
---- PASS: TestHTTP (0.01s)
+--- PASS: TestHTTP (0.00s)
 === RUN   TestHTTPLong
 --- PASS: TestHTTPLong (0.00s)
 === RUN   TestHTTPErrors
 --- PASS: TestHTTPErrors (0.01s)
 === RUN   TestHTTPUroboro
---- PASS: TestHTTPUroboro (0.01s)
+--- PASS: TestHTTPUroboro (0.00s)
 === RUN   TestHTTPDeep
 --- PASS: TestHTTPDeep (0.00s)
 === RUN   TestStripZeros
@@ -1899,7 +1935,7 @@
 === RUN   TestFindParent
 --- PASS: TestFindParent (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/nettrace	0.035s
+ok  	blitiri.com.ar/go/chasquid/internal/nettrace	0.027s
 === RUN   TestUser
 --- PASS: TestUser (0.00s)
 === RUN   TestDomain
@@ -1959,41 +1995,41 @@
     --- PASS: FuzzDomainToUnicode/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70 (0.00s)
     --- PASS: FuzzDomainToUnicode/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/normalize	0.006s
+ok  	blitiri.com.ar/go/chasquid/internal/normalize	0.003s
 === RUN   TestBin
-    testlib.go:32: test directory: "/tmp/testlib_1567898465"
+    testlib.go:32: test directory: "/tmp/testlib_4143332537"
 --- PASS: TestBin (0.00s)
 === RUN   TestText
-    testlib.go:32: test directory: "/tmp/testlib_71910808"
+    testlib.go:32: test directory: "/tmp/testlib_941911464"
 --- PASS: TestText (0.00s)
 === RUN   TestStore
-    testlib.go:32: test directory: "/tmp/testlib_4183204956"
+    testlib.go:32: test directory: "/tmp/testlib_3148145444"
 --- PASS: TestStore (0.00s)
 === RUN   TestFileErrors
-    testlib.go:32: test directory: "/tmp/testlib_593611598"
+    testlib.go:32: test directory: "/tmp/testlib_1964131619"
 --- PASS: TestFileErrors (0.00s)
 === RUN   TestMarshalErrors
-    testlib.go:32: test directory: "/tmp/testlib_698007945"
+    testlib.go:32: test directory: "/tmp/testlib_2766508577"
 --- PASS: TestMarshalErrors (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/protoio	0.006s
+ok  	blitiri.com.ar/go/chasquid/internal/protoio	0.004s
 ?   	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-b8BRkRbSlYw@dsnDomain>
-        Date: Sun, 05 Apr 2026 06:34:15 +0000
+        Message-ID: <chasquid-dsn-c84U7vrBGWw@dsnDomain>
+        Date: Mon, 03 Mar 2025 00:13:09 +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="ViKDmmliT_0"
+            boundary="Thq-W6Ilvw0"
         
         
-        --ViKDmmliT_0
+        --Thq-W6Ilvw0
         Content-Type: text/plain; charset="utf-8"
         Content-Disposition: inline
         Content-Description: Notification
@@ -2018,7 +2054,7 @@
             oh! the humanity!
         
         
-        --ViKDmmliT_0
+        --Thq-W6Ilvw0
         Content-Type: message/global-delivery-status
         Content-Description: Delivery Report
         Content-Transfer-Encoding: 8bit
@@ -2049,7 +2085,7 @@
         
         
         
-        --ViKDmmliT_0
+        --Thq-W6Ilvw0
         Content-Type: message/rfc822
         Content-Description: Undelivered Message
         Content-Transfer-Encoding: 8bit
@@ -2059,78 +2095,73 @@
         Data ñaca.
         
         
-        --ViKDmmliT_0--
+        --Thq-W6Ilvw0--
         
 --- PASS: TestDSN (0.00s)
 === RUN   TestBasic
-    testlib.go:32: test directory: "/tmp/testlib_1681639816"
-_ queue.go:308       Queue.SendLoop gCO_MBa1Duo: from from
-_ queue.go:367       Queue.SendLoop gCO_MBa1Duo: nodomain sent
-_ queue.go:367       Queue.SendLoop gCO_MBa1Duo: am@loco sent
-_ queue.go:367       Queue.SendLoop gCO_MBa1Duo: x@remote sent
-_ queue.go:342       Queue.SendLoop gCO_MBa1Duo: all done
---- PASS: TestBasic (0.26s)
+    testlib.go:32: test directory: "/tmp/testlib_2341136165"
+_ queue.go:308       Queue.SendLoop JmKz0AqDXAc: from from
+_ queue.go:367       Queue.SendLoop JmKz0AqDXAc: nodomain sent
+_ queue.go:367       Queue.SendLoop JmKz0AqDXAc: am@loco sent
+_ queue.go:367       Queue.SendLoop JmKz0AqDXAc: x@remote sent
+_ queue.go:342       Queue.SendLoop JmKz0AqDXAc: all done
+--- PASS: TestBasic (0.02s)
 === RUN   TestDSNOnTimeout
-    testlib.go:32: test directory: "/tmp/testlib_1975499338"
-_ queue.go:308       Queue.SendLoop lxoukqY_aSw: from from@loco
-_ queue.go:467       Queue.SendLoop lxoukqY_aSw: queued DSN: s5qHR4pjeq0
-_ queue.go:342       Queue.SendLoop lxoukqY_aSw: all done
-_ queue.go:308       Queue.SendLoop s5qHR4pjeq0: from <>
-_ queue.go:367       Queue.SendLoop s5qHR4pjeq0: from@loco sent
+    testlib.go:32: test directory: "/tmp/testlib_3917541700"
+_ queue.go:308       Queue.SendLoop IaHYxS7qzOA: from from@loco
+_ queue.go:467       Queue.SendLoop IaHYxS7qzOA: queued DSN: H_gme8yvwAI
+_ queue.go:342       Queue.SendLoop IaHYxS7qzOA: all done
+_ queue.go:308       Queue.SendLoop H_gme8yvwAI: from <>
+_ queue.go:367       Queue.SendLoop H_gme8yvwAI: from@loco sent
+_ queue.go:342       Queue.SendLoop H_gme8yvwAI: all done
 --- PASS: TestDSNOnTimeout (0.00s)
-_ queue.go:375       Queue.SendLoop s5qHR4pjeq0: error: failed to write: open /tmp/testlib_1975499338/.m:s5qHR4pjeq03401121175: no such file or directory
 === RUN   TestAliases
-_ queue.go:342       Queue.SendLoop s5qHR4pjeq0: all done
-E queue.go:230       failed to remove queue file "/tmp/testlib_1975499338/m:s5qHR4pjeq0": remove /tmp/testlib_1975499338/m:s5qHR4pjeq0: no such file or directory
-    testlib.go:32: test directory: "/tmp/testlib_1716567273"
-_ queue.go:308       Queue.SendLoop OO-4PFlVywE: from from
-_ queue.go:367       Queue.SendLoop OO-4PFlVywE: ata@hualpa sent
-_ queue.go:367       Queue.SendLoop OO-4PFlVywE: pq@loco sent
---- PASS: TestAliases (0.11s)
+    testlib.go:32: test directory: "/tmp/testlib_2549566420"
+_ queue.go:308       Queue.SendLoop p3vqzM_uZF8: from from
+_ queue.go:367       Queue.SendLoop p3vqzM_uZF8: ata@hualpa sent
+_ queue.go:367       Queue.SendLoop p3vqzM_uZF8: pq@loco sent
+_ queue.go:367       Queue.SendLoop p3vqzM_uZF8: rs@loco sent
+_ queue.go:342       Queue.SendLoop p3vqzM_uZF8: all done
+--- PASS: TestAliases (0.00s)
 === RUN   TestFullQueue
-_ queue.go:375       Queue.SendLoop OO-4PFlVywE: error: failed to write: open /tmp/testlib_1716567273/.m:OO-4PFlVywE3246805461: no such file or directory
-_ queue.go:367       Queue.SendLoop OO-4PFlVywE: rs@loco sent
-    testlib.go:32: test directory: "/tmp/testlib_4089441711"
-_ queue.go:375       Queue.SendLoop OO-4PFlVywE: error: failed to write: open /tmp/testlib_1716567273/.m:OO-4PFlVywE2447783367: no such file or directory
-_ queue.go:342       Queue.SendLoop OO-4PFlVywE: all done
-E queue.go:230       failed to remove queue file "/tmp/testlib_1716567273/m:OO-4PFlVywE": remove /tmp/testlib_1716567273/m:OO-4PFlVywE: no such file or directory
+    testlib.go:32: test directory: "/tmp/testlib_560656627"
 _ queue.go:164       Queue.Put from: error: queue full
-_ queue.go:308       Queue.SendLoop c0MaCm4jsTM: from from
 --- PASS: TestFullQueue (0.00s)
-_ queue.go:367       Queue.SendLoop c0MaCm4jsTM: to sent
 === RUN   TestPipes
-_ queue.go:375       Queue.SendLoop c0MaCm4jsTM: error: failed to write: open /tmp/testlib_4089441711/.m:c0MaCm4jsTM3597931814: no such file or directory
-_ queue.go:342       Queue.SendLoop c0MaCm4jsTM: all done
-    testlib.go:32: test directory: "/tmp/testlib_2625780444"
-E queue.go:230       failed to remove queue file "/tmp/testlib_4089441711/m:c0MaCm4jsTM": remove /tmp/testlib_4089441711/m:c0MaCm4jsTM: no such file or directory
+    testlib.go:32: test directory: "/tmp/testlib_2319245747"
+_ queue.go:308       Queue.SendLoop 6gY2AwQdTjg: from from
+_ queue.go:367       Queue.SendLoop 6gY2AwQdTjg: to sent
+_ queue.go:375       Queue.SendLoop 6gY2AwQdTjg: error: failed to write: open /tmp/testlib_560656627/.m:6gY2AwQdTjg3169950440: no such file or directory
+_ queue.go:342       Queue.SendLoop 6gY2AwQdTjg: all done
+E queue.go:230       failed to remove queue file "/tmp/testlib_560656627/m:6gY2AwQdTjg": remove /tmp/testlib_560656627/m:6gY2AwQdTjg: 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_3896972101"
-_ queue.go:308       Queue.SendLoop n7Yl95-dqVc: from from@loco
-_ queue.go:367       Queue.SendLoop n7Yl95-dqVc: to@to sent
-_ queue.go:342       Queue.SendLoop n7Yl95-dqVc: all done
-E queue.go:230       failed to remove queue file "/tmp/testlib_3896972101/m:n7Yl95-dqVc": remove /tmp/testlib_3896972101/m:n7Yl95-dqVc: no such file or directory
---- PASS: TestSerialization (0.11s)
+    testlib.go:32: test directory: "/tmp/testlib_1387617691"
+_ queue.go:308       Queue.SendLoop Pa_hFl0h-TA: from from@loco
+_ queue.go:367       Queue.SendLoop Pa_hFl0h-TA: to@to sent
+_ queue.go:342       Queue.SendLoop Pa_hFl0h-TA: all done
+E queue.go:230       failed to remove queue file "/tmp/testlib_1387617691/m:Pa_hFl0h-TA": remove /tmp/testlib_1387617691/m:Pa_hFl0h-TA: no such file or directory
+--- PASS: TestSerialization (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/queue	0.499s
+ok  	blitiri.com.ar/go/chasquid/internal/queue	0.032s
 === RUN   TestWriteFile
-    testlib.go:32: test directory: "/tmp/testlib_1914102395"
---- PASS: TestWriteFile (0.09s)
+    testlib.go:32: test directory: "/tmp/testlib_264491571"
+--- PASS: TestWriteFile (0.00s)
 === RUN   TestWriteFileWithOp
-    testlib.go:32: test directory: "/tmp/testlib_3279413508"
+    testlib.go:32: test directory: "/tmp/testlib_2364063114"
 --- PASS: TestWriteFileWithOp (0.00s)
 === RUN   TestWriteFileWithFailingOp
-    testlib.go:32: test directory: "/tmp/testlib_4169809116"
+    testlib.go:32: test directory: "/tmp/testlib_1515873734"
 --- PASS: TestWriteFileWithFailingOp (0.00s)
 === RUN   TestErrors
-    testlib.go:32: test directory: "/tmp/testlib_2450335791"
+    testlib.go:32: test directory: "/tmp/testlib_1664996443"
 --- PASS: TestErrors (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/safeio	0.094s
+ok  	blitiri.com.ar/go/chasquid/internal/safeio	0.006s
 === RUN   TestString
 --- PASS: TestString (0.00s)
 PASS
@@ -2150,19 +2181,20 @@
 === RUN   TestLineTooLong
 --- PASS: TestLineTooLong (0.01s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/smtp	0.014s
-_ server.go:300      Server listening on 127.0.0.1:33425 (SMTP)
-2026-04-05 06:34:16.604668 daemon listening on 127.0.0.1:33425
-_ server.go:300      Server listening on 127.0.0.1:37209 (submission)
-2026-04-05 06:34:16.604752 daemon listening on 127.0.0.1:37209
-_ server.go:300      Server listening on 127.0.0.1:35119 (submission+TLS)
-2026-04-05 06:34:16.604790 daemon listening on 127.0.0.1:35119
+ok  	blitiri.com.ar/go/chasquid/internal/smtp	0.010s
+_ server.go:300      Server listening on 127.0.0.1:39529 (SMTP)
+2025-03-03 00:13:09.398102 daemon listening on 127.0.0.1:39529
+_ server.go:300      Server listening on 127.0.0.1:38345 (submission)
+2025-03-03 00:13:09.398167 daemon listening on 127.0.0.1:38345
+_ server.go:300      Server listening on 127.0.0.1:38971 (submission+TLS)
+2025-03-03 00:13:09.398185 daemon listening on 127.0.0.1:38971
+_ conn.go:348        SMTP.Conn 127.0.0.1:51652: error: exiting with error: read tcp 127.0.0.1:38345->127.0.0.1:51652: read: connection reset by peer
 === RUN   TestSecLevel
-_ conn.go:209        SMTP.Conn 127.0.0.1:55308: error: error completing TLS handshake: EOF
+_ conn.go:209        SMTP.Conn 127.0.0.1:60802: 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)
---- PASS: TestSecLevel (0.01s)
+--- PASS: TestSecLevel (0.00s)
 === RUN   TestIsHeader
 --- PASS: TestIsHeader (0.00s)
 === RUN   TestAddrLiteral
@@ -2174,183 +2206,180 @@
 === RUN   TestReadUntilDotReadError
 --- PASS: TestReadUntilDotReadError (0.00s)
 === RUN   TestSimple
-_ conn.go:722        SMTP.Conn 127.0.0.1:33502: Queued from from@from to [to@localhost] - pfBKE4gkn1k
-2026-04-05 06:34:16.718551 pfBKE4gkn1k from=from@from queued ip=127.0.0.1:33502 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop pfBKE4gkn1k: from from@from
-_ queue.go:367       Queue.SendLoop pfBKE4gkn1k: testuser@localhost sent
-2026-04-05 06:34:16.718670 pfBKE4gkn1k from=from@from to=testuser@localhost sent
+_ conn.go:722        SMTP.Conn 127.0.0.1:34578: Queued from from@from to [to@localhost] - UNTjPmU1sB0
+2025-03-03 00:13:09.502949 UNTjPmU1sB0 from=from@from queued ip=127.0.0.1:34578 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop UNTjPmU1sB0: from from@from
+_ queue.go:367       Queue.SendLoop UNTjPmU1sB0: testuser@localhost sent
+2025-03-03 00:13:09.503084 UNTjPmU1sB0 from=from@from to=testuser@localhost sent
 --- PASS: TestSimple (0.00s)
 === RUN   TestSimpleTLS
-_ queue.go:342       Queue.SendLoop pfBKE4gkn1k: all done
-2026-04-05 06:34:16.851709 pfBKE4gkn1k from=from@from all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:33508: Queued from from@from to [to@localhost] - yPvgzxBiIDM
-2026-04-05 06:34:16.851721 yPvgzxBiIDM from=from@from queued ip=127.0.0.1:33508 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop yPvgzxBiIDM: from from@from
-_ queue.go:367       Queue.SendLoop yPvgzxBiIDM: testuser@localhost sent
-2026-04-05 06:34:16.851817 yPvgzxBiIDM from=from@from to=testuser@localhost sent
---- PASS: TestSimpleTLS (0.13s)
+_ queue.go:342       Queue.SendLoop UNTjPmU1sB0: all done
+2025-03-03 00:13:09.503340 UNTjPmU1sB0 from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:34592: Queued from from@from to [to@localhost] - 7yaNKCsWVrU
+2025-03-03 00:13:09.504771 7yaNKCsWVrU from=from@from queued ip=127.0.0.1:34592 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop 7yaNKCsWVrU: from from@from
+_ queue.go:367       Queue.SendLoop 7yaNKCsWVrU: testuser@localhost sent
+2025-03-03 00:13:09.504841 7yaNKCsWVrU from=from@from to=testuser@localhost sent
+--- PASS: TestSimpleTLS (0.00s)
 === RUN   TestManyEmails
-_ queue.go:342       Queue.SendLoop yPvgzxBiIDM: all done
-2026-04-05 06:34:16.964858 yPvgzxBiIDM from=from@from all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:33520: Queued from from@from to [to@localhost] - Ur64MKQrGOo
-2026-04-05 06:34:16.965034 Ur64MKQrGOo from=from@from queued ip=127.0.0.1:33520 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop Ur64MKQrGOo: from from@from
-_ queue.go:367       Queue.SendLoop Ur64MKQrGOo: testuser@localhost sent
-2026-04-05 06:34:16.965210 Ur64MKQrGOo from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop Ur64MKQrGOo: all done
-2026-04-05 06:34:16.965503 Ur64MKQrGOo from=from@from all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:33520: Queued from from@from to [to@localhost] - qwwTxU8SfxA
-2026-04-05 06:34:16.966104 qwwTxU8SfxA from=from@from queued ip=127.0.0.1:33520 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop qwwTxU8SfxA: from from@from
-_ queue.go:367       Queue.SendLoop qwwTxU8SfxA: testuser@localhost sent
-2026-04-05 06:34:16.966278 qwwTxU8SfxA from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop qwwTxU8SfxA: all done
-2026-04-05 06:34:16.966557 qwwTxU8SfxA from=from@from all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:33520: Queued from from@from to [to@localhost] - 0KJ0PCl-5z8
-2026-04-05 06:34:16.967111 0KJ0PCl-5z8 from=from@from queued ip=127.0.0.1:33520 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop 0KJ0PCl-5z8: from from@from
-_ queue.go:367       Queue.SendLoop 0KJ0PCl-5z8: testuser@localhost sent
-2026-04-05 06:34:16.967215 0KJ0PCl-5z8 from=from@from to=testuser@localhost sent
---- PASS: TestManyEmails (0.12s)
+_ queue.go:342       Queue.SendLoop 7yaNKCsWVrU: all done
+2025-03-03 00:13:09.504970 7yaNKCsWVrU from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:34602: Queued from from@from to [to@localhost] - a3E4-v7K_W0
+2025-03-03 00:13:09.506593 a3E4-v7K_W0 from=from@from queued ip=127.0.0.1:34602 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop a3E4-v7K_W0: from from@from
+_ queue.go:367       Queue.SendLoop a3E4-v7K_W0: testuser@localhost sent
+2025-03-03 00:13:09.506685 a3E4-v7K_W0 from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop a3E4-v7K_W0: all done
+2025-03-03 00:13:09.506844 a3E4-v7K_W0 from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:34602: Queued from from@from to [to@localhost] - hqAwBNBRuj8
+2025-03-03 00:13:09.507495 hqAwBNBRuj8 from=from@from queued ip=127.0.0.1:34602 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop hqAwBNBRuj8: from from@from
+_ queue.go:367       Queue.SendLoop hqAwBNBRuj8: testuser@localhost sent
+2025-03-03 00:13:09.507584 hqAwBNBRuj8 from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop hqAwBNBRuj8: all done
+2025-03-03 00:13:09.507805 hqAwBNBRuj8 from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:34602: Queued from from@from to [to@localhost] - abgrFIE_Su0
+2025-03-03 00:13:09.508063 abgrFIE_Su0 from=from@from queued ip=127.0.0.1:34602 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop abgrFIE_Su0: from from@from
+_ queue.go:367       Queue.SendLoop abgrFIE_Su0: testuser@localhost sent
+2025-03-03 00:13:09.508195 abgrFIE_Su0 from=from@from to=testuser@localhost sent
+--- PASS: TestManyEmails (0.00s)
+_ queue.go:342       Queue.SendLoop abgrFIE_Su0: all done
+2025-03-03 00:13:09.508389 abgrFIE_Su0 from=from@from all done
 === RUN   TestAuth
-2026-04-05 06:34:17.078497 127.0.0.1:44658 auth succeeded for testuser@localhost
-_ queue.go:342       Queue.SendLoop 0KJ0PCl-5z8: all done
-2026-04-05 06:34:17.161042 0KJ0PCl-5z8 from=from@from all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:44658: Queued from testuser@localhost to [to@localhost] - 5Mv8WDHTBWA
-2026-04-05 06:34:17.161204 5Mv8WDHTBWA from=testuser@localhost queued ip=127.0.0.1:44658 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop 5Mv8WDHTBWA: from testuser@localhost
-_ queue.go:367       Queue.SendLoop 5Mv8WDHTBWA: testuser@localhost sent
-2026-04-05 06:34:17.161357 5Mv8WDHTBWA from=testuser@localhost to=testuser@localhost sent
---- PASS: TestAuth (0.19s)
+2025-03-03 00:13:09.612513 127.0.0.1:51664 auth succeeded for testuser@localhost
+_ conn.go:722        SMTP.Conn 127.0.0.1:51664: Queued from testuser@localhost to [to@localhost] - Xq4dbL-FNTk
+2025-03-03 00:13:09.613178 Xq4dbL-FNTk from=testuser@localhost queued ip=127.0.0.1:51664 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop Xq4dbL-FNTk: from testuser@localhost
+_ queue.go:367       Queue.SendLoop Xq4dbL-FNTk: testuser@localhost sent
+2025-03-03 00:13:09.613274 Xq4dbL-FNTk from=testuser@localhost to=testuser@localhost sent
+--- PASS: TestAuth (0.10s)
 === RUN   TestSubmissionWithoutAuth
-_ conn.go:318        SMTP.Conn 127.0.0.1:44674: error: MAIL failed: 550  5.7.9 Mail to submission port must be authenticated
+_ queue.go:342       Queue.SendLoop Xq4dbL-FNTk: all done
+2025-03-03 00:13:09.613453 Xq4dbL-FNTk from=testuser@localhost all done
+_ conn.go:318        SMTP.Conn 127.0.0.1:51680: error: MAIL failed: 550  5.7.9 Mail to submission port must be authenticated
 --- PASS: TestSubmissionWithoutAuth (0.00s)
 === RUN   TestAuthOnTLS
-2026-04-05 06:34:17.271628 127.0.0.1:55324 auth succeeded for testuser@localhost
-_ queue.go:342       Queue.SendLoop 5Mv8WDHTBWA: all done
-2026-04-05 06:34:17.287781 5Mv8WDHTBWA from=testuser@localhost all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:55324: Queued from testuser@localhost to [to@localhost] - mQaUiSbMPhw
-2026-04-05 06:34:17.288024 mQaUiSbMPhw from=testuser@localhost queued ip=127.0.0.1:55324 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop mQaUiSbMPhw: from testuser@localhost
-_ queue.go:367       Queue.SendLoop mQaUiSbMPhw: testuser@localhost sent
-2026-04-05 06:34:17.288255 mQaUiSbMPhw from=testuser@localhost to=testuser@localhost sent
---- PASS: TestAuthOnTLS (0.12s)
+2025-03-03 00:13:09.720776 127.0.0.1:60808 auth succeeded for testuser@localhost
+_ conn.go:722        SMTP.Conn 127.0.0.1:60808: Queued from testuser@localhost to [to@localhost] - uOz5NWIyk2M
+2025-03-03 00:13:09.721509 uOz5NWIyk2M from=testuser@localhost queued ip=127.0.0.1:60808 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop uOz5NWIyk2M: from testuser@localhost
+_ queue.go:367       Queue.SendLoop uOz5NWIyk2M: testuser@localhost sent
+2025-03-03 00:13:09.721595 uOz5NWIyk2M from=testuser@localhost to=testuser@localhost sent
+--- PASS: TestAuthOnTLS (0.11s)
 === RUN   TestAuthOnSMTP
-_ queue.go:342       Queue.SendLoop mQaUiSbMPhw: all done
-2026-04-05 06:34:17.288609 mQaUiSbMPhw from=testuser@localhost all done
-2026-04-05 06:34:17.395166 127.0.0.1:33526 auth succeeded for testuser@localhost
-_ conn.go:722        SMTP.Conn 127.0.0.1:33526: Queued from testuser@localhost to [to@localhost] - rjBLLjV300I
-2026-04-05 06:34:17.395973 rjBLLjV300I from=testuser@localhost queued ip=127.0.0.1:33526 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop rjBLLjV300I: from testuser@localhost
-_ queue.go:367       Queue.SendLoop rjBLLjV300I: testuser@localhost sent
-2026-04-05 06:34:17.396080 rjBLLjV300I from=testuser@localhost to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop uOz5NWIyk2M: all done
+2025-03-03 00:13:09.721791 uOz5NWIyk2M from=testuser@localhost all done
+2025-03-03 00:13:09.829352 127.0.0.1:34606 auth succeeded for testuser@localhost
+_ conn.go:722        SMTP.Conn 127.0.0.1:34606: Queued from testuser@localhost to [to@localhost] - sV4WVsSluVs
+2025-03-03 00:13:09.830159 sV4WVsSluVs from=testuser@localhost queued ip=127.0.0.1:34606 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop sV4WVsSluVs: from testuser@localhost
+_ queue.go:367       Queue.SendLoop sV4WVsSluVs: testuser@localhost sent
+2025-03-03 00:13:09.830263 sV4WVsSluVs from=testuser@localhost to=testuser@localhost sent
 --- PASS: TestAuthOnSMTP (0.11s)
 === RUN   TestBrokenAuth
-_ queue.go:342       Queue.SendLoop rjBLLjV300I: all done
-2026-04-05 06:34:17.397723 rjBLLjV300I from=testuser@localhost all done
-_ conn.go:1193       SMTP.Conn 127.0.0.1:44688: error: error authenticating \"user\"@\"broken\": failed to auth
-2026-04-05 06:34:17.506918 127.0.0.1:44688 auth failed for user@broken
-_ conn.go:318        SMTP.Conn 127.0.0.1:44688: error: AUTH failed: 454  4.7.0 Temporary authentication failure
-_ conn.go:318        SMTP.Conn 127.0.0.1:44688: error: unknown<\"*\"> failed: 500  5.5.1 Unknown command
---- PASS: TestBrokenAuth (0.11s)
+_ queue.go:342       Queue.SendLoop sV4WVsSluVs: all done
+2025-03-03 00:13:09.830474 sV4WVsSluVs from=testuser@localhost all done
+_ conn.go:1193       SMTP.Conn 127.0.0.1:51682: error: error authenticating \"user\"@\"broken\": failed to auth
+2025-03-03 00:13:09.946561 127.0.0.1:51682 auth failed for user@broken
+_ conn.go:318        SMTP.Conn 127.0.0.1:51682: error: AUTH failed: 454  4.7.0 Temporary authentication failure
+_ conn.go:318        SMTP.Conn 127.0.0.1:51682: error: unknown<\"*\"> failed: 500  5.5.1 Unknown command
+--- PASS: TestBrokenAuth (0.12s)
 === RUN   TestWrongMailParsing
-_ conn.go:318        SMTP.Conn 127.0.0.1:33534: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:33534: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:33534: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:33534: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:33538: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:33538: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:33538: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:33538: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:33546: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:33546: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:33546: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:33546: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:33558: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:33558: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:33558: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:33558: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:33566: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:33566: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:33566: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:33566: error: too many errors, breaking connection
-_ conn.go:318        SMTP.Conn 127.0.0.1:33570: error: MAIL failed: 501  5.1.7 Sender address malformed
-_ conn.go:318        SMTP.Conn 127.0.0.1:33570: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:318        SMTP.Conn 127.0.0.1:33570: error: RCPT failed: 501  5.1.3 Malformed destination address
-_ conn.go:325        SMTP.Conn 127.0.0.1:33570: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:34616: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:34616: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:34616: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:34616: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:34632: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:34632: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:34632: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:34632: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:34640: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:34640: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:34640: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:34640: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:34648: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:34648: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:34648: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:34648: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:34650: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:34650: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:34650: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:34650: error: too many errors, breaking connection
+_ conn.go:318        SMTP.Conn 127.0.0.1:34652: error: MAIL failed: 501  5.1.7 Sender address malformed
+_ conn.go:318        SMTP.Conn 127.0.0.1:34652: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:318        SMTP.Conn 127.0.0.1:34652: error: RCPT failed: 501  5.1.3 Malformed destination address
+_ conn.go:325        SMTP.Conn 127.0.0.1:34652: 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:33596: error: RCPT failed: 503  5.5.1 Sender not yet given
+_ conn.go:318        SMTP.Conn 127.0.0.1:34670: error: RCPT failed: 503  5.5.1 Sender not yet given
 --- PASS: TestRcptBeforeMail (0.00s)
 === RUN   TestRcptOption
 --- PASS: TestRcptOption (0.00s)
 === RUN   TestRelayForbidden
-2026-04-05 06:34:17.514680 127.0.0.1:33618 rejected from=from@somewhere to=[to@somewhere] - relay not allowed
-_ conn.go:318        SMTP.Conn 127.0.0.1:33618: error: RCPT failed: 503  5.7.1 Relay not allowed
+2025-03-03 00:13:09.951527 127.0.0.1:34694 rejected from=from@somewhere to=[to@somewhere] - relay not allowed
+_ conn.go:318        SMTP.Conn 127.0.0.1:34694: error: RCPT failed: 503  5.7.1 Relay not allowed
 --- PASS: TestRelayForbidden (0.00s)
 === RUN   TestTooManyRecipients
-2026-04-05 06:34:17.625515 127.0.0.1:44702 auth succeeded for testuser@localhost
-_ conn.go:318        SMTP.Conn 127.0.0.1:44702: error: RCPT failed: 452  4.5.3 Too many recipients
+2025-03-03 00:13:10.056837 127.0.0.1:51698 auth succeeded for testuser@localhost
+_ conn.go:318        SMTP.Conn 127.0.0.1:51698: error: RCPT failed: 452  4.5.3 Too many recipients
 --- PASS: TestTooManyRecipients (0.11s)
 === RUN   TestRcptBrokenExists
-_ conn.go:622        SMTP.Conn 127.0.0.1:33622: error: error checking if user \"to@broken\" exists: failed to check if user exists
-2026-04-05 06:34:17.631217 127.0.0.1:33622 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:33622: error: RCPT failed: 451  4.4.3 Temporary error checking address
+_ conn.go:622        SMTP.Conn 127.0.0.1:34706: error: error checking if user \"to@broken\" exists: failed to check if user exists
+2025-03-03 00:13:10.060320 127.0.0.1:34706 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:34706: error: RCPT failed: 451  4.4.3 Temporary error checking address
 --- PASS: TestRcptBrokenExists (0.00s)
 === RUN   TestRcptUserDoesNotExist
-2026-04-05 06:34:17.632977 127.0.0.1:33626 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist
-_ conn.go:318        SMTP.Conn 127.0.0.1:33626: error: RCPT failed: 550  5.1.1 Destination address is unknown (user does not exist)
+2025-03-03 00:13:10.061704 127.0.0.1:34720 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist
+_ conn.go:318        SMTP.Conn 127.0.0.1:34720: error: RCPT failed: 550  5.1.1 Destination address is unknown (user does not exist)
 --- PASS: TestRcptUserDoesNotExist (0.00s)
 === RUN   TestTooMuchData
-_ conn.go:722        SMTP.Conn 127.0.0.1:33632: Queued from from@from to [to@localhost] - 9y7piXt6rjE
-2026-04-05 06:34:17.718093 9y7piXt6rjE from=from@from queued ip=127.0.0.1:33632 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop 9y7piXt6rjE: from from@from
-_ queue.go:367       Queue.SendLoop 9y7piXt6rjE: testuser@localhost sent
-2026-04-05 06:34:17.718343 9y7piXt6rjE from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop 9y7piXt6rjE: all done
-2026-04-05 06:34:17.780469 9y7piXt6rjE from=from@from all done
-_ conn.go:722        SMTP.Conn 127.0.0.1:33632: Queued from from@from to [to@localhost] - MDEsXcnVNW0
-2026-04-05 06:34:17.811338 MDEsXcnVNW0 from=from@from queued ip=127.0.0.1:33632 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop MDEsXcnVNW0: from from@from
-_ queue.go:367       Queue.SendLoop MDEsXcnVNW0: testuser@localhost sent
-2026-04-05 06:34:17.811525 MDEsXcnVNW0 from=from@from to=testuser@localhost sent
-_ queue.go:342       Queue.SendLoop MDEsXcnVNW0: all done
-2026-04-05 06:34:17.887333 MDEsXcnVNW0 from=from@from all done
-_ conn.go:318        SMTP.Conn 127.0.0.1:33632: error: DATA failed: 552  5.3.4 Message too big
-_ conn.go:722        SMTP.Conn 127.0.0.1:33632: Queued from from@from to [to@localhost] - LX--8zsLsjg
-2026-04-05 06:34:17.999890 LX--8zsLsjg from=from@from queued ip=127.0.0.1:33632 to=[to@localhost]
-_ queue.go:308       Queue.SendLoop LX--8zsLsjg: from from@from
-_ queue.go:367       Queue.SendLoop LX--8zsLsjg: testuser@localhost sent
-2026-04-05 06:34:18.000088 LX--8zsLsjg from=from@from to=testuser@localhost sent
---- PASS: TestTooMuchData (0.37s)
+_ conn.go:722        SMTP.Conn 127.0.0.1:34734: Queued from from@from to [to@localhost] - QoBAcVOyiu4
+2025-03-03 00:13:10.125668 QoBAcVOyiu4 from=from@from queued ip=127.0.0.1:34734 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop QoBAcVOyiu4: from from@from
+_ queue.go:367       Queue.SendLoop QoBAcVOyiu4: testuser@localhost sent
+2025-03-03 00:13:10.125787 QoBAcVOyiu4 from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop QoBAcVOyiu4: all done
+2025-03-03 00:13:10.133877 QoBAcVOyiu4 from=from@from all done
+_ conn.go:722        SMTP.Conn 127.0.0.1:34734: Queued from from@from to [to@localhost] - gQ7H-LPpm98
+2025-03-03 00:13:10.190445 gQ7H-LPpm98 from=from@from queued ip=127.0.0.1:34734 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop gQ7H-LPpm98: from from@from
+_ queue.go:367       Queue.SendLoop gQ7H-LPpm98: testuser@localhost sent
+2025-03-03 00:13:10.190616 gQ7H-LPpm98 from=from@from to=testuser@localhost sent
+_ queue.go:342       Queue.SendLoop gQ7H-LPpm98: all done
+2025-03-03 00:13:10.203514 gQ7H-LPpm98 from=from@from all done
+_ conn.go:318        SMTP.Conn 127.0.0.1:34734: error: DATA failed: 552  5.3.4 Message too big
+_ conn.go:722        SMTP.Conn 127.0.0.1:34734: Queued from from@from to [to@localhost] - 52qnYCRMQfg
+2025-03-03 00:13:10.326525 52qnYCRMQfg from=from@from queued ip=127.0.0.1:34734 to=[to@localhost]
+_ queue.go:308       Queue.SendLoop 52qnYCRMQfg: from from@from
+_ queue.go:367       Queue.SendLoop 52qnYCRMQfg: testuser@localhost sent
+2025-03-03 00:13:10.326754 52qnYCRMQfg from=from@from to=testuser@localhost sent
+--- PASS: TestTooMuchData (0.27s)
 === RUN   TestSimpleCommands
-_ conn.go:318        SMTP.Conn 127.0.0.1:33642: 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:33642: error: EXPN failed: 502  5.5.1 You feel disoriented for a moment.
+_ conn.go:318        SMTP.Conn 127.0.0.1:34750: 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:34750: 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:33654: error: unknown<\"\"> failed: 500  5.5.1 Unknown command
-_ conn.go:348        SMTP.Conn 127.0.0.1:33654: error: exiting with error: line too long
+_ conn.go:318        SMTP.Conn 127.0.0.1:34752: error: unknown<\"\"> failed: 500  5.5.1 Unknown command
+_ conn.go:348        SMTP.Conn 127.0.0.1:34752: 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:33670: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
+_ conn.go:318        SMTP.Conn 127.0.0.1:34778: 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:55340: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
+_ conn.go:318        SMTP.Conn 127.0.0.1:60810: 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_1954998732"
+    testlib.go:32: test directory: "/tmp/testlib_2069248890"
 --- PASS: TestAddDKIMSigner (0.00s)
 === RUN   FuzzConnection
 --- PASS: FuzzConnection (0.00s)
 PASS
-_ queue.go:375       Queue.SendLoop LX--8zsLsjg: error: failed to write: rename /tmp/chasquid_test:2487529088/queue/.m:LX--8zsLsjg137380247 /tmp/chasquid_test:2487529088/queue/m:LX--8zsLsjg: no such file or directory
-_ queue.go:342       Queue.SendLoop LX--8zsLsjg: all done
-2026-04-05 06:34:18.091824 LX--8zsLsjg from=from@from all done
-ok  	blitiri.com.ar/go/chasquid/internal/smtpsrv	1.676s
+ok  	blitiri.com.ar/go/chasquid/internal/smtpsrv	0.998s
 === RUN   TestParsePolicy
     sts_test.go:90: pol1: &{Version:STSv1 Mode:enforce MXs:[*.mail.example.com] MaxAge:34h17m36s}
 --- PASS: TestParsePolicy (0.00s)
@@ -2370,29 +2399,29 @@
     sts_test.go:242: got error as expected: MTA-STS TXT record missing
 --- PASS: TestPolicyTooBig (0.01s)
 === RUN   TestCacheBasics
-    testlib.go:32: test directory: "/tmp/testlib_3180949933"
+    testlib.go:32: test directory: "/tmp/testlib_3213867203"
     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.03s)
+--- PASS: TestCacheBasics (0.00s)
 === RUN   TestCacheBadData
-    testlib.go:32: test directory: "/tmp/testlib_308465245"
+    testlib.go:32: test directory: "/tmp/testlib_2917016096"
     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}
     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}
---- PASS: TestCacheBadData (0.59s)
+--- PASS: TestCacheBadData (0.00s)
 === RUN   TestCacheRefresh
-    testlib.go:32: test directory: "/tmp/testlib_1192454033"
+    testlib.go:32: test directory: "/tmp/testlib_703238257"
     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.12s)
+--- PASS: TestCacheRefresh (0.01s)
 === RUN   TestCacheSlashSafe
-    testlib.go:32: test directory: "/tmp/testlib_2550648228"
+    testlib.go:32: test directory: "/tmp/testlib_2717800272"
     sts_test.go:464: recovered: domain contains slash
 --- PASS: TestCacheSlashSafe (0.00s)
 === RUN   TestURLForDomain
@@ -2402,9 +2431,9 @@
 === RUN   TestHTTPGet
 --- PASS: TestHTTPGet (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/sts	0.753s
+ok  	blitiri.com.ar/go/chasquid/internal/sts	0.034s
 === RUN   TestBasic
-    testlib.go:32: test directory: "/tmp/testlib_2197054633"
+    testlib.go:32: test directory: "/tmp/testlib_1758468167"
 --- PASS: TestBasic (0.00s)
 === RUN   TestRemoveCheck
     testlib_test.go:33: recovered: invalid/dangerous directory
@@ -2415,55 +2444,55 @@
     testlib_test.go:60: recovered: invalid/dangerous path
 --- PASS: TestRewriteSafeguard (0.00s)
 === RUN   TestRewrite
-    testlib.go:32: test directory: "/tmp/testlib_627324378"
+    testlib.go:32: test directory: "/tmp/testlib_3782121386"
 --- 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_3765368291"
---- PASS: TestGenerateCert (0.11s)
+    testlib.go:32: test directory: "/tmp/testlib_3153295912"
+--- PASS: TestGenerateCert (0.04s)
 === RUN   TestGenerateCertBadDir
---- PASS: TestGenerateCertBadDir (0.07s)
+--- PASS: TestGenerateCertBadDir (0.14s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/testlib	0.214s
+ok  	blitiri.com.ar/go/chasquid/internal/testlib	0.203s
 === RUN   TestVersionName
 --- PASS: TestVersionName (0.00s)
 === RUN   TestCipherSuiteName
 --- PASS: TestCipherSuiteName (0.00s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/tlsconst	0.003s
+ok  	blitiri.com.ar/go/chasquid/internal/tlsconst	0.002s
 ?   	blitiri.com.ar/go/chasquid/internal/trace	[no test files]
 === RUN   TestEmptyLoad
-    userdb_test.go:37: file: "/tmp/userdb_test1118462703"
-    userdb_test.go:37: file: "/tmp/userdb_test1750224794"
+    userdb_test.go:37: file: "/tmp/userdb_test4141783401"
+    userdb_test.go:37: file: "/tmp/userdb_test1682639389"
 --- PASS: TestEmptyLoad (0.00s)
 === RUN   TestWrite
-    userdb_test.go:37: file: "/tmp/userdb_test2566484050"
---- PASS: TestWrite (0.43s)
+    userdb_test.go:37: file: "/tmp/userdb_test1545372509"
+--- PASS: TestWrite (0.30s)
 === RUN   TestNew
---- PASS: TestNew (0.06s)
+--- PASS: TestNew (0.04s)
 === RUN   TestInvalidUsername
-    userdb_test.go:37: file: "/tmp/userdb_test1625316521"
+    userdb_test.go:37: file: "/tmp/userdb_test3570922826"
 --- PASS: TestInvalidUsername (0.00s)
 === RUN   TestPlainScheme
-    userdb_test.go:37: file: "/tmp/userdb_test2111376820"
---- PASS: TestPlainScheme (0.14s)
+    userdb_test.go:37: file: "/tmp/userdb_test3543669934"
+--- PASS: TestPlainScheme (0.00s)
 === RUN   TestDeniedScheme
-    userdb_test.go:37: file: "/tmp/userdb_test4199481889"
---- PASS: TestDeniedScheme (0.12s)
+    userdb_test.go:37: file: "/tmp/userdb_test2171385466"
+--- PASS: TestDeniedScheme (0.00s)
 === RUN   TestReload
-    userdb_test.go:37: file: "/tmp/userdb_test3578048681"
---- PASS: TestReload (0.23s)
+    userdb_test.go:37: file: "/tmp/userdb_test19567756"
+--- PASS: TestReload (0.00s)
 === RUN   TestRemoveUser
-    userdb_test.go:37: file: "/tmp/userdb_test3323802222"
---- PASS: TestRemoveUser (0.06s)
+    userdb_test.go:37: file: "/tmp/userdb_test3420035563"
+--- PASS: TestRemoveUser (0.04s)
 === RUN   TestExists
-    userdb_test.go:37: file: "/tmp/userdb_test2168197084"
+    userdb_test.go:37: file: "/tmp/userdb_test738797974"
 --- PASS: TestExists (0.05s)
 PASS
-ok  	blitiri.com.ar/go/chasquid/internal/userdb	1.095s
+ok  	blitiri.com.ar/go/chasquid/internal/userdb	0.441s
    create-stamp debian/debhelper-build-stamp
    dh_testroot -O--buildsystem=golang
    dh_prep -O--buildsystem=golang
@@ -2526,12 +2555,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/2625174/tmp/hooks/B01_cleanup starting
+I: user script /srv/workspace/pbuilder/2625174/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/4070240 and its subdirectories
-I: Current time: Sat Apr  4 18:34:42 -12 2026
-I: pbuilder-time-stamp: 1775370882
+I: removing directory /srv/workspace/pbuilder/2625174 and its subdirectories
+I: Current time: Mon Mar  3 14:13:26 +14 2025
+I: pbuilder-time-stamp: 1740960806