Diff of the two buildlogs: -- --- b1/build.log 2025-03-03 05:05:06.243497886 +0000 +++ b2/build.log 2025-03-03 05:06:37.539365790 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sun Mar 2 17:00:20 -12 2025 -I: pbuilder-time-stamp: 1740978020 +I: Current time: Mon Apr 6 01:28:09 +14 2026 +I: pbuilder-time-stamp: 1775388489 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -24,52 +24,84 @@ dpkg-source: info: applying 0001-Use_chasquid_user.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1861360/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3221856/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Apr 5 11:28 /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/3221856/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3221856/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='2f85dcc3b33d4211b3cdfa3be7075ce1' - 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='1861360' - PS1='# ' - PS2='> ' + INVOCATION_ID=c7885dde8e4846f6903d8d567741c05f + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=3221856 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.wqXNL8h6/pbuilderrc_JemX --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.wqXNL8h6/b1 --logfile b1/build.log chasquid_1.15.0-1.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.wqXNL8h6/pbuilderrc_HZDa --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.wqXNL8h6/b2 --logfile b2/build.log chasquid_1.15.0-1.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1861360/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3221856/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -175,7 +207,7 @@ Get: 46 http://deb.debian.org/debian unstable/main arm64 golang-blitiri-go-log-dev all 1.1.0-1 [6724 B] Get: 47 http://deb.debian.org/debian unstable/main arm64 golang-blitiri-go-spf-dev all 1.5.1-1 [37.2 kB] Get: 48 http://deb.debian.org/debian unstable/main arm64 golang-blitiri-go-systemd-dev all 1.1.0-1 [6952 B] -Fetched 75.0 MB in 1s (57.1 MB/s) +Fetched 75.0 MB in 0s (184 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 ... 19892 files and directories currently installed.) @@ -382,7 +414,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/chasquid-1.15.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../chasquid_1.15.0-1_source.changes +I: user script /srv/workspace/pbuilder/3221856/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/3221856/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 @@ -403,47 +439,47 @@ 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-aarch64-linux-gnu && go install -trimpath -v -p 12 -ldflags " -X main.version=1.15.0-1 -X main.sourceDateTs=1737288581" blitiri.com.ar/go/chasquid blitiri.com.ar/go/chasquid/cmd/chasquid-util blitiri.com.ar/go/chasquid/cmd/mda-lmtp blitiri.com.ar/go/chasquid/cmd/smtp-check blitiri.com.ar/go/chasquid/internal/aliases blitiri.com.ar/go/chasquid/internal/auth blitiri.com.ar/go/chasquid/internal/config blitiri.com.ar/go/chasquid/internal/courier blitiri.com.ar/go/chasquid/internal/dkim blitiri.com.ar/go/chasquid/internal/domaininfo blitiri.com.ar/go/chasquid/internal/dovecot blitiri.com.ar/go/chasquid/internal/envelope blitiri.com.ar/go/chasquid/internal/expvarom blitiri.com.ar/go/chasquid/internal/haproxy blitiri.com.ar/go/chasquid/internal/localrpc blitiri.com.ar/go/chasquid/internal/maillog blitiri.com.ar/go/chasquid/internal/nettrace blitiri.com.ar/go/chasquid/internal/normalize blitiri.com.ar/go/chasquid/internal/protoio blitiri.com.ar/go/chasquid/internal/protoio/testpb blitiri.com.ar/go/chasquid/internal/queue blitiri.com.ar/go/chasquid/internal/safeio blitiri.com.ar/go/chasquid/internal/set blitiri.com.ar/go/chasquid/internal/smtp blitiri.com.ar/go/chasquid/internal/smtpsrv blitiri.com.ar/go/chasquid/internal/sts blitiri.com.ar/go/chasquid/internal/testlib blitiri.com.ar/go/chasquid/internal/tlsconst blitiri.com.ar/go/chasquid/internal/trace blitiri.com.ar/go/chasquid/internal/userdb -internal/byteorder -internal/msan +internal/profilerecord internal/coverage/rtcov +internal/asan +internal/msan internal/godebugs -encoding -internal/unsafeheader internal/goarch internal/goexperiment +encoding +internal/cpu +internal/runtime/math cmp -internal/profilerecord internal/itoa -internal/cpu +internal/abi +internal/runtime/syscall math/bits -unicode/utf8 +internal/byteorder internal/goos +unicode/utf8 sync/atomic -internal/asan -internal/abi -internal/runtime/syscall -internal/chacha8rand -internal/runtime/math +internal/unsafeheader unicode log/internal internal/nettrace google.golang.org/protobuf/internal/flags -math unicode/utf16 -google.golang.org/protobuf/internal/set +internal/chacha8rand container/ring -container/list crypto/internal/fips140/alias +container/list +google.golang.org/protobuf/internal/set crypto/internal/fips140deps/byteorder -crypto/internal/boring/sig -vendor/golang.org/x/crypto/cryptobyte/asn1 +math crypto/internal/fips140/subtle -vendor/golang.org/x/crypto/internal/alias -blitiri.com.ar/go/chasquid/internal/set +crypto/internal/boring/sig internal/bytealg internal/runtime/atomic internal/runtime/sys crypto/internal/fips140deps/cpu +vendor/golang.org/x/crypto/cryptobyte/asn1 +vendor/golang.org/x/crypto/internal/alias +blitiri.com.ar/go/chasquid/internal/set internal/runtime/exithook internal/stringslite internal/race @@ -452,56 +488,59 @@ runtime internal/reflectlite iter -sync weak crypto/subtle +sync slices maps errors sort internal/bisect +google.golang.org/protobuf/internal/pragma internal/testlog internal/singleflight unique -google.golang.org/protobuf/internal/pragma -runtime/cgo -strconv io internal/oserror -path -internal/godebug vendor/golang.org/x/net/dns/dnsmessage +strconv math/rand/v2 +runtime/cgo +path syscall -strings +internal/godebug hash -hash/fnv -hash/crc32 -math/rand -crypto/internal/fips140deps/godebug +strings golang.org/x/text/internal/tag bytes crypto/internal/randutil -reflect net/netip +crypto +hash/fnv +reflect +crypto/internal/fips140deps/godebug +math/rand +hash/crc32 +bufio html regexp/syntax -crypto crypto/internal/fips140 crypto/internal/impl -net/http/internal/ascii -bufio vendor/golang.org/x/text/transform -golang.org/x/text/transform -crypto/internal/fips140/sha256 crypto/internal/fips140/sha3 +crypto/internal/fips140/sha256 crypto/internal/fips140/sha512 crypto/tls/internal/fips140tls -golang.org/x/text/runes -golang.org/x/text/width +net/http/internal/ascii +golang.org/x/text/transform crypto/sha3 crypto/internal/fips140hash +internal/syscall/execenv +internal/syscall/unix crypto/internal/fips140/hmac +time +golang.org/x/text/runes +golang.org/x/text/width crypto/internal/fips140/check crypto/internal/fips140/aes crypto/internal/fips140/nistec/fiat @@ -510,17 +549,14 @@ crypto/internal/fips140/hkdf crypto/internal/fips140/tls12 crypto/internal/fips140/tls13 -time -internal/syscall/unix -internal/syscall/execenv regexp crypto/internal/fips140/edwards25519 io/fs internal/poll context -crypto/internal/fips140/nistec internal/filepathlite embed +crypto/internal/fips140/nistec google.golang.org/protobuf/internal/editiondefaults os internal/fmtsort @@ -528,146 +564,146 @@ encoding/base64 vendor/golang.org/x/crypto/internal/poly1305 golang.org/x/sys/unix -encoding/pem fmt -net +blitiri.com.ar/go/chasquid/internal/safeio +internal/sysinfo path/filepath google.golang.org/protobuf/internal/detrand -blitiri.com.ar/go/chasquid/internal/safeio -crypto/internal/sysrand +encoding/pem os/signal -internal/sysinfo +crypto/internal/sysrand crypto/internal/entropy crypto/internal/fips140/drbg os/exec -crypto/internal/fips140/aes/gcm crypto/internal/fips140only crypto/internal/fips140/ecdh +crypto/internal/fips140/aes/gcm crypto/internal/fips140/ecdsa crypto/internal/fips140/ed25519 crypto/internal/fips140/mlkem crypto/internal/fips140/rsa crypto/md5 crypto/rc4 +net crypto/cipher flag -log google.golang.org/protobuf/internal/errors +text/template/parse +log go/token compress/flate -encoding/json google.golang.org/protobuf/internal/version net/url -text/template/parse -math/big -google.golang.org/protobuf/encoding/protowire +encoding/json crypto/internal/boring +google.golang.org/protobuf/encoding/protowire +math/big crypto/aes crypto/des -google.golang.org/protobuf/reflect/protoreflect crypto/ecdh +google.golang.org/protobuf/reflect/protoreflect crypto/sha512 crypto/hmac vendor/golang.org/x/crypto/chacha20 crypto/sha1 crypto/sha256 -encoding/hex -compress/gzip vendor/golang.org/x/text/unicode/bidi +compress/gzip +encoding/hex vendor/golang.org/x/text/unicode/norm vendor/golang.org/x/net/http2/hpack mime -mime/quotedprintable vendor/golang.org/x/crypto/chacha20poly1305 +text/template +mime/quotedprintable net/http/internal blitiri.com.ar/go/chasquid/internal/envelope -text/template golang.org/x/text/unicode/bidi golang.org/x/text/unicode/norm -vendor/golang.org/x/text/secure/bidirule golang.org/x/text/internal/language -blitiri.com.ar/go/chasquid/internal/tlsconst -golang.org/x/crypto/pbkdf2 -golang.org/x/crypto/scrypt -internal/profile +vendor/golang.org/x/text/secure/bidirule google.golang.org/protobuf/internal/encoding/messageset google.golang.org/protobuf/internal/strs google.golang.org/protobuf/internal/genid -google.golang.org/protobuf/internal/encoding/text google.golang.org/protobuf/internal/order +google.golang.org/protobuf/internal/encoding/text google.golang.org/protobuf/reflect/protoregistry google.golang.org/protobuf/runtime/protoiface google.golang.org/protobuf/internal/descfmt google.golang.org/protobuf/internal/descopts google.golang.org/protobuf/internal/protolazy +golang.org/x/text/secure/bidirule +vendor/golang.org/x/net/idna +blitiri.com.ar/go/chasquid/internal/tlsconst +golang.org/x/text/internal/language/compact +golang.org/x/crypto/pbkdf2 +internal/profile +html/template +text/tabwriter crypto/rand crypto/elliptic crypto/internal/boring/bbig +google.golang.org/protobuf/proto +google.golang.org/protobuf/internal/encoding/defval encoding/asn1 -crypto/dsa crypto/ed25519 crypto/internal/hpke crypto/rsa -vendor/golang.org/x/net/idna -golang.org/x/text/secure/bidirule -golang.org/x/text/internal/language/compact -google.golang.org/protobuf/internal/encoding/defval -text/tabwriter -google.golang.org/protobuf/proto -html/template +crypto/dsa +golang.org/x/text/language +golang.org/x/net/idna +golang.org/x/crypto/scrypt +runtime/pprof runtime/trace runtime/debug golang.org/x/term -runtime/pprof -golang.org/x/text/language -golang.org/x/net/idna +google.golang.org/protobuf/encoding/prototext +google.golang.org/protobuf/internal/filedesc vendor/golang.org/x/crypto/cryptobyte crypto/x509/pkix -testing -crypto/ecdsa golang.org/x/text/internal golang.org/x/text/cases -google.golang.org/protobuf/encoding/prototext -google.golang.org/protobuf/internal/filedesc -golang.org/x/text/secure/precis +testing +crypto/ecdsa blitiri.com.ar/go/chasquid/internal/protoio +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 +blitiri.com.ar/go/chasquid/internal/normalize log/syslog -crypto/x509 net/textproto -vendor/golang.org/x/net/http/httpproxy +crypto/x509 blitiri.com.ar/go/chasquid/internal/haproxy blitiri.com.ar/go/spf blitiri.com.ar/go/systemd +vendor/golang.org/x/net/http/httpproxy blitiri.com.ar/go/log vendor/golang.org/x/net/http/httpguts mime/multipart blitiri.com.ar/go/chasquid/internal/dovecot -net/mail blitiri.com.ar/go/chasquid/cmd/mda-lmtp -crypto/tls -blitiri.com.ar/go/chasquid/internal/dkim +net/mail google.golang.org/protobuf/internal/filetype google.golang.org/protobuf/runtime/protoimpl blitiri.com.ar/go/chasquid/internal/config blitiri.com.ar/go/chasquid/internal/userdb blitiri.com.ar/go/chasquid/internal/protoio/testpb +blitiri.com.ar/go/chasquid/internal/dkim +crypto/tls net/http/httptrace net/smtp blitiri.com.ar/go/chasquid/internal/testlib net/http blitiri.com.ar/go/chasquid/internal/smtp -blitiri.com.ar/go/chasquid/internal/nettrace expvar golang.org/x/net/context/ctxhttp net/http/pprof +blitiri.com.ar/go/chasquid/internal/nettrace blitiri.com.ar/go/chasquid/internal/trace blitiri.com.ar/go/chasquid/internal/domaininfo 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/internal/maillog blitiri.com.ar/go/chasquid/internal/expvarom blitiri.com.ar/go/chasquid/cmd/chasquid-util blitiri.com.ar/go/chasquid/internal/sts @@ -701,7 +737,7 @@ === RUN TestTooMuchRecursion --- PASS: TestTooMuchRecursion (0.00s) === RUN TestTooMuchRecursionOnCatchAll ---- PASS: TestTooMuchRecursionOnCatchAll (0.02s) +--- PASS: TestTooMuchRecursionOnCatchAll (0.00s) === RUN TestAddFile --- PASS: TestAddFile (0.00s) === RUN TestRichFile @@ -713,7 +749,7 @@ _ aliases.go:544 Hook.Alias-Resolve a@localA: error: exit status 1 _ aliases.go:544 Hook.Alias-Resolve *@localA: error: exit status 1 _ aliases.go:544 Hook.Alias-Resolve a@localA: error: exit status 1 ---- PASS: TestHookError (0.09s) +--- PASS: TestHookError (0.01s) === RUN FuzzReader === RUN FuzzReader/seed#0 === RUN FuzzReader/1c24d2215db69748c6fd16797673ad11ebc7e6167fe1bc1f54c6959ec10407b6 @@ -729,7 +765,7 @@ --- PASS: FuzzReader/c9c80ba9f513841cb081fe9bb7439d36f9f7a06bb999d4c39441991ccc878a9e (0.00s) --- PASS: FuzzReader/d40a98862ed393eb712e47a91bcef18e6f24cf368bb4bd248c7a7101ef8e178d (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/aliases 0.180s +ok blitiri.com.ar/go/chasquid/internal/aliases 0.035s === RUN TestDecodeResponse auth_test.go:56: OK: "" failed with response pieces != 3, as per RFC auth_test.go:56: OK: "\x00" failed with response pieces != 3, as per RFC @@ -742,11 +778,11 @@ auth_test.go:56: OK: "\xffa@b\x00\xffa@b\x00pass" failed with bidirule: failed Bidi Rule --- PASS: TestDecodeResponse (0.00s) === RUN TestAuthenticate ---- PASS: TestAuthenticate (0.91s) +--- PASS: TestAuthenticate (0.47s) === RUN TestInterfaces --- PASS: TestInterfaces (0.00s) === RUN TestMultipleBackends ---- PASS: TestMultipleBackends (0.20s) +--- PASS: TestMultipleBackends (0.19s) === RUN TestErrors --- PASS: TestErrors (0.00s) === RUN TestReload @@ -775,45 +811,45 @@ --- PASS: FuzzDecodeResponse/d9aa9c617d1f5b3021aca758b9d896d136e3b16ed53233d02abffd02aa73ffa4 (0.00s) --- PASS: FuzzDecodeResponse/de05c7993312bab83e8114e9d9ced331c49822dc55c1a353f1cc9718a28226e7 (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/auth 1.172s +ok blitiri.com.ar/go/chasquid/internal/auth 0.682s === RUN TestEmptyStruct ---- PASS: TestEmptyStruct (0.01s) +--- PASS: TestEmptyStruct (0.00s) === RUN TestEmptyConfig - testlib.go:32: test directory: "/tmp/testlib_955648576" + testlib.go:32: test directory: "/tmp/testlib_3595664129" --- PASS: TestEmptyConfig (0.00s) === RUN TestFullConfig - testlib.go:32: test directory: "/tmp/testlib_734966506" + testlib.go:32: test directory: "/tmp/testlib_910204209" --- PASS: TestFullConfig (0.00s) === RUN TestErrorLoading --- PASS: TestErrorLoading (0.00s) === RUN TestBrokenConfig - testlib.go:32: test directory: "/tmp/testlib_777336409" + testlib.go:32: test directory: "/tmp/testlib_1840867922" --- PASS: TestBrokenConfig (0.00s) === RUN TestBrokenOverride - testlib.go:32: test directory: "/tmp/testlib_3552437046" + testlib.go:32: test directory: "/tmp/testlib_2517187666" --- PASS: TestBrokenOverride (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/config 0.072s +ok blitiri.com.ar/go/chasquid/internal/config 0.022s === RUN TestMDA - testlib.go:32: test directory: "/tmp/testlib_3921358099" ---- PASS: TestMDA (0.05s) + testlib.go:32: test directory: "/tmp/testlib_1166652757" +--- PASS: TestMDA (0.00s) === RUN TestMDATimeout _ mda.go:73 Courier.MDA to@local: error: operation timed out ---- PASS: TestMDATimeout (0.12s) +--- PASS: TestMDATimeout (0.10s) === RUN TestMDABadCommandLine _ mda.go:86 Courier.MDA to: error: MDA delivery failed: exec: \"thisdoesnotexist\": executable file not found in $PATH - \"\" _ mda.go:86 Courier.MDA to: error: MDA delivery failed: exit status 1 - \"cat: unrecognized option '--fail_unknown_option'\\nTry 'cat --help' for more information.\\n\" ---- PASS: TestMDABadCommandLine (0.01s) +--- PASS: TestMDABadCommandLine (0.00s) === RUN TestExitCode mda_test.go:71: util/exitcode not found, running from outside repo? --- SKIP: TestExitCode (0.00s) === RUN TestSanitize --- PASS: TestSanitize (0.00s) === RUN TestSMTP - testlib.go:32: test directory: "/tmp/testlib_1061472587" - testlib.go:32: test directory: "/tmp/testlib_312559302" -_ smtp.go:127 Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::40063: too many colons in address -_ smtp.go:101 Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::40063: too many colons in address + testlib.go:32: test directory: "/tmp/testlib_2273667336" + testlib.go:32: test directory: "/tmp/testlib_3070410934" +_ smtp.go:127 Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::42989: too many colons in address +_ smtp.go:101 Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::42989: too many colons in address fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>" @@ -821,26 +857,26 @@ fakeserver_test.go:109: fakeServer read: "DATA" fakeserver_test.go:109: fakeServer read: "QUIT" fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestSMTP (0.39s) +--- PASS: TestSMTP (0.15s) === RUN TestSMTPErrors - testlib.go:32: test directory: "/tmp/testlib_955267280" - testlib.go:32: test directory: "/tmp/testlib_1128247341" + testlib.go:32: test directory: "/tmp/testlib_224215634" + testlib.go:32: test directory: "/tmp/testlib_1945656553" fakeserver_test.go:98: fakeServer got connection -_ smtp.go:138 Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:39698->127.0.0.1:45983: 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:39698->127.0.0.1:45983: 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:39698->127.0.0.1:45983: 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:39698->127.0.0.1:45983: i/o timeout) +_ smtp.go:138 Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:37588->127.0.0.1:37261: 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:37588->127.0.0.1:37261: 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:37588->127.0.0.1:37261: 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:37588->127.0.0.1:37261: i/o timeout) fakeserver_test.go:105: fakeServer exiting: EOF - testlib.go:32: test directory: "/tmp/testlib_1095127635" - testlib.go:32: test directory: "/tmp/testlib_3685953937" + testlib.go:32: test directory: "/tmp/testlib_504269876" + testlib.go:32: test directory: "/tmp/testlib_2241948322" 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_3174190348" - testlib.go:32: test directory: "/tmp/testlib_4257773419" + testlib.go:32: test directory: "/tmp/testlib_2941932873" + testlib.go:32: test directory: "/tmp/testlib_1964429975" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>" @@ -848,8 +884,8 @@ _ smtp.go:202 Courier.SMTP to@to: error: MAIL+RCPT 501 rcpt error smtp_test.go:140: failed as expected: MAIL+RCPT 501 rcpt error fakeserver_test.go:105: fakeServer exiting: EOF - testlib.go:32: test directory: "/tmp/testlib_726889671" - testlib.go:32: test directory: "/tmp/testlib_2072397987" + testlib.go:32: test directory: "/tmp/testlib_2425052958" + testlib.go:32: test directory: "/tmp/testlib_743778379" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>" @@ -858,8 +894,8 @@ _ smtp.go:207 Courier.SMTP to@to: error: DATA 554 data error smtp_test.go:140: failed as expected: DATA 554 data error fakeserver_test.go:132: fakeServer exiting: unexpected EOF - testlib.go:32: test directory: "/tmp/testlib_191182027" - testlib.go:32: test directory: "/tmp/testlib_3630351190" + testlib.go:32: test directory: "/tmp/testlib_509358629" + testlib.go:32: test directory: "/tmp/testlib_1491508998" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>" @@ -868,9 +904,9 @@ _ smtp.go:216 Courier.SMTP to@to: error: DATA closing 551 data response error smtp_test.go:140: failed as expected: DATA closing 551 data response error fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestSMTPErrors (2.01s) +--- PASS: TestSMTPErrors (1.34s) === RUN TestNoMXServer - testlib.go:32: test directory: "/tmp/testlib_292400569" + testlib.go:32: test directory: "/tmp/testlib_583148950" _ smtp.go:82 Courier.SMTP to@to: error: Could not find mail server: <nil> smtp_test.go:158: got permanent failure, as expected: Could not find mail server: <nil> --- PASS: TestNoMXServer (0.00s) @@ -885,8 +921,8 @@ === RUN TestLookupInvalidDomain --- PASS: TestLookupInvalidDomain (0.00s) === RUN TestTLS - testlib.go:32: test directory: "/tmp/testlib_1100255031" - testlib.go:32: test directory: "/tmp/testlib_2604704978" + testlib.go:32: test directory: "/tmp/testlib_1332141867" + testlib.go:32: test directory: "/tmp/testlib_3006115455" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -897,7 +933,7 @@ fakeserver_test.go:109: fakeServer read: "DATA" fakeserver_test.go:109: fakeServer read: "QUIT" fakeserver_test.go:105: fakeServer exiting: EOF - testlib.go:32: test directory: "/tmp/testlib_329749913" + testlib.go:32: test directory: "/tmp/testlib_724074127" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" _ domaininfo.go:145 DomainInfo.Outgoing to: error: to outgoing denied: PLAIN < TLS_INSECURE @@ -905,26 +941,26 @@ _ smtp.go:101 Courier.SMTP to@to: error: \"localhost\" returned transient error: Security level check failed (level:PLAIN) _ smtp.go:105 Courier.SMTP to@to: error: all MXs returned transient failures (last: Security level check failed (level:PLAIN)) fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestTLS (0.56s) +--- PASS: TestTLS (0.24s) === RUN TestTLSError - testlib.go:32: test directory: "/tmp/testlib_3841949669" - testlib.go:32: test directory: "/tmp/testlib_2614519777" + testlib.go:32: test directory: "/tmp/testlib_1133474888" + testlib.go:32: test directory: "/tmp/testlib_1666278582" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" _ smtp.go:171 Courier.SMTP to@to: error: TLS error, retrying without TLS: 500 starttls err - fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:105: fakeServer exiting: EOF + fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>" fakeserver_test.go:109: fakeServer read: "RCPT TO:<to@to>" fakeserver_test.go:109: fakeServer read: "DATA" fakeserver_test.go:109: fakeServer read: "QUIT" fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestTLSError (0.64s) +--- PASS: TestTLSError (0.04s) === RUN TestSTSPolicyEnforcement - testlib.go:32: test directory: "/tmp/testlib_316055742" - testlib.go:32: test directory: "/tmp/testlib_985756301" + testlib.go:32: test directory: "/tmp/testlib_3795094555" + testlib.go:32: test directory: "/tmp/testlib_2935033755" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -932,7 +968,7 @@ _ domaininfo.go:153 DomainInfo.Outgoing to: to outgoing level raised: TLS_INSECURE > PLAIN _ smtp.go:194 test test: error: invalid security level (TLS_INSECURE) for STS policy fakeserver_test.go:105: fakeServer exiting: EOF - testlib.go:32: test directory: "/tmp/testlib_17340916" + testlib.go:32: test directory: "/tmp/testlib_1277969754" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -943,11 +979,11 @@ fakeserver_test.go:109: fakeServer read: "DATA" fakeserver_test.go:109: fakeServer read: "QUIT" fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestSTSPolicyEnforcement (0.63s) +--- PASS: TestSTSPolicyEnforcement (0.25s) PASS -ok blitiri.com.ar/go/chasquid/internal/courier 4.503s +ok blitiri.com.ar/go/chasquid/internal/courier 2.150s === RUN TestStringToCanonicalization ---- PASS: TestStringToCanonicalization (0.02s) +--- PASS: TestStringToCanonicalization (0.00s) === RUN TestSimpleBody --- PASS: TestSimpleBody (0.00s) === RUN TestRelaxBody @@ -971,7 +1007,7 @@ === RUN TestSkipBadRecords --- PASS: TestSkipBadRecords (0.00s) === RUN TestParsePublicKey ---- PASS: TestParsePublicKey (0.03s) +--- PASS: TestParsePublicKey (0.01s) === RUN TestPublicKeyMatches --- PASS: TestPublicKeyMatches (0.00s) === RUN TestStrictDomainCheck @@ -981,7 +1017,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:[0x40002978c0 0x4000297920]} + file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40002a5ec0 0x40002a5f20]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1025,7 +1061,7 @@ file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{" v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "test._domainkey.football.example.com":[]string{" v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}} file_test.go:50: Loaded DNS errors: map[] file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n " - file_test.go:56: Want result: &{Found:5 Valid:5 Results:[0x40002e0180 0x40002e01e0 0x40002e0240 0x40002e02a0 0x40002e0300]} + file_test.go:56: Want result: &{Found:5 Valid:5 Results:[0x40002cc780 0x40002cc7e0 0x40002cc840 0x40002cc8a0 0x40002cc900]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1137,7 +1173,7 @@ file_test.go:50: Loaded DNS results: map[string][]string{} file_test.go:50: Loaded DNS errors: map[] file_test.go:55: Message: "DKIM-Signature: v=8; a=ed25519-sha256; c=relaxed/relaxed;\r\n " - file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x40002e0f00]} + file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x40002cd500]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=8; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1151,7 +1187,7 @@ file_test.go:50: Loaded DNS results: map[string][]string{"test._domainkey.football.example.com":[]string{" v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}} file_test.go:50: Loaded DNS errors: map[brisbane._domainkey.football.example.com:lookup : temporary error (for testing)] file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n " - file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x40002e1320 0x40002e1380]} + file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x40002cd920 0x40002cd980]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1185,7 +1221,7 @@ file_test.go:50: Loaded DNS results: map[string][]string{"test._domainkey.football.example.com":[]string{" v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}} file_test.go:50: Loaded DNS errors: map[brisbane._domainkey.football.example.com:lookup : permanent error (for testing)] file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n " - file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x40002e1980 0x40002e19e0]} + file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x4000336000 0x4000336060]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1219,7 +1255,7 @@ file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{" v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB", " v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "test._domainkey.football.example.com":[]string{" v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}} file_test.go:50: Loaded DNS errors: map[] file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n " - file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40003360c0 0x4000336120]} + file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40003366c0 0x4000336720]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1266,7 +1302,7 @@ file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{" v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "selector._domainkey.example.com":[]string{" v=DKIM1; k=ed25519; p=SvoPT692bVrQBT8UNxt6SF538O3snA4fE3/i/glCxwQ="}, "test._domainkey.football.example.com":[]string{" v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}} file_test.go:50: Loaded DNS errors: map[] file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n " - file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x4000336840 0x40003368a0 0x4000336900]} + file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x4000336e40 0x4000336ea0 0x4000336f00]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=selector; t=1709341950; @@ -1326,7 +1362,7 @@ file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{" v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "selector._domainkey.example.com":[]string{" v=DKIM1; k=ed25519; p=SvoPT692bVrQBT8UNxt6SF538O3snA4fE3/i/glCxwQ="}, "test._domainkey.football.example.com":[]string{" v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}} file_test.go:50: Loaded DNS errors: map[] file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n " - file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x40003370e0 0x4000337140 0x40003371a0]} + file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x40003376e0 0x4000337740 0x40003377a0]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=selector; t=1709368031; @@ -1386,7 +1422,7 @@ file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{" v=DKIM1; k=ed25519; t=s; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "test._domainkey.football.example.com":[]string{" v=DKIM1; k=rsa; t=s; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}} file_test.go:50: Loaded DNS errors: map[] file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n " - file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40003379e0 0x4000337a40]} + file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40003a4060 0x40003a40c0]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1432,7 +1468,7 @@ file_test.go:50: Loaded DNS results: map[string][]string{"selector._domainkey.example.com":[]string{" v=DKIM1; k=ed25519; t=s; p=SvoPT692bVrQBT8UNxt6SF538O3snA4fE3/i/glCxwQ="}} file_test.go:50: Loaded DNS errors: map[] file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n " - file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x4000042780]} + file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x40003a4780]} file_test.go:57: Want error: <nil> context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=selector; t=1709466347; @@ -1453,14 +1489,14 @@ context.go:17: Resulting hash: "kFTkVTyR9JWKX/Stl1+sUIuAgitRiOf7MwTBy5a2/ZA=" context.go:17: PK [ed25519:4afa0f4faf766d5a]: Strict domain check failed: "example.com" != "sub.example.com" ("test@sub.example.com") context.go:17: Found 1 signatures, 0 valid ---- PASS: TestFromFiles (0.07s) - --- PASS: TestFromFiles/testdata/01-rfc8463 (0.00s) - --- PASS: TestFromFiles/testdata/02-too_many_headers (0.03s) +--- PASS: TestFromFiles (0.03s) + --- PASS: TestFromFiles/testdata/01-rfc8463 (0.01s) + --- PASS: TestFromFiles/testdata/02-too_many_headers (0.01s) --- PASS: TestFromFiles/testdata/03-bad_message (0.00s) --- PASS: TestFromFiles/testdata/04-bad_dkim_signature_header (0.00s) --- PASS: TestFromFiles/testdata/05-dns_temp_error (0.00s) --- PASS: TestFromFiles/testdata/06-dns_perm_error (0.00s) - --- PASS: TestFromFiles/testdata/07-algo_mismatch (0.03s) + --- PASS: TestFromFiles/testdata/07-algo_mismatch (0.00s) --- PASS: TestFromFiles/testdata/08-our_signature (0.00s) --- PASS: TestFromFiles/testdata/09-limited_body (0.00s) --- PASS: TestFromFiles/testdata/10-strict_domain_check_pass (0.00s) @@ -1488,18 +1524,18 @@ context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n" context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n" context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n" - context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1740978217; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "3GDBzsQgs33hc5GjfZw0//ufRFwdyu/LP9ja/GzBym8=" + context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "2TCw9jk4DuR0eiX2lprJYFZZeBoQPmcdJrwCgMd7RsU=" context.go:17: Found DKIM-Signature header: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=example.com; s=test; t=1740978217; + d=example.com; s=test; t=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; - b=MWvHVtplNMenaJQua6Y00zVAcwgguTg4+Mj6T8gKMNnmZaKAPzhZgdo5rS/8XiulgwDX6b - uT3kods4zGuyrvUlnuFgQp7W67A91uP6drR01ha0ugiM9oWbr2a3lrT2PFkkln6OS3BNo6 - UwzoHe4pAZqVhOV3lCK3V5MMSwJ7Sun9X6/wThqMLUe2XQQe3YxvutQFZAVmoua2Qq5wo0 - LCqe6w1QZYdT+PaB02ba0do+5O0P+PcJpRJAsWi7b6HwMy9/A1RDmRG9MywtC/TLsVFXY0 - 33g5vrZSAeSaUGM+YCD6F/bxS51k6jZCyLAaojIOdowXZbIX6OMw1VtPIovtBA==; - context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAprGpJEWiUOdgXLwMgEWXZYUX5oaEToLu3WJPz9KJ3PWd4xA/TZlQEP1l1AKS84GpqADd6JEmzcOUTAeBD22ZwEAN5KjmhS0dzBJdH8H2BPHEJHiyHZSuygZsqO0Bz3Kwh/Zee0vQrx+cRhCcWPh/1J0o+1NRowkzXIC8/MZDMLPiDDmeTi8Cr4zlo4mRKT7wLa3TAwx3tZIl1qjqb8KE5/5KJqjsTiPQNnLOb5LiI8QkkX4JASKGySjpqdCzJfLWjpbz482SYg5rTporUcOrV/NNfCMU/kU5vqSwx6FODjLQGwChsXPUVP2bz4nShgMDiOt6pot6oIeC5w1yg1vc+QIDAQAB" + b=AxdjwoX5iK+NJlC0LNQD1Z4coWczu7VKPQ+1zF5UAZe8u+xYF5jwJ7UglbyDE5+gU4ONaA + 95fb+bpPtT5b2Oh9Szn7zzH+0scVS8L9/BeEugaDC5h8yxxhCeH30mmOySin5OLRDyW2Ue + b+e8r2zmxpWeee/oiqTEHVyscCojB/jM1vr4t2IPTdKikZ6MuqTi7twv38OcNH/88GCGj+ + qOKhwvs+OEkJLhIIPEQuhTPWCBjzWmTe/yaXlQ70VlQcRPyqT6hHGfToPrbEvNUsoSuvd0 + sn+UeafSz9oMU8oIzSkQMKm7BsAe4fPY3y3RL3rd5cW3iROJAzCXLeJv3bBesQ==; + context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2mO2XPvHxIKFFk3d0Kv7PJ9+3K22UQccCTUHCEkWhMho+HD/3irKAEvhaevIER7CdwjHTnIUdPKAEFwitaqW7ciq3it9nGzOUSLfwba0XalkNwqqBqZmeavpGn4/Ajj81s3amrHrFMlxamC9GYuthicoNdVlIpumqHu64zbEqbLr5CZTeqtUd3Nxwx6S0P/5VVGATqhJUj8U0332RFgNAeHxgWf1BO0WPHtzaIGTMxz2W+YnCDf6cA4avj035ol5xfkUQ1CT1ZvkriGTHGIty1JdGhX6fq3qSXEtE+AcWpUxgaPszJTFtZtjFS9h1/cwv2T7hkZoqNrJHMbdSvrNywIDAQAB" context.go:17: Parsed public key: [rsa:30820122300d0609] context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=" context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n" @@ -1507,11 +1543,11 @@ context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n" context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n" context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n" - context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1740978217; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "3GDBzsQgs33hc5GjfZw0//ufRFwdyu/LP9ja/GzBym8=" + context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "2TCw9jk4DuR0eiX2lprJYFZZeBoQPmcdJrwCgMd7RsU=" context.go:17: PK [rsa:30820122300d0609]: Verification succeeded context.go:17: Found 1 signatures, 1 valid ---- PASS: TestSignRSA (3.28s) +--- PASS: TestSignRSA (0.61s) === RUN TestSignEd25519 context.go:17: Signing for example.com / test with ed25519-sha256 context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n" @@ -1519,27 +1555,27 @@ context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n" context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n" context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n" - context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1740978217; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "kQIZp/JbQROJa5ywfWE+vxamYWIeUS+gKZj50dcyW+A=" + context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "An9Efun8nXyavDdxcEIbjLa5FIcIkW+M2pe2N/dXg0Q=" context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; - d=example.com; s=test; t=1740978217; + d=example.com; s=test; t=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; - b=v7W2z5ZAFFm8rvybZ7PQJOfir12Ps3PRBiKKtcTyGUylvai0h6lSha3WX8IDq+h/j4ULjq - 7YJpD5wPoK+vXFBg==; - context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=blqIMuXE/+0eetQr8ptCdgFk2tZK1ZdsRNQzvrjuHxk=" - context.go:17: Parsed public key: [ed25519:6e5a8832e5c4ffed] + b=MxIq51N9OkORME+/ermsHMiHyp99aTTVJkUAOODqwSeE42ClP0lvazJIXl+x3InV0HNWe4 + 8BGnlo+ND2OzbhDA==; + context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=ZR/GbOldD7d1PHPr7/XUH0rzkn5GsfySV+e+lKDy9yQ=" + context.go:17: Parsed public key: [ed25519:651fc66ce95d0fb7] 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=1740978217; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "kQIZp/JbQROJa5ywfWE+vxamYWIeUS+gKZj50dcyW+A=" - context.go:17: PK [ed25519:6e5a8832e5c4ffed]: Verification succeeded + context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "An9Efun8nXyavDdxcEIbjLa5FIcIkW+M2pe2N/dXg0Q=" + context.go:17: PK [ed25519:651fc66ce95d0fb7]: Verification succeeded context.go:17: Found 1 signatures, 1 valid ---- PASS: TestSignEd25519 (0.02s) +--- PASS: TestSignEd25519 (0.01s) === RUN TestSignBadMessage --- PASS: TestSignBadMessage (0.00s) === RUN TestSignBadAlgorithm @@ -1736,9 +1772,9 @@ --- PASS: FuzzParsePublicKey/seed#12 (0.00s) --- PASS: FuzzParsePublicKey/seed#13 (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/dkim 3.517s +ok blitiri.com.ar/go/chasquid/internal/dkim 0.698s === RUN TestBasic - testlib.go:32: test directory: "/tmp/testlib_1723835538" + testlib.go:32: test directory: "/tmp/testlib_2718485207" _ domaininfo.go:117 DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN _ domaininfo.go:109 DomainInfo.Incoming d1: error: d1 incoming denied: TLS_INSECURE < TLS_SECURE _ domaininfo.go:153 DomainInfo.Outgoing d1: d1 outgoing level raised: TLS_SECURE > PLAIN @@ -1747,14 +1783,14 @@ _ domaininfo.go:182 DomainInfo.SetToPlain d1: set to plain --- PASS: TestBasic (0.00s) === RUN TestNewDomain - testlib.go:32: test directory: "/tmp/testlib_3388366144" + testlib.go:32: test directory: "/tmp/testlib_2149443842" _ domaininfo.go:153 DomainInfo.Outgoing insecure: insecure outgoing level raised: TLS_INSECURE > PLAIN _ domaininfo.go:117 DomainInfo.Incoming insecure: insecure incoming level raised: TLS_INSECURE > PLAIN _ domaininfo.go:153 DomainInfo.Outgoing secure: secure outgoing level raised: TLS_SECURE > PLAIN _ domaininfo.go:117 DomainInfo.Incoming secure: secure incoming level raised: TLS_SECURE > PLAIN --- PASS: TestNewDomain (0.00s) === RUN TestProgressions - testlib.go:32: test directory: "/tmp/testlib_950172594" + testlib.go:32: test directory: "/tmp/testlib_2744299973" _ domaininfo.go:117 DomainInfo.Incoming pisis: pisis incoming level raised: TLS_INSECURE > PLAIN _ domaininfo.go:153 DomainInfo.Outgoing pisis: pisis outgoing level raised: TLS_INSECURE > PLAIN _ domaininfo.go:117 DomainInfo.Incoming pisis: pisis incoming level raised: TLS_SECURE > TLS_INSECURE @@ -1769,27 +1805,27 @@ _ domaininfo.go:145 DomainInfo.Outgoing ssip: error: ssip outgoing denied: PLAIN < TLS_SECURE --- PASS: TestProgressions (0.00s) === RUN TestErrors - testlib.go:32: test directory: "/tmp/testlib_208203662" + testlib.go:32: test directory: "/tmp/testlib_294796215" _ domaininfo.go:117 DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN _ domaininfo.go:67 DomainInfo.Reload reload: error: id \"d1\": proto: syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents _ domaininfo.go:67 DomainInfo.Reload reload: error: id \"d1\": proto: syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents --- PASS: TestErrors (0.00s) === RUN TestDirectoryErrors - testlib.go:32: test directory: "/tmp/testlib_1983272966" -_ domaininfo.go:59 DomainInfo.Reload reload: error: open /tmp/testlib_1983272966/db: no such file or directory -_ domaininfo.go:84 DomainInfo.write d1: error: open /tmp/testlib_1983272966/db/.s:d1913220943: no such file or directory + testlib.go:32: test directory: "/tmp/testlib_2230442110" +_ domaininfo.go:59 DomainInfo.Reload reload: error: open /tmp/testlib_2230442110/db: no such file or directory +_ domaininfo.go:84 DomainInfo.write d1: error: open /tmp/testlib_2230442110/db/.s:d1159431484: no such file or directory --- PASS: TestDirectoryErrors (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/domaininfo 0.085s +ok blitiri.com.ar/go/chasquid/internal/domaininfo 0.031s === RUN TestUsernameNotSafe --- PASS: TestUsernameNotSafe (0.00s) === RUN TestAutodetect - testlib.go:32: test directory: "/tmp/testlib_672158816" ---- PASS: TestAutodetect (0.01s) + testlib.go:32: test directory: "/tmp/testlib_2715562492" +--- PASS: TestAutodetect (0.00s) === RUN TestReload --- PASS: TestReload (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/dovecot 0.080s +ok blitiri.com.ar/go/chasquid/internal/dovecot 0.020s === RUN TestSplit --- PASS: TestSplit (0.00s) === RUN TestDomainIn @@ -1797,13 +1833,13 @@ === RUN TestAddHeader --- PASS: TestAddHeader (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/envelope 0.072s +ok blitiri.com.ar/go/chasquid/internal/envelope 0.007s === RUN TestHandler --- PASS: TestHandler (0.00s) === RUN TestMapLabelAccident --- PASS: TestMapLabelAccident (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/expvarom 0.096s +ok blitiri.com.ar/go/chasquid/internal/expvarom 0.016s === RUN TestNoNewline --- PASS: TestNoNewline (0.00s) === RUN TestBasic @@ -1828,21 +1864,21 @@ haproxy_test.go:69: testing 18: PROXY TCP6 5::5 6::6 7777 8888 --- PASS: TestBasic (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/haproxy 0.084s +ok blitiri.com.ar/go/chasquid/internal/haproxy 0.011s === RUN TestBadServer - asm_arm64.s:1223: FakeServer &{{0x4000206480}}: accepted - asm_arm64.s:1223: FakeServer &{{0x4000206480}}: readRequest: "" "" / EOF - asm_arm64.s:1223: FakeServer &{{0x4000206480}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-283497285/rpc.sock->@: write: broken pipe - asm_arm64.s:1223: FakeServer &{{0x4000206480}}: closing - asm_arm64.s:1223: FakeServer &{{0x4000206600}}: accepted - asm_arm64.s:1223: FakeServer &{{0x4000206600}}: readRequest: "Echo" "" / <nil> - asm_arm64.s:1223: FakeServer &{{0x4000206600}}: writeMessage("xxx"): 3 <nil> - asm_arm64.s:1223: FakeServer &{{0x4000206600}}: closing ---- PASS: TestBadServer (0.03s) + asm_arm64.s:1223: FakeServer &{{0x4000166e80}}: accepted + asm_arm64.s:1223: FakeServer &{{0x4000166e80}}: readRequest: "" "" / EOF + asm_arm64.s:1223: FakeServer &{{0x4000166e80}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-4124196216/rpc.sock->@: write: broken pipe + asm_arm64.s:1223: FakeServer &{{0x4000166e80}}: closing + asm_arm64.s:1223: FakeServer &{{0x4000167000}}: accepted + asm_arm64.s:1223: FakeServer &{{0x4000167000}}: readRequest: "Echo" "" / <nil> + asm_arm64.s:1223: FakeServer &{{0x4000167000}}: writeMessage("xxx"): 3 <nil> + asm_arm64.s:1223: FakeServer &{{0x4000167000}}: closing +--- PASS: TestBadServer (0.01s) === RUN TestBadSocket --- PASS: TestBadSocket (0.00s) === RUN TestEndToEnd -_ localrpc.go:63 LocalRPC.Server /tmp/rpc-test-1481329105/sock: Listening +_ localrpc.go:63 LocalRPC.Server /tmp/rpc-test-416592885/sock: Listening === RUN TestEndToEnd/Echo === RUN TestEndToEnd/Echo#01 === RUN TestEndToEnd/Hola @@ -1850,7 +1886,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-1481329105/sock: error: Accept error: accept unix /tmp/rpc-test-1481329105/sock: use of closed network connection +_ localrpc.go:67 LocalRPC.Server /tmp/rpc-test-416592885/sock: error: Accept error: accept unix /tmp/rpc-test-416592885/sock: use of closed network connection --- PASS: TestEndToEnd (0.01s) --- PASS: TestEndToEnd/Echo (0.00s) --- PASS: TestEndToEnd/Echo#01 (0.00s) @@ -1865,7 +1901,7 @@ === RUN TestShortReadRequest --- PASS: TestShortReadRequest (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/localrpc 0.109s +ok blitiri.com.ar/go/chasquid/internal/localrpc 0.044s === RUN TestLogger --- PASS: TestLogger (0.00s) === RUN TestDefault @@ -1873,7 +1909,7 @@ === RUN TestFailedLogger --- PASS: TestFailedLogger (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/maillog 0.108s +ok blitiri.com.ar/go/chasquid/internal/maillog 0.014s === RUN TestContext --- PASS: TestContext (0.00s) === RUN TestHistogramBasic @@ -1881,15 +1917,15 @@ === RUN TestHistogramEmpty --- PASS: TestHistogramEmpty (0.00s) === RUN TestHTTP ---- PASS: TestHTTP (0.03s) +--- PASS: TestHTTP (0.01s) === RUN TestHTTPLong ---- PASS: TestHTTPLong (0.00s) +--- PASS: TestHTTPLong (0.01s) === RUN TestHTTPErrors ---- PASS: TestHTTPErrors (0.07s) +--- PASS: TestHTTPErrors (0.02s) === RUN TestHTTPUroboro ---- PASS: TestHTTPUroboro (0.03s) +--- PASS: TestHTTPUroboro (0.01s) === RUN TestHTTPDeep ---- PASS: TestHTTPDeep (0.03s) +--- PASS: TestHTTPDeep (0.01s) === RUN TestStripZeros --- PASS: TestStripZeros (0.00s) === RUN TestRegisterHandler @@ -1897,7 +1933,7 @@ === RUN TestBasic --- PASS: TestBasic (0.00s) === RUN TestLong ---- PASS: TestLong (0.02s) +--- PASS: TestLong (0.00s) === RUN TestIsError --- PASS: TestIsError (0.00s) === RUN TestFindViaRef @@ -1909,7 +1945,7 @@ === RUN TestFindParent --- PASS: TestFindParent (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/nettrace 0.326s +ok blitiri.com.ar/go/chasquid/internal/nettrace 0.069s === RUN TestUser --- PASS: TestUser (0.00s) === RUN TestDomain @@ -1969,41 +2005,41 @@ --- PASS: FuzzDomainToUnicode/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70 (0.00s) --- PASS: FuzzDomainToUnicode/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/normalize 0.064s +ok blitiri.com.ar/go/chasquid/internal/normalize 0.010s === RUN TestBin - testlib.go:32: test directory: "/tmp/testlib_2012001404" + testlib.go:32: test directory: "/tmp/testlib_3762785461" --- PASS: TestBin (0.00s) === RUN TestText - testlib.go:32: test directory: "/tmp/testlib_2479216384" + testlib.go:32: test directory: "/tmp/testlib_1418711667" --- PASS: TestText (0.00s) === RUN TestStore - testlib.go:32: test directory: "/tmp/testlib_1996374620" + testlib.go:32: test directory: "/tmp/testlib_236605376" --- PASS: TestStore (0.00s) === RUN TestFileErrors - testlib.go:32: test directory: "/tmp/testlib_2375025879" + testlib.go:32: test directory: "/tmp/testlib_3537345663" --- PASS: TestFileErrors (0.00s) === RUN TestMarshalErrors - testlib.go:32: test directory: "/tmp/testlib_2397060077" + testlib.go:32: test directory: "/tmp/testlib_783411292" --- PASS: TestMarshalErrors (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/protoio 0.072s +ok blitiri.com.ar/go/chasquid/internal/protoio 0.016s ? blitiri.com.ar/go/chasquid/internal/protoio/testpb [no test files] === RUN TestDSN dsn_test.go:49: From: Mail Delivery System <postmaster-dsn@dsnDomain> To: <from@from.org> Subject: Mail delivery failed: returning message to sender - Message-ID: <chasquid-dsn-oBTY_piGhnM@dsnDomain> - Date: Mon, 03 Mar 2025 05:03:39 +0000 + Message-ID: <chasquid-dsn-ge7FxnDlon8@dsnDomain> + Date: Sun, 05 Apr 2026 11:29:12 +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="Yp7aoNlNT1U" + boundary="kSK5zUOadq4" - --Yp7aoNlNT1U + --kSK5zUOadq4 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Description: Notification @@ -2028,7 +2064,7 @@ oh! the humanity! - --Yp7aoNlNT1U + --kSK5zUOadq4 Content-Type: message/global-delivery-status Content-Description: Delivery Report Content-Transfer-Encoding: 8bit @@ -2059,7 +2095,7 @@ - --Yp7aoNlNT1U + --kSK5zUOadq4 Content-Type: message/rfc822 Content-Description: Undelivered Message Content-Transfer-Encoding: 8bit @@ -2069,76 +2105,84 @@ Data ñaca. - --Yp7aoNlNT1U-- + --kSK5zUOadq4-- --- PASS: TestDSN (0.00s) === RUN TestBasic - testlib.go:32: test directory: "/tmp/testlib_43784204" -_ queue.go:308 Queue.SendLoop kjtyUe9HmRo: from from -_ queue.go:367 Queue.SendLoop kjtyUe9HmRo: nodomain sent -_ queue.go:367 Queue.SendLoop kjtyUe9HmRo: am@loco sent -_ queue.go:367 Queue.SendLoop kjtyUe9HmRo: x@remote sent -_ queue.go:342 Queue.SendLoop kjtyUe9HmRo: all done ---- PASS: TestBasic (0.00s) + testlib.go:32: test directory: "/tmp/testlib_1854714090" +_ queue.go:308 Queue.SendLoop nh2m6AP2r8g: from from +_ queue.go:367 Queue.SendLoop nh2m6AP2r8g: am@loco sent +_ queue.go:367 Queue.SendLoop nh2m6AP2r8g: x@remote sent +_ queue.go:367 Queue.SendLoop nh2m6AP2r8g: nodomain sent +_ queue.go:342 Queue.SendLoop nh2m6AP2r8g: all done +--- PASS: TestBasic (0.02s) === RUN TestDSNOnTimeout - testlib.go:32: test directory: "/tmp/testlib_1635825722" -_ queue.go:308 Queue.SendLoop QnHUlR60PR4: from from@loco -_ queue.go:467 Queue.SendLoop QnHUlR60PR4: queued DSN: kcd_zk9Rl3Q -_ queue.go:342 Queue.SendLoop QnHUlR60PR4: all done -_ queue.go:308 Queue.SendLoop kcd_zk9Rl3Q: from <> -_ queue.go:367 Queue.SendLoop kcd_zk9Rl3Q: from@loco sent -_ queue.go:342 Queue.SendLoop kcd_zk9Rl3Q: all done + testlib.go:32: test directory: "/tmp/testlib_3848908369" +_ queue.go:308 Queue.SendLoop kr_k4Wd3wF8: from from@loco +_ queue.go:467 Queue.SendLoop kr_k4Wd3wF8: queued DSN: RHGdxk3N3CQ +_ queue.go:342 Queue.SendLoop kr_k4Wd3wF8: all done +_ queue.go:308 Queue.SendLoop RHGdxk3N3CQ: from <> +_ queue.go:367 Queue.SendLoop RHGdxk3N3CQ: from@loco sent --- PASS: TestDSNOnTimeout (0.00s) +_ queue.go:375 Queue.SendLoop RHGdxk3N3CQ: error: failed to write: rename /tmp/testlib_3848908369/.m:RHGdxk3N3CQ1294895805 /tmp/testlib_3848908369/m:RHGdxk3N3CQ: no such file or directory === RUN TestAliases - testlib.go:32: test directory: "/tmp/testlib_3408530882" -_ queue.go:308 Queue.SendLoop HErstjCjoFM: from from -_ queue.go:367 Queue.SendLoop HErstjCjoFM: ata@hualpa sent -_ queue.go:367 Queue.SendLoop HErstjCjoFM: pq@loco sent -_ queue.go:367 Queue.SendLoop HErstjCjoFM: rs@loco sent -_ queue.go:342 Queue.SendLoop HErstjCjoFM: all done +_ queue.go:342 Queue.SendLoop RHGdxk3N3CQ: all done +E queue.go:230 failed to remove queue file "/tmp/testlib_3848908369/m:RHGdxk3N3CQ": remove /tmp/testlib_3848908369/m:RHGdxk3N3CQ: no such file or directory + testlib.go:32: test directory: "/tmp/testlib_1529550097" +_ queue.go:308 Queue.SendLoop HObzwOxprg8: from from +_ queue.go:367 Queue.SendLoop HObzwOxprg8: ata@hualpa sent +_ queue.go:375 Queue.SendLoop HObzwOxprg8: error: failed to write: rename /tmp/testlib_1529550097/.m:HObzwOxprg855828049 /tmp/testlib_1529550097/m:HObzwOxprg8: no such file or directory --- PASS: TestAliases (0.00s) +_ queue.go:367 Queue.SendLoop HObzwOxprg8: pq@loco sent === RUN TestFullQueue - testlib.go:32: test directory: "/tmp/testlib_1949311582" + testlib.go:32: test directory: "/tmp/testlib_2475488246" +_ queue.go:375 Queue.SendLoop HObzwOxprg8: error: failed to write: open /tmp/testlib_1529550097/.m:HObzwOxprg83263483160: no such file or directory +_ queue.go:367 Queue.SendLoop HObzwOxprg8: rs@loco sent +_ queue.go:375 Queue.SendLoop HObzwOxprg8: error: failed to write: open /tmp/testlib_1529550097/.m:HObzwOxprg82583167036: no such file or directory +_ queue.go:342 Queue.SendLoop HObzwOxprg8: all done +E queue.go:230 failed to remove queue file "/tmp/testlib_1529550097/m:HObzwOxprg8": remove /tmp/testlib_1529550097/m:HObzwOxprg8: no such file or directory _ queue.go:164 Queue.Put from: error: queue full --- PASS: TestFullQueue (0.00s) +_ queue.go:308 Queue.SendLoop TNT9kFmOgmw: from from +_ queue.go:367 Queue.SendLoop TNT9kFmOgmw: to sent === RUN TestPipes - testlib.go:32: test directory: "/tmp/testlib_1829059940" -_ queue.go:308 Queue.SendLoop tdI7PZkmFG4: from from -_ queue.go:367 Queue.SendLoop tdI7PZkmFG4: to sent -_ queue.go:375 Queue.SendLoop tdI7PZkmFG4: error: failed to write: open /tmp/testlib_1949311582/.m:tdI7PZkmFG42861909653: no such file or directory -_ queue.go:342 Queue.SendLoop tdI7PZkmFG4: all done -E queue.go:230 failed to remove queue file "/tmp/testlib_1949311582/m:tdI7PZkmFG4": remove /tmp/testlib_1949311582/m:tdI7PZkmFG4: no such file or directory ---- PASS: TestPipes (0.04s) + testlib.go:32: test directory: "/tmp/testlib_1687978486" +_ queue.go:375 Queue.SendLoop TNT9kFmOgmw: error: failed to write: open /tmp/testlib_2475488246/.m:TNT9kFmOgmw372080792: no such file or directory +_ queue.go:342 Queue.SendLoop TNT9kFmOgmw: all done +E queue.go:230 failed to remove queue file "/tmp/testlib_2475488246/m:TNT9kFmOgmw": remove /tmp/testlib_2475488246/m:TNT9kFmOgmw: 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_1455281069" -_ queue.go:308 Queue.SendLoop 2CgD5VNLJBk: from from@loco -_ queue.go:367 Queue.SendLoop 2CgD5VNLJBk: to@to sent -_ queue.go:342 Queue.SendLoop 2CgD5VNLJBk: all done + testlib.go:32: test directory: "/tmp/testlib_2363119620" +_ queue.go:308 Queue.SendLoop L41r-n78__E: from from@loco +_ queue.go:367 Queue.SendLoop L41r-n78__E: to@to sent --- PASS: TestSerialization (0.00s) +_ queue.go:375 Queue.SendLoop L41r-n78__E: error: failed to write: rename /tmp/testlib_2363119620/.m:L41r-n78__E2061834255 /tmp/testlib_2363119620/m:L41r-n78__E: no such file or directory PASS -ok blitiri.com.ar/go/chasquid/internal/queue 0.179s +_ queue.go:342 Queue.SendLoop L41r-n78__E: all done +E queue.go:230 failed to remove queue file "/tmp/testlib_2363119620/m:L41r-n78__E": remove /tmp/testlib_2363119620/m:L41r-n78__E: no such file or directory +ok blitiri.com.ar/go/chasquid/internal/queue 0.053s === RUN TestWriteFile - testlib.go:32: test directory: "/tmp/testlib_962504631" + testlib.go:32: test directory: "/tmp/testlib_1187962868" --- PASS: TestWriteFile (0.00s) === RUN TestWriteFileWithOp - testlib.go:32: test directory: "/tmp/testlib_267591798" + testlib.go:32: test directory: "/tmp/testlib_1154988021" --- PASS: TestWriteFileWithOp (0.00s) === RUN TestWriteFileWithFailingOp - testlib.go:32: test directory: "/tmp/testlib_1535889651" + testlib.go:32: test directory: "/tmp/testlib_2391371469" --- PASS: TestWriteFileWithFailingOp (0.00s) === RUN TestErrors - testlib.go:32: test directory: "/tmp/testlib_301089845" + testlib.go:32: test directory: "/tmp/testlib_4179540891" --- PASS: TestErrors (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/safeio 0.048s +ok blitiri.com.ar/go/chasquid/internal/safeio 0.016s === RUN TestString --- PASS: TestString (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/set 0.048s +ok blitiri.com.ar/go/chasquid/internal/set 0.007s === RUN TestIsPermanent --- PASS: TestIsPermanent (0.00s) === RUN TestIsASCII @@ -2152,16 +2196,17 @@ === RUN TestFallbackToIDNA --- PASS: TestFallbackToIDNA (0.00s) === RUN TestLineTooLong ---- PASS: TestLineTooLong (0.17s) +--- PASS: TestLineTooLong (0.02s) PASS -ok blitiri.com.ar/go/chasquid/internal/smtp 0.225s -_ server.go:300 Server listening on 127.0.0.1:34005 (SMTP) -2025-03-03 05:03:44.467627 daemon listening on 127.0.0.1:34005 -_ server.go:300 Server listening on 127.0.0.1:38081 (submission) -2025-03-03 05:03:44.467709 daemon listening on 127.0.0.1:38081 -_ server.go:300 Server listening on 127.0.0.1:37615 (submission+TLS) -2025-03-03 05:03:44.467728 daemon listening on 127.0.0.1:37615 +ok blitiri.com.ar/go/chasquid/internal/smtp 0.033s +_ server.go:300 Server listening on 127.0.0.1:36035 (SMTP) +2026-04-05 11:29:13.114564 daemon listening on 127.0.0.1:36035 +_ server.go:300 Server listening on 127.0.0.1:35415 (submission) +2026-04-05 11:29:13.114715 daemon listening on 127.0.0.1:35415 +_ server.go:300 Server listening on 127.0.0.1:46481 (submission+TLS) +2026-04-05 11:29:13.114767 daemon listening on 127.0.0.1:46481 === RUN TestSecLevel +_ conn.go:209 SMTP.Conn 127.0.0.1:49136: error: error completing TLS handshake: EOF _ domaininfo.go:117 DomainInfo.Incoming slc: slc incoming level raised: TLS_CLIENT > PLAIN _ domaininfo.go:109 DomainInfo.Incoming slc: error: slc incoming denied: PLAIN < TLS_CLIENT _ conn.go:559 testconn testconn: error: security level check for slc failed (PLAIN) @@ -2177,181 +2222,180 @@ === RUN TestReadUntilDotReadError --- PASS: TestReadUntilDotReadError (0.00s) === RUN TestSimple -_ conn.go:209 SMTP.Conn 127.0.0.1:37498: error: error completing TLS handshake: EOF -_ conn.go:722 SMTP.Conn 127.0.0.1:50022: Queued from from@from to [to@localhost] - qlAIsXVta3E -2025-03-03 05:03:44.573150 qlAIsXVta3E from=from@from queued ip=127.0.0.1:50022 to=[to@localhost] -_ queue.go:308 Queue.SendLoop qlAIsXVta3E: from from@from -_ queue.go:367 Queue.SendLoop qlAIsXVta3E: testuser@localhost sent -2025-03-03 05:03:44.573341 qlAIsXVta3E from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop qlAIsXVta3E: all done -2025-03-03 05:03:44.573437 qlAIsXVta3E from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:36348: Queued from from@from to [to@localhost] - YTEE6tyav6I +2026-04-05 11:29:13.219291 YTEE6tyav6I from=from@from queued ip=127.0.0.1:36348 to=[to@localhost] +_ queue.go:308 Queue.SendLoop YTEE6tyav6I: from from@from +_ queue.go:367 Queue.SendLoop YTEE6tyav6I: testuser@localhost sent +2026-04-05 11:29:13.219631 YTEE6tyav6I from=from@from to=testuser@localhost sent --- PASS: TestSimple (0.00s) === RUN TestSimpleTLS -_ conn.go:722 SMTP.Conn 127.0.0.1:50032: Queued from from@from to [to@localhost] - 7wdX6OvBKIs -2025-03-03 05:03:44.580278 7wdX6OvBKIs from=from@from queued ip=127.0.0.1:50032 to=[to@localhost] -_ queue.go:308 Queue.SendLoop 7wdX6OvBKIs: from from@from -_ queue.go:367 Queue.SendLoop 7wdX6OvBKIs: testuser@localhost sent -2025-03-03 05:03:44.580359 7wdX6OvBKIs from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop 7wdX6OvBKIs: all done -2025-03-03 05:03:44.580461 7wdX6OvBKIs from=from@from all done +_ queue.go:342 Queue.SendLoop YTEE6tyav6I: all done +2026-04-05 11:29:13.220019 YTEE6tyav6I from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:36350: Queued from from@from to [to@localhost] - KnUzOtkbbu4 +2026-04-05 11:29:13.226181 KnUzOtkbbu4 from=from@from queued ip=127.0.0.1:36350 to=[to@localhost] +_ queue.go:308 Queue.SendLoop KnUzOtkbbu4: from from@from +_ queue.go:367 Queue.SendLoop KnUzOtkbbu4: testuser@localhost sent +2026-04-05 11:29:13.226373 KnUzOtkbbu4 from=from@from to=testuser@localhost sent --- PASS: TestSimpleTLS (0.01s) +_ queue.go:342 Queue.SendLoop KnUzOtkbbu4: all done +2026-04-05 11:29:13.226617 KnUzOtkbbu4 from=from@from all done === RUN TestManyEmails -_ conn.go:722 SMTP.Conn 127.0.0.1:50046: Queued from from@from to [to@localhost] - z6aaJdq6SDE -2025-03-03 05:03:44.600171 z6aaJdq6SDE from=from@from queued ip=127.0.0.1:50046 to=[to@localhost] -_ queue.go:308 Queue.SendLoop z6aaJdq6SDE: from from@from -_ queue.go:367 Queue.SendLoop z6aaJdq6SDE: testuser@localhost sent -2025-03-03 05:03:44.600243 z6aaJdq6SDE from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop z6aaJdq6SDE: all done -2025-03-03 05:03:44.600336 z6aaJdq6SDE from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:50046: Queued from from@from to [to@localhost] - cEwaOuPWxhg -2025-03-03 05:03:44.600634 cEwaOuPWxhg from=from@from queued ip=127.0.0.1:50046 to=[to@localhost] -_ queue.go:308 Queue.SendLoop cEwaOuPWxhg: from from@from -_ queue.go:367 Queue.SendLoop cEwaOuPWxhg: testuser@localhost sent -2025-03-03 05:03:44.600685 cEwaOuPWxhg from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop cEwaOuPWxhg: all done -2025-03-03 05:03:44.600754 cEwaOuPWxhg from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:50046: Queued from from@from to [to@localhost] - cvsEdTaNkKs -2025-03-03 05:03:44.601004 cvsEdTaNkKs from=from@from queued ip=127.0.0.1:50046 to=[to@localhost] -_ queue.go:308 Queue.SendLoop cvsEdTaNkKs: from from@from -_ queue.go:367 Queue.SendLoop cvsEdTaNkKs: testuser@localhost sent -2025-03-03 05:03:44.601058 cvsEdTaNkKs from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop cvsEdTaNkKs: all done -2025-03-03 05:03:44.601123 cvsEdTaNkKs from=from@from all done ---- PASS: TestManyEmails (0.02s) +_ conn.go:722 SMTP.Conn 127.0.0.1:36356: Queued from from@from to [to@localhost] - eo6rVS04DWA +2026-04-05 11:29:13.232590 eo6rVS04DWA from=from@from queued ip=127.0.0.1:36356 to=[to@localhost] +_ queue.go:308 Queue.SendLoop eo6rVS04DWA: from from@from +_ queue.go:367 Queue.SendLoop eo6rVS04DWA: testuser@localhost sent +2026-04-05 11:29:13.232774 eo6rVS04DWA from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop eo6rVS04DWA: all done +2026-04-05 11:29:13.233019 eo6rVS04DWA from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:36356: Queued from from@from to [to@localhost] - livsXRTSKW0 +2026-04-05 11:29:13.233681 livsXRTSKW0 from=from@from queued ip=127.0.0.1:36356 to=[to@localhost] +_ queue.go:308 Queue.SendLoop livsXRTSKW0: from from@from +_ queue.go:367 Queue.SendLoop livsXRTSKW0: testuser@localhost sent +2026-04-05 11:29:13.233838 livsXRTSKW0 from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop livsXRTSKW0: all done +2026-04-05 11:29:13.234035 livsXRTSKW0 from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:36356: Queued from from@from to [to@localhost] - hM85emqUYZo +2026-04-05 11:29:13.234672 hM85emqUYZo from=from@from queued ip=127.0.0.1:36356 to=[to@localhost] +_ queue.go:308 Queue.SendLoop hM85emqUYZo: from from@from +_ queue.go:367 Queue.SendLoop hM85emqUYZo: testuser@localhost sent +2026-04-05 11:29:13.234851 hM85emqUYZo from=from@from to=testuser@localhost sent +--- PASS: TestManyEmails (0.01s) === RUN TestAuth -2025-03-03 05:03:44.840534 127.0.0.1:35918 auth succeeded for testuser@localhost -_ conn.go:722 SMTP.Conn 127.0.0.1:35918: Queued from testuser@localhost to [to@localhost] - iFLYm4Tittk -2025-03-03 05:03:44.842376 iFLYm4Tittk from=testuser@localhost queued ip=127.0.0.1:35918 to=[to@localhost] -_ queue.go:308 Queue.SendLoop iFLYm4Tittk: from testuser@localhost -_ queue.go:367 Queue.SendLoop iFLYm4Tittk: testuser@localhost sent -2025-03-03 05:03:44.842483 iFLYm4Tittk from=testuser@localhost to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop iFLYm4Tittk: all done -2025-03-03 05:03:44.842572 iFLYm4Tittk from=testuser@localhost all done ---- PASS: TestAuth (0.24s) +_ queue.go:342 Queue.SendLoop hM85emqUYZo: all done +2026-04-05 11:29:13.235084 hM85emqUYZo from=from@from all done +2026-04-05 11:29:13.344693 127.0.0.1:59794 auth succeeded for testuser@localhost +_ conn.go:722 SMTP.Conn 127.0.0.1:59794: Queued from testuser@localhost to [to@localhost] - LmtBY4bn_YM +2026-04-05 11:29:13.345745 LmtBY4bn_YM from=testuser@localhost queued ip=127.0.0.1:59794 to=[to@localhost] +_ queue.go:308 Queue.SendLoop LmtBY4bn_YM: from testuser@localhost +_ queue.go:367 Queue.SendLoop LmtBY4bn_YM: testuser@localhost sent +2026-04-05 11:29:13.345861 LmtBY4bn_YM from=testuser@localhost to=testuser@localhost sent +--- PASS: TestAuth (0.11s) +_ queue.go:342 Queue.SendLoop LmtBY4bn_YM: all done +2026-04-05 11:29:13.346033 LmtBY4bn_YM from=testuser@localhost all done === RUN TestSubmissionWithoutAuth -_ conn.go:318 SMTP.Conn 127.0.0.1:35920: error: MAIL failed: 550 5.7.9 Mail to submission port must be authenticated ---- PASS: TestSubmissionWithoutAuth (0.00s) +_ conn.go:318 SMTP.Conn 127.0.0.1:59810: error: MAIL failed: 550 5.7.9 Mail to submission port must be authenticated +--- PASS: TestSubmissionWithoutAuth (0.01s) === RUN TestAuthOnTLS -2025-03-03 05:03:45.111455 127.0.0.1:37510 auth succeeded for testuser@localhost -_ conn.go:722 SMTP.Conn 127.0.0.1:37510: Queued from testuser@localhost to [to@localhost] - hvokU1ii2t4 -2025-03-03 05:03:45.112082 hvokU1ii2t4 from=testuser@localhost queued ip=127.0.0.1:37510 to=[to@localhost] -_ queue.go:308 Queue.SendLoop hvokU1ii2t4: from testuser@localhost -_ queue.go:367 Queue.SendLoop hvokU1ii2t4: testuser@localhost sent -2025-03-03 05:03:45.112159 hvokU1ii2t4 from=testuser@localhost to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop hvokU1ii2t4: all done -2025-03-03 05:03:45.112256 hvokU1ii2t4 from=testuser@localhost all done ---- PASS: TestAuthOnTLS (0.27s) +2026-04-05 11:29:13.457581 127.0.0.1:49144 auth succeeded for testuser@localhost +_ conn.go:722 SMTP.Conn 127.0.0.1:49144: Queued from testuser@localhost to [to@localhost] - wxyOxEiBMo4 +2026-04-05 11:29:13.458512 wxyOxEiBMo4 from=testuser@localhost queued ip=127.0.0.1:49144 to=[to@localhost] +_ queue.go:308 Queue.SendLoop wxyOxEiBMo4: from testuser@localhost +_ queue.go:367 Queue.SendLoop wxyOxEiBMo4: testuser@localhost sent +2026-04-05 11:29:13.458730 wxyOxEiBMo4 from=testuser@localhost to=testuser@localhost sent +--- PASS: TestAuthOnTLS (0.11s) +_ queue.go:342 Queue.SendLoop wxyOxEiBMo4: all done +2026-04-05 11:29:13.458992 wxyOxEiBMo4 from=testuser@localhost all done === RUN TestAuthOnSMTP -2025-03-03 05:03:45.368567 127.0.0.1:50056 auth succeeded for testuser@localhost -_ conn.go:722 SMTP.Conn 127.0.0.1:50056: Queued from testuser@localhost to [to@localhost] - Zz44YGINqyY -2025-03-03 05:03:45.369218 Zz44YGINqyY from=testuser@localhost queued ip=127.0.0.1:50056 to=[to@localhost] -_ queue.go:308 Queue.SendLoop Zz44YGINqyY: from testuser@localhost -_ queue.go:367 Queue.SendLoop Zz44YGINqyY: testuser@localhost sent -2025-03-03 05:03:45.369298 Zz44YGINqyY from=testuser@localhost to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop Zz44YGINqyY: all done -2025-03-03 05:03:45.369404 Zz44YGINqyY from=testuser@localhost all done ---- PASS: TestAuthOnSMTP (0.26s) +2026-04-05 11:29:13.566622 127.0.0.1:36358 auth succeeded for testuser@localhost +_ conn.go:722 SMTP.Conn 127.0.0.1:36358: Queued from testuser@localhost to [to@localhost] - t5C2T5BK-ZM +2026-04-05 11:29:13.567654 t5C2T5BK-ZM from=testuser@localhost queued ip=127.0.0.1:36358 to=[to@localhost] +_ queue.go:308 Queue.SendLoop t5C2T5BK-ZM: from testuser@localhost +_ queue.go:367 Queue.SendLoop t5C2T5BK-ZM: testuser@localhost sent +2026-04-05 11:29:13.567849 t5C2T5BK-ZM from=testuser@localhost to=testuser@localhost sent +--- PASS: TestAuthOnSMTP (0.11s) === RUN TestBrokenAuth -_ conn.go:1193 SMTP.Conn 127.0.0.1:35932: error: error authenticating \"user\"@\"broken\": failed to auth -2025-03-03 05:03:45.485954 127.0.0.1:35932 auth failed for user@broken -_ conn.go:318 SMTP.Conn 127.0.0.1:35932: error: AUTH failed: 454 4.7.0 Temporary authentication failure -_ conn.go:318 SMTP.Conn 127.0.0.1:35932: error: unknown<\"*\"> failed: 500 5.5.1 Unknown command ---- PASS: TestBrokenAuth (0.12s) +_ queue.go:342 Queue.SendLoop t5C2T5BK-ZM: all done +2026-04-05 11:29:13.568128 t5C2T5BK-ZM from=testuser@localhost all done +_ conn.go:1193 SMTP.Conn 127.0.0.1:59822: error: error authenticating \"user\"@\"broken\": failed to auth +2026-04-05 11:29:13.680560 127.0.0.1:59822 auth failed for user@broken +_ conn.go:318 SMTP.Conn 127.0.0.1:59822: error: AUTH failed: 454 4.7.0 Temporary authentication failure +_ conn.go:318 SMTP.Conn 127.0.0.1:59822: error: unknown<\"*\"> failed: 500 5.5.1 Unknown command +--- PASS: TestBrokenAuth (0.11s) === RUN TestWrongMailParsing -_ conn.go:318 SMTP.Conn 127.0.0.1:50060: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50060: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50060: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50060: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50072: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50072: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50072: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50072: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50082: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50082: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50082: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50082: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50096: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50096: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50096: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50096: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50112: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50112: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50112: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50112: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50116: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50116: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50116: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50116: error: too many errors, breaking connection ---- PASS: TestWrongMailParsing (0.00s) +_ conn.go:318 SMTP.Conn 127.0.0.1:36362: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:36362: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:36362: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:36362: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:36370: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:36370: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:36370: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:36370: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:36376: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:36376: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:36376: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:36376: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:36390: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:36390: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:36390: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:36390: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:36394: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:36394: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:36394: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:36394: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:36400: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:36400: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:36400: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:36400: error: too many errors, breaking connection +--- PASS: TestWrongMailParsing (0.01s) === RUN TestNullMailFrom --- PASS: TestNullMailFrom (0.00s) === RUN TestRcptBeforeMail -_ conn.go:318 SMTP.Conn 127.0.0.1:50132: error: RCPT failed: 503 5.5.1 Sender not yet given +_ conn.go:318 SMTP.Conn 127.0.0.1:36430: error: RCPT failed: 503 5.5.1 Sender not yet given --- PASS: TestRcptBeforeMail (0.00s) === RUN TestRcptOption --- PASS: TestRcptOption (0.01s) === RUN TestRelayForbidden -2025-03-03 05:03:45.495991 127.0.0.1:50150 rejected from=from@somewhere to=[to@somewhere] - relay not allowed -_ conn.go:318 SMTP.Conn 127.0.0.1:50150: error: RCPT failed: 503 5.7.1 Relay not allowed +2026-04-05 11:29:13.695420 127.0.0.1:36446 rejected from=from@somewhere to=[to@somewhere] - relay not allowed +_ conn.go:318 SMTP.Conn 127.0.0.1:36446: error: RCPT failed: 503 5.7.1 Relay not allowed --- PASS: TestRelayForbidden (0.00s) === RUN TestTooManyRecipients -2025-03-03 05:03:45.811526 127.0.0.1:35946 auth succeeded for testuser@localhost -_ conn.go:318 SMTP.Conn 127.0.0.1:35946: error: RCPT failed: 452 4.5.3 Too many recipients ---- PASS: TestTooManyRecipients (0.32s) +2026-04-05 11:29:13.802601 127.0.0.1:59830 auth succeeded for testuser@localhost +_ conn.go:318 SMTP.Conn 127.0.0.1:59830: 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:50162: error: error checking if user \"to@broken\" exists: failed to check if user exists -2025-03-03 05:03:45.826996 127.0.0.1:50162 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:50162: error: RCPT failed: 451 4.4.3 Temporary error checking address ---- PASS: TestRcptBrokenExists (0.01s) +_ conn.go:622 SMTP.Conn 127.0.0.1:36452: error: error checking if user \"to@broken\" exists: failed to check if user exists +2026-04-05 11:29:13.813203 127.0.0.1:36452 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:36452: error: RCPT failed: 451 4.4.3 Temporary error checking address +--- PASS: TestRcptBrokenExists (0.00s) === RUN TestRcptUserDoesNotExist -2025-03-03 05:03:45.829271 127.0.0.1:50176 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist -_ conn.go:318 SMTP.Conn 127.0.0.1:50176: error: RCPT failed: 550 5.1.1 Destination address is unknown (user does not exist) +2026-04-05 11:29:13.816991 127.0.0.1:36466 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist +_ conn.go:318 SMTP.Conn 127.0.0.1:36466: 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:50184: Queued from from@from to [to@localhost] - hV-elMndMSY -2025-03-03 05:03:46.131984 hV-elMndMSY from=from@from queued ip=127.0.0.1:50184 to=[to@localhost] -_ queue.go:308 Queue.SendLoop hV-elMndMSY: from from@from -_ queue.go:367 Queue.SendLoop hV-elMndMSY: testuser@localhost sent -2025-03-03 05:03:46.132132 hV-elMndMSY from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop hV-elMndMSY: all done -2025-03-03 05:03:46.196885 hV-elMndMSY from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:50184: Queued from from@from to [to@localhost] - aQDuteKQZRc -2025-03-03 05:03:46.474616 aQDuteKQZRc from=from@from queued ip=127.0.0.1:50184 to=[to@localhost] -_ queue.go:308 Queue.SendLoop aQDuteKQZRc: from from@from -_ queue.go:367 Queue.SendLoop aQDuteKQZRc: testuser@localhost sent -2025-03-03 05:03:46.474764 aQDuteKQZRc from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop aQDuteKQZRc: all done -2025-03-03 05:03:46.557826 aQDuteKQZRc from=from@from all done -_ conn.go:318 SMTP.Conn 127.0.0.1:50184: error: DATA failed: 552 5.3.4 Message too big -_ conn.go:722 SMTP.Conn 127.0.0.1:50184: Queued from from@from to [to@localhost] - P4BzsFLJPFc -2025-03-03 05:03:46.986150 P4BzsFLJPFc from=from@from queued ip=127.0.0.1:50184 to=[to@localhost] -_ queue.go:308 Queue.SendLoop P4BzsFLJPFc: from from@from -_ queue.go:367 Queue.SendLoop P4BzsFLJPFc: testuser@localhost sent -2025-03-03 05:03:46.986280 P4BzsFLJPFc from=from@from to=testuser@localhost sent ---- PASS: TestTooMuchData (1.16s) +_ conn.go:722 SMTP.Conn 127.0.0.1:36472: Queued from from@from to [to@localhost] - SMD2X1Ie-zY +2026-04-05 11:29:13.957431 SMD2X1Ie-zY from=from@from queued ip=127.0.0.1:36472 to=[to@localhost] +_ queue.go:308 Queue.SendLoop SMD2X1Ie-zY: from from@from +_ queue.go:367 Queue.SendLoop SMD2X1Ie-zY: testuser@localhost sent +2026-04-05 11:29:13.957623 SMD2X1Ie-zY from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop SMD2X1Ie-zY: all done +2026-04-05 11:29:13.989474 SMD2X1Ie-zY from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:36472: Queued from from@from to [to@localhost] - -Eplxvf2ips +2026-04-05 11:29:14.114811 -Eplxvf2ips from=from@from queued ip=127.0.0.1:36472 to=[to@localhost] +_ queue.go:308 Queue.SendLoop -Eplxvf2ips: from from@from +_ queue.go:367 Queue.SendLoop -Eplxvf2ips: testuser@localhost sent +2026-04-05 11:29:14.115007 -Eplxvf2ips from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop -Eplxvf2ips: all done +2026-04-05 11:29:14.148646 -Eplxvf2ips from=from@from all done +_ conn.go:318 SMTP.Conn 127.0.0.1:36472: error: DATA failed: 552 5.3.4 Message too big +_ conn.go:722 SMTP.Conn 127.0.0.1:36472: Queued from from@from to [to@localhost] - 45tjuNZtRgQ +2026-04-05 11:29:14.400966 45tjuNZtRgQ from=from@from queued ip=127.0.0.1:36472 to=[to@localhost] +_ queue.go:308 Queue.SendLoop 45tjuNZtRgQ: from from@from +_ queue.go:367 Queue.SendLoop 45tjuNZtRgQ: testuser@localhost sent +2026-04-05 11:29:14.401150 45tjuNZtRgQ from=from@from to=testuser@localhost sent +--- PASS: TestTooMuchData (0.58s) === RUN TestSimpleCommands -_ conn.go:318 SMTP.Conn 127.0.0.1:50200: 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:50200: error: EXPN failed: 502 5.5.1 You feel disoriented for a moment. ---- PASS: TestSimpleCommands (0.01s) +_ conn.go:318 SMTP.Conn 127.0.0.1:36486: 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:36486: 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:50202: error: unknown<\"\"> failed: 500 5.5.1 Unknown command -_ conn.go:348 SMTP.Conn 127.0.0.1:50202: error: exiting with error: line too long +_ conn.go:318 SMTP.Conn 127.0.0.1:36492: error: unknown<\"\"> failed: 500 5.5.1 Unknown command +_ conn.go:348 SMTP.Conn 127.0.0.1:36492: 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:50230: error: STARTTLS failed: 503 5.5.1 You are already wearing that! ---- PASS: TestRepeatedStartTLS (0.00s) +_ conn.go:318 SMTP.Conn 127.0.0.1:36510: error: STARTTLS failed: 503 5.5.1 You are already wearing that! +--- PASS: TestRepeatedStartTLS (0.01s) === RUN TestStartTLSOnTLS -_ conn.go:318 SMTP.Conn 127.0.0.1:37524: error: STARTTLS failed: 503 5.5.1 You are already wearing that! ---- PASS: TestStartTLSOnTLS (0.00s) +_ conn.go:318 SMTP.Conn 127.0.0.1:49152: error: STARTTLS failed: 503 5.5.1 You are already wearing that! +--- PASS: TestStartTLSOnTLS (0.01s) === RUN TestAddDKIMSigner - testlib.go:32: test directory: "/tmp/testlib_2410157441" ---- PASS: TestAddDKIMSigner (0.00s) + testlib.go:32: test directory: "/tmp/testlib_1738394483" +--- PASS: TestAddDKIMSigner (0.01s) === RUN FuzzConnection --- PASS: FuzzConnection (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/smtpsrv 3.482s +ok blitiri.com.ar/go/chasquid/internal/smtpsrv 1.598s === RUN TestParsePolicy sts_test.go:90: pol1: &{Version:STSv1 Mode:enforce MXs:[*.mail.example.com] MaxAge:34h17m36s} --- PASS: TestParsePolicy (0.00s) @@ -2366,19 +2410,19 @@ sts_test.go:210: policy404: got error as expected: HTTP response status code: 404 sts_test.go:218: version99: got expected error: unknown policy version sts_test.go:226: domErr: got expected error: error for testing purposes ---- PASS: TestFetch (0.02s) +--- PASS: TestFetch (0.00s) === RUN TestPolicyTooBig sts_test.go:242: got error as expected: MTA-STS TXT record missing ---- PASS: TestPolicyTooBig (0.08s) +--- PASS: TestPolicyTooBig (0.01s) === RUN TestCacheBasics - testlib.go:32: test directory: "/tmp/testlib_1656393701" + testlib.go:32: test directory: "/tmp/testlib_1422086330" sts_test.go:277: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} sts_test.go:286: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} sts_test.go:300: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} sts_test.go:309: cache fetched domErr: <nil> --- PASS: TestCacheBasics (0.00s) === RUN TestCacheBadData - testlib.go:32: test directory: "/tmp/testlib_3731126174" + testlib.go:32: test directory: "/tmp/testlib_1370693015" 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} @@ -2387,13 +2431,13 @@ sts_test.go:372: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} --- PASS: TestCacheBadData (0.00s) === RUN TestCacheRefresh - testlib.go:32: test directory: "/tmp/testlib_396970958" + testlib.go:32: test directory: "/tmp/testlib_1642049663" sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s} sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s} sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 3m20s} --- PASS: TestCacheRefresh (0.01s) === RUN TestCacheSlashSafe - testlib.go:32: test directory: "/tmp/testlib_1358492733" + testlib.go:32: test directory: "/tmp/testlib_500807180" sts_test.go:464: recovered: domain contains slash --- PASS: TestCacheSlashSafe (0.00s) === RUN TestURLForDomain @@ -2403,9 +2447,9 @@ === RUN TestHTTPGet --- PASS: TestHTTPGet (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/sts 0.199s +ok blitiri.com.ar/go/chasquid/internal/sts 0.060s === RUN TestBasic - testlib.go:32: test directory: "/tmp/testlib_1252584692" + testlib.go:32: test directory: "/tmp/testlib_575725600" --- PASS: TestBasic (0.00s) === RUN TestRemoveCheck testlib_test.go:33: recovered: invalid/dangerous directory @@ -2416,55 +2460,55 @@ testlib_test.go:60: recovered: invalid/dangerous path --- PASS: TestRewriteSafeguard (0.00s) === RUN TestRewrite - testlib.go:32: test directory: "/tmp/testlib_1918183047" + testlib.go:32: test directory: "/tmp/testlib_3536158775" --- 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_3622976114" ---- PASS: TestGenerateCert (0.13s) + testlib.go:32: test directory: "/tmp/testlib_3588692084" +--- PASS: TestGenerateCert (0.18s) === RUN TestGenerateCertBadDir ---- PASS: TestGenerateCertBadDir (0.45s) +--- PASS: TestGenerateCertBadDir (0.05s) PASS -ok blitiri.com.ar/go/chasquid/internal/testlib 0.688s +ok blitiri.com.ar/go/chasquid/internal/testlib 0.271s === RUN TestVersionName --- PASS: TestVersionName (0.00s) === RUN TestCipherSuiteName --- PASS: TestCipherSuiteName (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/tlsconst 0.056s +ok blitiri.com.ar/go/chasquid/internal/tlsconst 0.008s ? blitiri.com.ar/go/chasquid/internal/trace [no test files] === RUN TestEmptyLoad - userdb_test.go:37: file: "/tmp/userdb_test2062082825" - userdb_test.go:37: file: "/tmp/userdb_test1254167249" + userdb_test.go:37: file: "/tmp/userdb_test2764432761" + userdb_test.go:37: file: "/tmp/userdb_test536140787" --- PASS: TestEmptyLoad (0.00s) === RUN TestWrite - userdb_test.go:37: file: "/tmp/userdb_test1414895537" ---- PASS: TestWrite (1.67s) + userdb_test.go:37: file: "/tmp/userdb_test1554074399" +--- PASS: TestWrite (0.69s) === RUN TestNew ---- PASS: TestNew (0.18s) +--- PASS: TestNew (0.09s) === RUN TestInvalidUsername - userdb_test.go:37: file: "/tmp/userdb_test2487358459" + userdb_test.go:37: file: "/tmp/userdb_test1786648898" --- PASS: TestInvalidUsername (0.00s) === RUN TestPlainScheme - userdb_test.go:37: file: "/tmp/userdb_test2803763334" + userdb_test.go:37: file: "/tmp/userdb_test1648641794" --- PASS: TestPlainScheme (0.00s) === RUN TestDeniedScheme - userdb_test.go:37: file: "/tmp/userdb_test3282265677" + userdb_test.go:37: file: "/tmp/userdb_test3093772396" --- PASS: TestDeniedScheme (0.00s) === RUN TestReload - userdb_test.go:37: file: "/tmp/userdb_test2967761807" + userdb_test.go:37: file: "/tmp/userdb_test2597005097" --- PASS: TestReload (0.00s) === RUN TestRemoveUser - userdb_test.go:37: file: "/tmp/userdb_test1060578414" ---- PASS: TestRemoveUser (0.20s) + userdb_test.go:37: file: "/tmp/userdb_test1393765806" +--- PASS: TestRemoveUser (0.10s) === RUN TestExists - userdb_test.go:37: file: "/tmp/userdb_test1558677626" ---- PASS: TestExists (0.17s) + userdb_test.go:37: file: "/tmp/userdb_test57548323" +--- PASS: TestExists (0.06s) PASS -ok blitiri.com.ar/go/chasquid/internal/userdb 2.288s +ok blitiri.com.ar/go/chasquid/internal/userdb 0.964s create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang @@ -2527,12 +2571,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/3221856/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3221856/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/1861360 and its subdirectories -I: Current time: Sun Mar 2 17:05:04 -12 2025 -I: pbuilder-time-stamp: 1740978304 +I: removing directory /srv/workspace/pbuilder/3221856 and its subdirectories +I: Current time: Mon Apr 6 01:29:35 +14 2026 +I: pbuilder-time-stamp: 1775388575