Diff of the two buildlogs: -- --- b1/build.log 2025-03-05 22:53:57.602722685 +0000 +++ b2/build.log 2025-03-05 23:01:45.841536435 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Apr 7 17:15:18 -12 2026 -I: pbuilder-time-stamp: 1775625318 +I: Current time: Thu Mar 6 12:54:00 +14 2025 +I: pbuilder-time-stamp: 1741215240 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -24,52 +24,84 @@ dpkg-source: info: applying 0001-Use_chasquid_user.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/607914/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/4192315/tmp/hooks/D01_modify_environment starting +debug: Running on ionos11-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Mar 5 22:54 /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/4192315/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/4192315/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='0cbc5283dab24c7bab29e287e90e2001' - 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='607914' - PS1='# ' - PS2='> ' + INVOCATION_ID=ec1f6ed0da554b4d8af2793a527eaaf5 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=4192315 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.sG5e0ZMp/pbuilderrc_lLh0 --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.sG5e0ZMp/b1 --logfile b1/build.log chasquid_1.15.0-1.dsc' - SUDO_GID='111' - SUDO_UID='106' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152: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.sG5e0ZMp/pbuilderrc_WNb8 --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.sG5e0ZMp/b2 --logfile b2/build.log chasquid_1.15.0-1.dsc' + SUDO_GID=111 + SUDO_UID=106 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos15-amd64 6.12.12+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1~bpo12+1 (2025-02-23) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.128-1 (2025-02-07) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Nov 22 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/607914/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Nov 22 14:40 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/4192315/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -173,7 +205,7 @@ Get: 44 http://deb.debian.org/debian trixie/main amd64 golang-blitiri-go-log-dev all 1.1.0-1 [6724 B] Get: 45 http://deb.debian.org/debian trixie/main amd64 golang-blitiri-go-spf-dev all 1.5.1-1 [37.2 kB] Get: 46 http://deb.debian.org/debian trixie/main amd64 golang-blitiri-go-systemd-dev all 1.1.0-1 [6952 B] -Fetched 77.6 MB in 5s (16.2 MB/s) +Fetched 77.6 MB in 4s (19.0 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 ... 19800 files and directories currently installed.) @@ -372,7 +404,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/4192315/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/4192315/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/chasquid-1.15.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../chasquid_1.15.0-1_source.changes dpkg-buildpackage: info: source package chasquid dpkg-buildpackage: info: source version 1.15.0-1 dpkg-buildpackage: info: source distribution unstable @@ -392,272 +428,272 @@ debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/chasquid-1.15.0' dh_auto_build -- -ldflags " -X main.version=1.15.0-1 -X main.sourceDateTs=1737288581" - cd obj-x86_64-linux-gnu && go install -trimpath -v -p 42 -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 + cd obj-x86_64-linux-gnu && go install -trimpath -v -p 20 -ldflags " -X main.version=1.15.0-1 -X main.sourceDateTs=1737288581" blitiri.com.ar/go/chasquid blitiri.com.ar/go/chasquid/cmd/chasquid-util blitiri.com.ar/go/chasquid/cmd/mda-lmtp blitiri.com.ar/go/chasquid/cmd/smtp-check blitiri.com.ar/go/chasquid/internal/aliases blitiri.com.ar/go/chasquid/internal/auth blitiri.com.ar/go/chasquid/internal/config blitiri.com.ar/go/chasquid/internal/courier blitiri.com.ar/go/chasquid/internal/dkim blitiri.com.ar/go/chasquid/internal/domaininfo blitiri.com.ar/go/chasquid/internal/dovecot blitiri.com.ar/go/chasquid/internal/envelope blitiri.com.ar/go/chasquid/internal/expvarom blitiri.com.ar/go/chasquid/internal/haproxy blitiri.com.ar/go/chasquid/internal/localrpc blitiri.com.ar/go/chasquid/internal/maillog blitiri.com.ar/go/chasquid/internal/nettrace blitiri.com.ar/go/chasquid/internal/normalize blitiri.com.ar/go/chasquid/internal/protoio blitiri.com.ar/go/chasquid/internal/protoio/testpb blitiri.com.ar/go/chasquid/internal/queue blitiri.com.ar/go/chasquid/internal/safeio blitiri.com.ar/go/chasquid/internal/set blitiri.com.ar/go/chasquid/internal/smtp blitiri.com.ar/go/chasquid/internal/smtpsrv blitiri.com.ar/go/chasquid/internal/sts blitiri.com.ar/go/chasquid/internal/testlib blitiri.com.ar/go/chasquid/internal/tlsconst blitiri.com.ar/go/chasquid/internal/trace blitiri.com.ar/go/chasquid/internal/userdb +internal/asan internal/unsafeheader -container/ring +internal/itoa +encoding +unicode/utf8 +cmp +math/bits internal/byteorder +internal/msan +unicode internal/goarch -cmp -crypto/internal/fips140/alias -encoding +internal/godebugs +log/internal +internal/goexperiment internal/coverage/rtcov internal/goos -unicode/utf8 -google.golang.org/protobuf/internal/flags -internal/msan -container/list -unicode/utf16 internal/profilerecord -vendor/golang.org/x/crypto/cryptobyte/asn1 -internal/asan -internal/nettrace -log/internal -internal/godebugs -internal/itoa -math/bits -vendor/golang.org/x/crypto/internal/alias -crypto/internal/boring/sig -blitiri.com.ar/go/chasquid/internal/set -internal/cpu -unicode -sync/atomic internal/runtime/syscall -internal/goexperiment +sync/atomic +internal/cpu internal/runtime/atomic -internal/runtime/math +internal/nettrace +google.golang.org/protobuf/internal/flags +unicode/utf16 +container/ring +container/list +crypto/internal/fips140/alias +crypto/internal/boring/sig +vendor/golang.org/x/crypto/cryptobyte/asn1 internal/abi -crypto/internal/fips140/subtle +internal/runtime/math internal/runtime/sys -crypto/internal/fips140deps/byteorder +blitiri.com.ar/go/chasquid/internal/set +vendor/golang.org/x/crypto/internal/alias internal/chacha8rand +crypto/internal/fips140deps/byteorder +crypto/internal/fips140/subtle google.golang.org/protobuf/internal/set -crypto/internal/fips140deps/cpu -internal/bytealg internal/runtime/exithook +internal/bytealg +crypto/internal/fips140deps/cpu math -internal/race internal/stringslite +internal/race internal/sync internal/runtime/maps runtime -weak -iter -crypto/subtle internal/reflectlite +iter sync -maps +weak +crypto/subtle slices +maps errors sort -internal/bisect -internal/singleflight -unique -internal/testlog -google.golang.org/protobuf/internal/pragma -runtime/cgo internal/oserror path -io vendor/golang.org/x/net/dns/dnsmessage math/rand/v2 strconv +io +internal/testlog +internal/singleflight +unique +internal/bisect +google.golang.org/protobuf/internal/pragma syscall +runtime/cgo +golang.org/x/text/internal/tag +reflect +crypto/internal/randutil internal/godebug strings -hash bytes -crypto/internal/randutil -golang.org/x/text/internal/tag +hash +net/netip hash/fnv -crypto/internal/fips140deps/godebug crypto -crypto/internal/impl -math/rand hash/crc32 +crypto/internal/fips140deps/godebug +math/rand +golang.org/x/text/transform +vendor/golang.org/x/text/transform +time +internal/syscall/execenv +internal/syscall/unix html -net/http/internal/ascii -net/netip regexp/syntax -reflect crypto/internal/fips140 -crypto/tls/internal/fips140tls -vendor/golang.org/x/text/transform +crypto/internal/impl +net/http/internal/ascii bufio -golang.org/x/text/transform crypto/internal/fips140/sha256 crypto/internal/fips140/sha3 +crypto/tls/internal/fips140tls crypto/internal/fips140/sha512 golang.org/x/text/runes golang.org/x/text/width -crypto/internal/fips140/hmac crypto/sha3 +crypto/internal/fips140/hmac crypto/internal/fips140/check crypto/internal/fips140hash -internal/syscall/execenv -internal/syscall/unix -time -crypto/internal/fips140/tls12 -crypto/internal/fips140/hkdf -crypto/internal/fips140/edwards25519/field -crypto/internal/fips140/bigmod crypto/internal/fips140/aes +crypto/internal/fips140/hkdf crypto/internal/fips140/nistec/fiat -regexp +crypto/internal/fips140/tls12 +crypto/internal/fips140/bigmod +crypto/internal/fips140/edwards25519/field crypto/internal/fips140/tls13 +regexp crypto/internal/fips140/edwards25519 -io/fs -context internal/poll -crypto/internal/fips140/nistec +context +io/fs internal/filepathlite embed -google.golang.org/protobuf/internal/editiondefaults os +google.golang.org/protobuf/internal/editiondefaults +crypto/internal/fips140/nistec internal/fmtsort encoding/binary -encoding/base64 -vendor/golang.org/x/crypto/internal/poly1305 -blitiri.com.ar/go/chasquid/internal/safeio -google.golang.org/protobuf/internal/detrand -crypto/internal/sysrand fmt path/filepath -os/signal -internal/sysinfo +blitiri.com.ar/go/chasquid/internal/safeio +crypto/internal/sysrand vendor/golang.org/x/sys/cpu -golang.org/x/sys/unix -net +internal/sysinfo +os/signal +google.golang.org/protobuf/internal/detrand +encoding/base64 +vendor/golang.org/x/crypto/internal/poly1305 crypto/internal/entropy +golang.org/x/sys/unix +os/exec crypto/internal/fips140/drbg encoding/pem -crypto/internal/fips140only -crypto/internal/fips140/ecdh -crypto/internal/fips140/ed25519 -crypto/internal/fips140/ecdsa -crypto/internal/fips140/aes/gcm -crypto/internal/fips140/rsa -crypto/internal/fips140/mlkem -os/exec -crypto/rc4 -crypto/md5 -crypto/cipher -log -google.golang.org/protobuf/internal/errors -google.golang.org/protobuf/internal/version flag +google.golang.org/protobuf/internal/errors go/token -text/template/parse +compress/flate +google.golang.org/protobuf/internal/version net/url -net/http/internal -blitiri.com.ar/go/chasquid/internal/envelope -mime/quotedprintable -vendor/golang.org/x/net/http2/hpack +text/template/parse +log encoding/json -mime -compress/flate -text/tabwriter -crypto/internal/boring -vendor/golang.org/x/crypto/chacha20 -blitiri.com.ar/go/chasquid/internal/tlsconst -golang.org/x/text/internal/language -vendor/golang.org/x/text/unicode/norm -runtime/trace -runtime/debug -crypto/des encoding/hex -golang.org/x/text/unicode/norm +mime +mime/quotedprintable +crypto/internal/fips140/aes/gcm math/big +vendor/golang.org/x/net/http2/hpack +vendor/golang.org/x/text/unicode/norm +crypto/internal/fips140only google.golang.org/protobuf/encoding/protowire -crypto/aes -crypto/ecdh -crypto/sha512 -crypto/hmac -crypto/sha1 -crypto/sha256 -vendor/golang.org/x/crypto/chacha20poly1305 +crypto/internal/fips140/ecdh +crypto/internal/fips140/ecdsa +crypto/internal/fips140/ed25519 +crypto/internal/fips140/mlkem +crypto/internal/fips140/rsa +crypto/md5 google.golang.org/protobuf/reflect/protoreflect -golang.org/x/text/unicode/bidi +crypto/rc4 +net/http/internal vendor/golang.org/x/text/unicode/bidi -golang.org/x/crypto/pbkdf2 -golang.org/x/crypto/scrypt -testing +blitiri.com.ar/go/chasquid/internal/envelope +golang.org/x/text/unicode/bidi compress/gzip +golang.org/x/text/internal/language +golang.org/x/text/unicode/norm +blitiri.com.ar/go/chasquid/internal/tlsconst +text/tabwriter +runtime/trace +runtime/debug +crypto/cipher +text/template runtime/pprof internal/profile +testing +crypto/internal/boring +crypto/des +vendor/golang.org/x/crypto/chacha20 golang.org/x/text/secure/bidirule vendor/golang.org/x/text/secure/bidirule -text/template golang.org/x/text/internal/language/compact -golang.org/x/net/idna -golang.org/x/text/language +crypto/aes +crypto/sha512 +crypto/ecdh +crypto/hmac google.golang.org/protobuf/internal/encoding/messageset +net +crypto/sha1 google.golang.org/protobuf/internal/strs google.golang.org/protobuf/internal/order -google.golang.org/protobuf/internal/genid -google.golang.org/protobuf/internal/descopts google.golang.org/protobuf/runtime/protoiface google.golang.org/protobuf/internal/descfmt +google.golang.org/protobuf/internal/genid +google.golang.org/protobuf/internal/descopts +crypto/sha256 +vendor/golang.org/x/crypto/chacha20poly1305 vendor/golang.org/x/net/idna google.golang.org/protobuf/internal/protolazy -google.golang.org/protobuf/internal/encoding/text +golang.org/x/text/language +golang.org/x/crypto/pbkdf2 google.golang.org/protobuf/reflect/protoregistry -google.golang.org/protobuf/proto +google.golang.org/protobuf/internal/encoding/text +golang.org/x/crypto/scrypt +golang.org/x/net/idna crypto/rand -crypto/internal/boring/bbig crypto/elliptic -crypto/dsa -golang.org/x/text/internal +crypto/internal/boring/bbig encoding/asn1 -google.golang.org/protobuf/internal/encoding/defval -golang.org/x/text/cases +crypto/dsa +html/template crypto/ed25519 crypto/internal/hpke crypto/rsa +google.golang.org/protobuf/proto +google.golang.org/protobuf/internal/encoding/defval +golang.org/x/text/internal golang.org/x/term -html/template -google.golang.org/protobuf/encoding/prototext -google.golang.org/protobuf/internal/filedesc -crypto/x509/pkix +golang.org/x/text/cases vendor/golang.org/x/crypto/cryptobyte +crypto/x509/pkix golang.org/x/text/secure/precis +google.golang.org/protobuf/encoding/prototext +google.golang.org/protobuf/internal/filedesc crypto/ecdsa -blitiri.com.ar/go/chasquid/internal/protoio blitiri.com.ar/go/chasquid/internal/normalize +blitiri.com.ar/go/chasquid/internal/protoio google.golang.org/protobuf/internal/encoding/tag google.golang.org/protobuf/internal/impl +google.golang.org/protobuf/internal/filetype +google.golang.org/protobuf/runtime/protoimpl +blitiri.com.ar/go/chasquid/internal/protoio/testpb +blitiri.com.ar/go/chasquid/internal/userdb log/syslog -vendor/golang.org/x/net/http/httpproxy +crypto/x509 net/textproto +vendor/golang.org/x/net/http/httpproxy blitiri.com.ar/go/chasquid/internal/haproxy blitiri.com.ar/go/spf blitiri.com.ar/go/systemd -crypto/x509 blitiri.com.ar/go/log vendor/golang.org/x/net/http/httpguts -blitiri.com.ar/go/chasquid/internal/dovecot -blitiri.com.ar/go/chasquid/cmd/mda-lmtp mime/multipart +blitiri.com.ar/go/chasquid/internal/dovecot net/mail +blitiri.com.ar/go/chasquid/cmd/mda-lmtp +blitiri.com.ar/go/chasquid/internal/config blitiri.com.ar/go/chasquid/internal/dkim crypto/tls -google.golang.org/protobuf/internal/filetype -google.golang.org/protobuf/runtime/protoimpl -blitiri.com.ar/go/chasquid/internal/config -blitiri.com.ar/go/chasquid/internal/protoio/testpb -blitiri.com.ar/go/chasquid/internal/userdb net/http/httptrace -blitiri.com.ar/go/chasquid/internal/testlib net/smtp -net/http +blitiri.com.ar/go/chasquid/internal/testlib blitiri.com.ar/go/chasquid/internal/smtp +net/http +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/maillog 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/expvarom blitiri.com.ar/go/chasquid/cmd/chasquid-util @@ -670,7 +706,7 @@ blitiri.com.ar/go/chasquid make[1]: Leaving directory '/build/reproducible-path/chasquid-1.15.0' dh_auto_test -O--buildsystem=golang - cd obj-x86_64-linux-gnu && go test -vet=off -v -p 42 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 + cd obj-x86_64-linux-gnu && go test -vet=off -v -p 20 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 ? blitiri.com.ar/go/chasquid [no test files] ? blitiri.com.ar/go/chasquid/cmd/chasquid-util [no test files] ? blitiri.com.ar/go/chasquid/cmd/mda-lmtp [no test files] @@ -692,19 +728,19 @@ === RUN TestTooMuchRecursion --- PASS: TestTooMuchRecursion (0.00s) === RUN TestTooMuchRecursionOnCatchAll ---- PASS: TestTooMuchRecursionOnCatchAll (0.00s) +--- PASS: TestTooMuchRecursionOnCatchAll (0.01s) === RUN TestAddFile ---- PASS: TestAddFile (0.00s) +--- PASS: TestAddFile (0.01s) === RUN TestRichFile --- PASS: TestRichFile (0.00s) === RUN TestManyFiles ---- PASS: TestManyFiles (0.00s) +--- PASS: TestManyFiles (0.01s) === RUN TestHookError _ aliases.go:544 Hook.Alias-Resolve a@localA: error: exit status 1 _ 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.00s) +--- PASS: TestHookError (0.10s) === RUN FuzzReader === RUN FuzzReader/seed#0 === RUN FuzzReader/1c24d2215db69748c6fd16797673ad11ebc7e6167fe1bc1f54c6959ec10407b6 @@ -720,7 +756,7 @@ --- PASS: FuzzReader/c9c80ba9f513841cb081fe9bb7439d36f9f7a06bb999d4c39441991ccc878a9e (0.00s) --- PASS: FuzzReader/d40a98862ed393eb712e47a91bcef18e6f24cf368bb4bd248c7a7101ef8e178d (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/aliases 0.017s +ok blitiri.com.ar/go/chasquid/internal/aliases 0.180s === 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 @@ -733,11 +769,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.33s) +--- PASS: TestAuthenticate (1.56s) === RUN TestInterfaces --- PASS: TestInterfaces (0.00s) === RUN TestMultipleBackends ---- PASS: TestMultipleBackends (0.17s) +--- PASS: TestMultipleBackends (0.19s) === RUN TestErrors --- PASS: TestErrors (0.00s) === RUN TestReload @@ -766,45 +802,45 @@ --- PASS: FuzzDecodeResponse/d9aa9c617d1f5b3021aca758b9d896d136e3b16ed53233d02abffd02aa73ffa4 (0.00s) --- PASS: FuzzDecodeResponse/de05c7993312bab83e8114e9d9ced331c49822dc55c1a353f1cc9718a28226e7 (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/auth 0.515s +ok blitiri.com.ar/go/chasquid/internal/auth 1.816s === RUN TestEmptyStruct --- PASS: TestEmptyStruct (0.00s) === RUN TestEmptyConfig - testlib.go:32: test directory: "/tmp/testlib_3979243282" ---- PASS: TestEmptyConfig (0.00s) + testlib.go:32: test directory: "/tmp/testlib_1594969379" +--- PASS: TestEmptyConfig (0.01s) === RUN TestFullConfig - testlib.go:32: test directory: "/tmp/testlib_630429182" + testlib.go:32: test directory: "/tmp/testlib_755793843" --- PASS: TestFullConfig (0.00s) === RUN TestErrorLoading --- PASS: TestErrorLoading (0.00s) === RUN TestBrokenConfig - testlib.go:32: test directory: "/tmp/testlib_1173176723" + testlib.go:32: test directory: "/tmp/testlib_2157786174" --- PASS: TestBrokenConfig (0.00s) === RUN TestBrokenOverride - testlib.go:32: test directory: "/tmp/testlib_3631109552" + testlib.go:32: test directory: "/tmp/testlib_1547487313" --- PASS: TestBrokenOverride (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/config 0.008s +ok blitiri.com.ar/go/chasquid/internal/config 0.080s === RUN TestMDA - testlib.go:32: test directory: "/tmp/testlib_1275125490" ---- PASS: TestMDA (0.00s) + testlib.go:32: test directory: "/tmp/testlib_1490904336" +--- PASS: TestMDA (0.05s) === RUN TestMDATimeout _ mda.go:73 Courier.MDA to@local: error: operation timed out ---- PASS: TestMDATimeout (0.10s) +--- PASS: TestMDATimeout (0.11s) === 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.00s) +--- PASS: TestMDABadCommandLine (0.02s) === 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_3054044910" - testlib.go:32: test directory: "/tmp/testlib_3239672733" -_ smtp.go:127 Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::36715: too many colons in address -_ smtp.go:101 Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::36715: too many colons in address + testlib.go:32: test directory: "/tmp/testlib_2059500582" + testlib.go:32: test directory: "/tmp/testlib_226185584" +_ smtp.go:127 Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::46517: too many colons in address +_ smtp.go:101 Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::46517: 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:" @@ -812,26 +848,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.03s) +--- PASS: TestSMTP (0.57s) === RUN TestSMTPErrors - testlib.go:32: test directory: "/tmp/testlib_617430938" - testlib.go:32: test directory: "/tmp/testlib_325882942" + testlib.go:32: test directory: "/tmp/testlib_3869907709" + testlib.go:32: test directory: "/tmp/testlib_1200546741" fakeserver_test.go:98: fakeServer got connection -_ smtp.go:138 Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:48074->127.0.0.1:36631: 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:48074->127.0.0.1:36631: 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:48074->127.0.0.1:36631: i/o timeout) +_ smtp.go:138 Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:56746->127.0.0.1:39451: 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:56746->127.0.0.1:39451: 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:56746->127.0.0.1:39451: 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:56746->127.0.0.1:39451: i/o timeout) fakeserver_test.go:105: fakeServer exiting: EOF - smtp_test.go:140: failed as expected: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:48074->127.0.0.1:36631: i/o timeout) - testlib.go:32: test directory: "/tmp/testlib_1142761319" - testlib.go:32: test directory: "/tmp/testlib_3006395385" + testlib.go:32: test directory: "/tmp/testlib_2278384490" + testlib.go:32: test directory: "/tmp/testlib_928568302" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:" _ 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_3371952215" - testlib.go:32: test directory: "/tmp/testlib_3352069152" + testlib.go:32: test directory: "/tmp/testlib_1217946164" + testlib.go:32: test directory: "/tmp/testlib_552726399" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:" @@ -839,8 +875,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_2252654622" - testlib.go:32: test directory: "/tmp/testlib_532307764" + testlib.go:32: test directory: "/tmp/testlib_3674114412" + testlib.go:32: test directory: "/tmp/testlib_3054840584" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:" @@ -849,8 +885,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_3866213529" - testlib.go:32: test directory: "/tmp/testlib_1164331900" + testlib.go:32: test directory: "/tmp/testlib_4027201482" + testlib.go:32: test directory: "/tmp/testlib_81815168" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:" @@ -859,9 +895,9 @@ _ smtp.go:216 Courier.SMTP to@to: error: DATA closing 551 data response error smtp_test.go:140: failed as expected: DATA closing 551 data response error fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestSMTPErrors (1.36s) +--- PASS: TestSMTPErrors (4.18s) === RUN TestNoMXServer - testlib.go:32: test directory: "/tmp/testlib_1919010345" + testlib.go:32: test directory: "/tmp/testlib_3109509039" _ smtp.go:82 Courier.SMTP to@to: error: Could not find mail server: smtp_test.go:158: got permanent failure, as expected: Could not find mail server: --- PASS: TestNoMXServer (0.00s) @@ -874,10 +910,10 @@ === RUN TestMXLookupError --- PASS: TestMXLookupError (0.00s) === RUN TestLookupInvalidDomain ---- PASS: TestLookupInvalidDomain (0.00s) +--- PASS: TestLookupInvalidDomain (0.02s) === RUN TestTLS - testlib.go:32: test directory: "/tmp/testlib_816556837" - testlib.go:32: test directory: "/tmp/testlib_414564213" + testlib.go:32: test directory: "/tmp/testlib_361481622" + testlib.go:32: test directory: "/tmp/testlib_14959534" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -888,7 +924,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_3265786782" + testlib.go:32: test directory: "/tmp/testlib_397608113" 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 @@ -896,26 +932,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.10s) +--- PASS: TestTLS (1.31s) === RUN TestTLSError - testlib.go:32: test directory: "/tmp/testlib_2907072786" - testlib.go:32: test directory: "/tmp/testlib_710074748" + testlib.go:32: test directory: "/tmp/testlib_108575320" + testlib.go:32: test directory: "/tmp/testlib_94847899" 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:105: fakeServer exiting: EOF fakeserver_test.go:98: fakeServer got connection + fakeserver_test.go:105: fakeServer exiting: EOF fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:" fakeserver_test.go:109: fakeServer read: "RCPT 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.05s) +--- PASS: TestTLSError (0.24s) === RUN TestSTSPolicyEnforcement - testlib.go:32: test directory: "/tmp/testlib_4277327677" - testlib.go:32: test directory: "/tmp/testlib_3299762703" + testlib.go:32: test directory: "/tmp/testlib_747192729" + testlib.go:32: test directory: "/tmp/testlib_1473317954" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -923,7 +959,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_1068163240" + testlib.go:32: test directory: "/tmp/testlib_2992270924" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -934,9 +970,9 @@ fakeserver_test.go:109: fakeServer read: "DATA" fakeserver_test.go:109: fakeServer read: "QUIT" fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestSTSPolicyEnforcement (0.13s) +--- PASS: TestSTSPolicyEnforcement (1.24s) PASS -ok blitiri.com.ar/go/chasquid/internal/courier 1.776s +ok blitiri.com.ar/go/chasquid/internal/courier 7.813s === RUN TestStringToCanonicalization --- PASS: TestStringToCanonicalization (0.00s) === RUN TestSimpleBody @@ -962,7 +998,7 @@ === RUN TestSkipBadRecords --- PASS: TestSkipBadRecords (0.00s) === RUN TestParsePublicKey ---- PASS: TestParsePublicKey (0.00s) +--- PASS: TestParsePublicKey (0.04s) === RUN TestPublicKeyMatches --- PASS: TestPublicKeyMatches (0.00s) === RUN TestStrictDomainCheck @@ -972,7 +1008,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:[0xc000253da0 0xc000253e00]} + file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0xc000119140 0xc0001191a0]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1016,7 +1052,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:[0xc00027e660 0xc00027e6c0 0xc00027e720 0xc00027e780 0xc00027e7e0]} + file_test.go:56: Want result: &{Found:5 Valid:5 Results:[0xc000119980 0xc0001199e0 0xc000119a40 0xc000119aa0 0xc000119b00]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1128,7 +1164,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:[0xc00027f3e0]} + file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0xc00032e780]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=8; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1142,7 +1178,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:[0xc00027f800 0xc00027f860]} + file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0xc00032eba0 0xc00032ec00]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1176,7 +1212,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:[0xc00027fe60 0xc00027fec0]} + file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0xc00032f200 0xc00032f260]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1210,7 +1246,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:[0xc00030a3c0 0xc00030a420]} + file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0xc00032f8c0 0xc00032f920]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1257,7 +1293,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:[0xc00030ab40 0xc00030aba0 0xc00030ac00]} + file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0xc0003920c0 0xc000392120 0xc000392180]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=selector; t=1709341950; @@ -1317,7 +1353,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:[0xc00030b3e0 0xc00030b440 0xc00030b4a0]} + file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0xc000392960 0xc0003929c0 0xc000392a20]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=selector; t=1709368031; @@ -1377,7 +1413,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:[0xc00030bce0 0xc00030bd40]} + file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0xc000393260 0xc0003932c0]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1423,7 +1459,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:[0xc0003d8480]} + file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0xc000393980]} file_test.go:57: Want error: context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=selector; t=1709466347; @@ -1444,16 +1480,16 @@ context.go:17: Resulting hash: "kFTkVTyR9JWKX/Stl1+sUIuAgitRiOf7MwTBy5a2/ZA=" context.go:17: PK [ed25519:4afa0f4faf766d5a]: Strict domain check failed: "example.com" != "sub.example.com" ("test@sub.example.com") context.go:17: Found 1 signatures, 0 valid ---- PASS: TestFromFiles (0.02s) - --- PASS: TestFromFiles/testdata/01-rfc8463 (0.00s) - --- PASS: TestFromFiles/testdata/02-too_many_headers (0.00s) +--- PASS: TestFromFiles (0.08s) + --- PASS: TestFromFiles/testdata/01-rfc8463 (0.01s) + --- PASS: TestFromFiles/testdata/02-too_many_headers (0.02s) --- PASS: TestFromFiles/testdata/03-bad_message (0.00s) - --- PASS: TestFromFiles/testdata/04-bad_dkim_signature_header (0.00s) + --- PASS: TestFromFiles/testdata/04-bad_dkim_signature_header (0.01s) --- PASS: TestFromFiles/testdata/05-dns_temp_error (0.00s) --- PASS: TestFromFiles/testdata/06-dns_perm_error (0.00s) - --- PASS: TestFromFiles/testdata/07-algo_mismatch (0.00s) - --- PASS: TestFromFiles/testdata/08-our_signature (0.00s) - --- PASS: TestFromFiles/testdata/09-limited_body (0.00s) + --- PASS: TestFromFiles/testdata/07-algo_mismatch (0.01s) + --- PASS: TestFromFiles/testdata/08-our_signature (0.01s) + --- PASS: TestFromFiles/testdata/09-limited_body (0.01s) --- PASS: TestFromFiles/testdata/10-strict_domain_check_pass (0.00s) --- PASS: TestFromFiles/testdata/11-strict_domain_check_fail (0.00s) === RUN TestFromPrivateFiles @@ -1469,7 +1505,7 @@ === RUN TestParseMessage --- PASS: TestParseMessage (0.00s) === RUN TestParseMessageWithErrors ---- PASS: TestParseMessageWithErrors (0.00s) +--- PASS: TestParseMessageWithErrors (0.01s) === RUN TestHeadersFindAll --- PASS: TestHeadersFindAll (0.00s) === RUN TestSignRSA @@ -1479,18 +1515,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 \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=1775625385; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "LYrf92IFyas4U4AW7tws6m/oB5DBx2+Pqn4NI+Iv6uA=" + context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1741215591; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "57Tzfj//Fux1mGsuAB40+oBjhI06uSKf5ktGeVmXDo4=" context.go:17: Found DKIM-Signature header: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=example.com; s=test; t=1775625385; + d=example.com; s=test; t=1741215591; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; - b=HCXHrQ8ILAt30c0ejDhXAFEO5aSr6Xi0xoWPcYRgVPgROQZVlGDHiDeUb9hzD97QsF96Mh - EuZWmic+B6IUaKM3NIPIHlmZLiwO448D/t5e7KyQmm4q4hoojck7hRlEae3gaQD1nYaZPA - 91tSizPInggGE2OV4W2sXYIEIzzPueYBxD5GMWElkHbuaAhSc/pxdvS514X0osEgb+FF8j - N6KFqcbHoqpgCfqawAWu+jKDL46KRuYgUy8bPFtzriEEqIaGFGfv9g/L/+8YY3VyaXwZiw - 4A3Nf6WOTOyTYuZbNprXpki43INaCoRKMQx5vNQGTZPjHK+ZwT54/crD8bPL7g==; - context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzf2TuS0G7Fm5YRQ0ym/dzCfSbRZe3JxUa5pBZgbDQaDeWuNCL5r+1g7jYp1pLbBkZ8/HInS6XsXhvsN/krQO23xTl/6MChTuK9t8ZdQxUo8QfSzoWRFsrSWoHsAtH7X884QxTCUlJHvWYvtQHpTgCxZr4ZxT2ijCJW02aNftmHGbRweVu03LjmaDIE7Tkw7g0rIGJNQt0+2L1WU4Fb5rDQo72+4khOFPP4RChnQ3CE5DGF8OmQFJFhgftMMBxyC84P9zQWbUbC7vF79VYhS0XJjPequ/hHzX3G+8ppY/zI09hMoMEsWZtINjJ7irMo4SigkZEwg8gWT1ZyopG8uadQIDAQAB" + b=Sx7A1e0/ENrPqtrZ3IwkcnrRLTPbK05nI5HOHMVJ/qAWwsSQ2a/wqFJisxNveZ14pBOeUT + NDwOO4TrtWcQ5UJbwjTcGJzY1dj3Bc6D/vvKM+qSB2EtW6kzVexhLDhxEVIS4G8FtPcvQQ + 8T7hpBZdZrQ7DGTCWm3kQ9Rft7VBXQ45m0iQHAaT20SEsFPmqQ7wBMRaXt5LQKb5HlI2np + 7tf9znkvpgt8Js5fWYq3sSPvVBtlduT8RHPw237JaffkPFhXI9IRpTIcvH2nL+p9qWWSnc + XmtxkeMDeeeMBeWY1Jtrxyht5egbnFOJP//6GMnUL8KTyQw00n646jG7wovo1w==; + context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvPayfqdw/ktfXz5BLwWAXLU+XmJp8wePfb2VBevVdsGyr+Hut2/bGLGo3T2+HL14hv2QXNj5PbzWQjutnFfsTkYger39Z5Qv4xpYYqlj8Or/A5/p/I9d9rZ7SXU5juG4Pm/zs19P5tzSKwNFHRGmAJm3vZ0HxxQvc9xEWdK2CpYWx29XzhjYW92vhaF3fzynvZuYMNwCsYxbwENKwJX6DV+tlrBm0VlFtYthB8DGRqzd8mWMBkemOgHaZR4bLQRBbgQvtzqmTyIAH6oc7CBXc9kte/dTLUEGttgoGRjmdCQhSLm0hRVK6N6Pc396o4qELRYql3dLFqfVnMPCZmpwXwIDAQAB" context.go:17: Parsed public key: [rsa:30820122300d0609] context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=" context.go:17: Hashing header: "from:Joe SixPack \r\n" @@ -1498,11 +1534,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 \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=1775625385; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "LYrf92IFyas4U4AW7tws6m/oB5DBx2+Pqn4NI+Iv6uA=" + context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1741215591; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "57Tzfj//Fux1mGsuAB40+oBjhI06uSKf5ktGeVmXDo4=" context.go:17: PK [rsa:30820122300d0609]: Verification succeeded context.go:17: Found 1 signatures, 1 valid ---- PASS: TestSignRSA (0.25s) +--- PASS: TestSignRSA (5.30s) === RUN TestSignEd25519 context.go:17: Signing for example.com / test with ed25519-sha256 context.go:17: Hashing header: "from:Joe SixPack \r\n" @@ -1510,27 +1546,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 \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=1775625385; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "2Va2b7FhKk+UkO6IDZY7QLTTE6Vu0giQSFSSOAyLkXM=" + context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1741215591; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "pgk6ATpmCRHnLWVkuRBMgTha+/mgbPyJE5S6Tk9OUfQ=" context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; - d=example.com; s=test; t=1775625385; + d=example.com; s=test; t=1741215591; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; - b=pUkmcXF/SScORQWyoP2iDLVWQQBBnUZ9JqxYJaIBpEV5r045y1hKB+WgkmA5sBYkNYYzWl - dFoKwx2vi+FvYkCA==; - context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=p/QSu+BM2Q3x7RDVLCxfEd+tNEGLyluymBpCawxanvA=" - context.go:17: Parsed public key: [ed25519:a7f412bbe04cd90d] + b=gs30UabnvBrUgYjHbUTfcogWrQdIQRx6LXBfGVwac9oQ7Mcg0wAafd3l5pa8nx9x1wrxf7 + PGDx/vrOvq2XkOAQ==; + context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=C1Foh+zjexHp7tP0oVSGSXTBfiILgJLJ0v4wtNNpSqI=" + context.go:17: Parsed public key: [ed25519:0b516887ece37b11] context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=" context.go:17: Hashing header: "from:Joe SixPack \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 \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=1775625385; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "2Va2b7FhKk+UkO6IDZY7QLTTE6Vu0giQSFSSOAyLkXM=" - context.go:17: PK [ed25519:a7f412bbe04cd90d]: Verification succeeded + context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1741215591; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "pgk6ATpmCRHnLWVkuRBMgTha+/mgbPyJE5S6Tk9OUfQ=" + context.go:17: PK [ed25519:0b516887ece37b11]: Verification succeeded context.go:17: Found 1 signatures, 1 valid ---- PASS: TestSignEd25519 (0.00s) +--- PASS: TestSignEd25519 (0.01s) === RUN TestSignBadMessage --- PASS: TestSignBadMessage (0.00s) === RUN TestSignBadAlgorithm @@ -1727,25 +1763,25 @@ --- PASS: FuzzParsePublicKey/seed#12 (0.00s) --- PASS: FuzzParsePublicKey/seed#13 (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/dkim 0.288s +ok blitiri.com.ar/go/chasquid/internal/dkim 5.524s === RUN TestBasic - testlib.go:32: test directory: "/tmp/testlib_3354056672" + testlib.go:32: test directory: "/tmp/testlib_269556637" _ domaininfo.go:117 DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN _ domaininfo.go:109 DomainInfo.Incoming d1: error: d1 incoming denied: TLS_INSECURE < TLS_SECURE _ domaininfo.go:153 DomainInfo.Outgoing d1: d1 outgoing level raised: TLS_SECURE > PLAIN _ domaininfo.go:145 DomainInfo.Outgoing d1: error: d1 outgoing denied: TLS_INSECURE < TLS_SECURE _ domaininfo.go:109 DomainInfo.Incoming d1: error: d1 incoming denied: TLS_INSECURE < TLS_SECURE _ domaininfo.go:182 DomainInfo.SetToPlain d1: set to plain ---- PASS: TestBasic (0.09s) +--- PASS: TestBasic (0.01s) === RUN TestNewDomain - testlib.go:32: test directory: "/tmp/testlib_2010002900" + testlib.go:32: test directory: "/tmp/testlib_426502145" _ 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.12s) +--- PASS: TestNewDomain (0.01s) === RUN TestProgressions - testlib.go:32: test directory: "/tmp/testlib_148377671" + testlib.go:32: test directory: "/tmp/testlib_1466068071" _ 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 @@ -1758,29 +1794,29 @@ _ domaininfo.go:145 DomainInfo.Outgoing ssip: error: ssip outgoing denied: TLS_INSECURE < TLS_SECURE _ domaininfo.go:109 DomainInfo.Incoming ssip: error: ssip incoming denied: PLAIN < TLS_SECURE _ domaininfo.go:145 DomainInfo.Outgoing ssip: error: ssip outgoing denied: PLAIN < TLS_SECURE ---- PASS: TestProgressions (0.24s) +--- PASS: TestProgressions (0.02s) === RUN TestErrors - testlib.go:32: test directory: "/tmp/testlib_3270420307" + testlib.go:32: test directory: "/tmp/testlib_4272136615" _ domaininfo.go:117 DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN _ domaininfo.go:67 DomainInfo.Reload reload: error: id \"d1\": proto:\u00a0syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents _ domaininfo.go:67 DomainInfo.Reload reload: error: id \"d1\": proto:\u00a0syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents ---- PASS: TestErrors (0.12s) +--- PASS: TestErrors (0.01s) === RUN TestDirectoryErrors - testlib.go:32: test directory: "/tmp/testlib_1053100058" -_ domaininfo.go:59 DomainInfo.Reload reload: error: open /tmp/testlib_1053100058/db: no such file or directory -_ domaininfo.go:84 DomainInfo.write d1: error: open /tmp/testlib_1053100058/db/.s:d1421957421: no such file or directory + testlib.go:32: test directory: "/tmp/testlib_4027702534" +_ domaininfo.go:59 DomainInfo.Reload reload: error: open /tmp/testlib_4027702534/db: no such file or directory +_ domaininfo.go:84 DomainInfo.write d1: error: open /tmp/testlib_4027702534/db/.s:d12529832892: no such file or directory --- PASS: TestDirectoryErrors (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/domaininfo 0.579s +ok blitiri.com.ar/go/chasquid/internal/domaininfo 0.128s === RUN TestUsernameNotSafe --- PASS: TestUsernameNotSafe (0.00s) === RUN TestAutodetect - testlib.go:32: test directory: "/tmp/testlib_1659429968" + testlib.go:32: test directory: "/tmp/testlib_4073460989" --- PASS: TestAutodetect (0.00s) === RUN TestReload --- PASS: TestReload (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/dovecot 0.006s +ok blitiri.com.ar/go/chasquid/internal/dovecot 0.064s === RUN TestSplit --- PASS: TestSplit (0.00s) === RUN TestDomainIn @@ -1788,13 +1824,13 @@ === RUN TestAddHeader --- PASS: TestAddHeader (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/envelope 0.004s +ok blitiri.com.ar/go/chasquid/internal/envelope 0.064s === RUN TestHandler --- PASS: TestHandler (0.00s) === RUN TestMapLabelAccident --- PASS: TestMapLabelAccident (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/expvarom 0.007s +ok blitiri.com.ar/go/chasquid/internal/expvarom 0.068s === RUN TestNoNewline --- PASS: TestNoNewline (0.00s) === RUN TestBasic @@ -1819,21 +1855,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.005s +ok blitiri.com.ar/go/chasquid/internal/haproxy 0.069s === RUN TestBadServer - asm_amd64.s:1700: FakeServer &{{0xc000280080}}: accepted - asm_amd64.s:1700: FakeServer &{{0xc000280080}}: readRequest: "" "" / EOF - asm_amd64.s:1700: FakeServer &{{0xc000280080}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-576085473/rpc.sock->@: write: broken pipe - asm_amd64.s:1700: FakeServer &{{0xc000280080}}: closing - asm_amd64.s:1700: FakeServer &{{0xc000280200}}: accepted - asm_amd64.s:1700: FakeServer &{{0xc000280200}}: readRequest: "Echo" "" / - asm_amd64.s:1700: FakeServer &{{0xc000280200}}: writeMessage("xxx"): 3 - asm_amd64.s:1700: FakeServer &{{0xc000280200}}: closing + asm_amd64.s:1700: FakeServer &{{0xc000208480}}: accepted + asm_amd64.s:1700: FakeServer &{{0xc000208480}}: readRequest: "" "" / EOF + asm_amd64.s:1700: FakeServer &{{0xc000208480}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-2388759325/rpc.sock->@: write: broken pipe + asm_amd64.s:1700: FakeServer &{{0xc000208480}}: closing + asm_amd64.s:1700: FakeServer &{{0xc000208600}}: accepted + asm_amd64.s:1700: FakeServer &{{0xc000208600}}: readRequest: "Echo" "" / + asm_amd64.s:1700: FakeServer &{{0xc000208600}}: writeMessage("xxx"): 3 + asm_amd64.s:1700: FakeServer &{{0xc000208600}}: closing --- PASS: TestBadServer (0.01s) === RUN TestBadSocket --- PASS: TestBadSocket (0.00s) === RUN TestEndToEnd -_ localrpc.go:63 LocalRPC.Server /tmp/rpc-test-2643932418/sock: Listening +_ localrpc.go:63 LocalRPC.Server /tmp/rpc-test-441611936/sock: Listening === RUN TestEndToEnd/Echo === RUN TestEndToEnd/Echo#01 === RUN TestEndToEnd/Hola @@ -1841,7 +1877,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-2643932418/sock: error: Accept error: accept unix /tmp/rpc-test-2643932418/sock: use of closed network connection +_ localrpc.go:67 LocalRPC.Server /tmp/rpc-test-441611936/sock: error: Accept error: accept unix /tmp/rpc-test-441611936/sock: use of closed network connection --- PASS: TestEndToEnd (0.01s) --- PASS: TestEndToEnd/Echo (0.00s) --- PASS: TestEndToEnd/Echo#01 (0.00s) @@ -1856,7 +1892,7 @@ === RUN TestShortReadRequest --- PASS: TestShortReadRequest (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/localrpc 0.033s +ok blitiri.com.ar/go/chasquid/internal/localrpc 0.104s === RUN TestLogger --- PASS: TestLogger (0.00s) === RUN TestDefault @@ -1864,7 +1900,7 @@ === RUN TestFailedLogger --- PASS: TestFailedLogger (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/maillog 0.007s +ok blitiri.com.ar/go/chasquid/internal/maillog 0.062s === RUN TestContext --- PASS: TestContext (0.00s) === RUN TestHistogramBasic @@ -1872,19 +1908,19 @@ === RUN TestHistogramEmpty --- PASS: TestHistogramEmpty (0.00s) === RUN TestHTTP ---- PASS: TestHTTP (0.01s) +--- PASS: TestHTTP (0.03s) === RUN TestHTTPLong ---- PASS: TestHTTPLong (0.00s) +--- PASS: TestHTTPLong (0.01s) === RUN TestHTTPErrors ---- PASS: TestHTTPErrors (0.01s) +--- PASS: TestHTTPErrors (0.04s) === RUN TestHTTPUroboro ---- PASS: TestHTTPUroboro (0.01s) +--- PASS: TestHTTPUroboro (0.04s) === RUN TestHTTPDeep ---- PASS: TestHTTPDeep (0.01s) +--- PASS: TestHTTPDeep (0.02s) === RUN TestStripZeros --- PASS: TestStripZeros (0.00s) === RUN TestRegisterHandler ---- PASS: TestRegisterHandler (0.00s) +--- PASS: TestRegisterHandler (0.02s) === RUN TestBasic --- PASS: TestBasic (0.00s) === RUN TestLong @@ -1900,7 +1936,7 @@ === RUN TestFindParent --- PASS: TestFindParent (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/nettrace 0.045s +ok blitiri.com.ar/go/chasquid/internal/nettrace 0.248s === RUN TestUser --- PASS: TestUser (0.00s) === RUN TestDomain @@ -1960,41 +1996,41 @@ --- PASS: FuzzDomainToUnicode/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70 (0.00s) --- PASS: FuzzDomainToUnicode/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/normalize 0.008s +ok blitiri.com.ar/go/chasquid/internal/normalize 0.088s === RUN TestBin - testlib.go:32: test directory: "/tmp/testlib_1480058796" + testlib.go:32: test directory: "/tmp/testlib_3274645534" --- PASS: TestBin (0.00s) === RUN TestText - testlib.go:32: test directory: "/tmp/testlib_1323353758" + testlib.go:32: test directory: "/tmp/testlib_1423695393" --- PASS: TestText (0.00s) === RUN TestStore - testlib.go:32: test directory: "/tmp/testlib_1960021168" + testlib.go:32: test directory: "/tmp/testlib_3640276334" --- PASS: TestStore (0.00s) === RUN TestFileErrors - testlib.go:32: test directory: "/tmp/testlib_2402458816" + testlib.go:32: test directory: "/tmp/testlib_3509041478" --- PASS: TestFileErrors (0.00s) === RUN TestMarshalErrors - testlib.go:32: test directory: "/tmp/testlib_1933858272" + testlib.go:32: test directory: "/tmp/testlib_1346371328" --- PASS: TestMarshalErrors (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/protoio 0.008s +ok blitiri.com.ar/go/chasquid/internal/protoio 0.072s ? blitiri.com.ar/go/chasquid/internal/protoio/testpb [no test files] === RUN TestDSN dsn_test.go:49: From: Mail Delivery System To: Subject: Mail delivery failed: returning message to sender - Message-ID: - Date: Wed, 08 Apr 2026 05:16:25 +0000 + Message-ID: + Date: Wed, 05 Mar 2025 22:59:54 +0000 In-Reply-To: References: 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="y4wiXi7utcs" + boundary="OO2KyilgVcI" - --y4wiXi7utcs + --OO2KyilgVcI Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Description: Notification @@ -2019,7 +2055,7 @@ oh! the humanity! - --y4wiXi7utcs + --OO2KyilgVcI Content-Type: message/global-delivery-status Content-Description: Delivery Report Content-Transfer-Encoding: 8bit @@ -2050,7 +2086,7 @@ - --y4wiXi7utcs + --OO2KyilgVcI Content-Type: message/rfc822 Content-Description: Undelivered Message Content-Transfer-Encoding: 8bit @@ -2060,77 +2096,76 @@ Data ñaca. - --y4wiXi7utcs-- + --OO2KyilgVcI-- ---- PASS: TestDSN (0.00s) +--- PASS: TestDSN (0.01s) === RUN TestBasic - testlib.go:32: test directory: "/tmp/testlib_3487045877" -_ queue.go:308 Queue.SendLoop oX578L18rlA: from from -_ queue.go:367 Queue.SendLoop oX578L18rlA: nodomain sent -_ queue.go:367 Queue.SendLoop oX578L18rlA: am@loco sent -_ queue.go:367 Queue.SendLoop oX578L18rlA: x@remote sent -_ queue.go:342 Queue.SendLoop oX578L18rlA: all done ---- PASS: TestBasic (0.18s) + testlib.go:32: test directory: "/tmp/testlib_3302352695" +_ queue.go:308 Queue.SendLoop T_TSQYnGhG0: from from +_ queue.go:367 Queue.SendLoop T_TSQYnGhG0: nodomain sent +_ queue.go:367 Queue.SendLoop T_TSQYnGhG0: am@loco sent +_ queue.go:367 Queue.SendLoop T_TSQYnGhG0: x@remote sent +_ queue.go:342 Queue.SendLoop T_TSQYnGhG0: all done +--- PASS: TestBasic (0.28s) === RUN TestDSNOnTimeout - testlib.go:32: test directory: "/tmp/testlib_663402299" -_ queue.go:308 Queue.SendLoop o6ZBN4INnnI: from from@loco -_ queue.go:467 Queue.SendLoop o6ZBN4INnnI: queued DSN: GXauEBa4K7s -_ queue.go:342 Queue.SendLoop o6ZBN4INnnI: all done -_ queue.go:308 Queue.SendLoop GXauEBa4K7s: from <> -_ queue.go:367 Queue.SendLoop GXauEBa4K7s: from@loco sent -_ queue.go:342 Queue.SendLoop GXauEBa4K7s: all done ---- PASS: TestDSNOnTimeout (0.00s) + testlib.go:32: test directory: "/tmp/testlib_2751623045" +_ queue.go:308 Queue.SendLoop wC_ZufZjMCY: from from@loco +_ queue.go:467 Queue.SendLoop wC_ZufZjMCY: queued DSN: Z0VDVNPkPtw +_ queue.go:342 Queue.SendLoop wC_ZufZjMCY: all done +_ queue.go:308 Queue.SendLoop Z0VDVNPkPtw: from <> +_ queue.go:367 Queue.SendLoop Z0VDVNPkPtw: from@loco sent +_ queue.go:342 Queue.SendLoop Z0VDVNPkPtw: all done +--- PASS: TestDSNOnTimeout (0.14s) === RUN TestAliases - testlib.go:32: test directory: "/tmp/testlib_4131834028" -_ queue.go:308 Queue.SendLoop Dia3fB7ciIs: from from -_ queue.go:367 Queue.SendLoop Dia3fB7ciIs: ata@hualpa sent ---- PASS: TestAliases (0.00s) + testlib.go:32: test directory: "/tmp/testlib_997139143" +_ queue.go:308 Queue.SendLoop NVXH6y9IBjU: from from +_ queue.go:367 Queue.SendLoop NVXH6y9IBjU: ata@hualpa sent +_ queue.go:367 Queue.SendLoop NVXH6y9IBjU: pq@loco sent +_ queue.go:367 Queue.SendLoop NVXH6y9IBjU: rs@loco sent +_ queue.go:342 Queue.SendLoop NVXH6y9IBjU: all done +--- PASS: TestAliases (0.20s) === RUN TestFullQueue -_ queue.go:367 Queue.SendLoop Dia3fB7ciIs: rs@loco sent - testlib.go:32: test directory: "/tmp/testlib_2964945715" + testlib.go:32: test directory: "/tmp/testlib_3319206436" _ queue.go:164 Queue.Put from: error: queue full -_ queue.go:308 Queue.SendLoop Gp3FhxmmG8w: from from --- PASS: TestFullQueue (0.00s) === RUN TestPipes -_ queue.go:367 Queue.SendLoop Gp3FhxmmG8w: to sent -_ queue.go:375 Queue.SendLoop Gp3FhxmmG8w: error: failed to write: open /tmp/testlib_2964945715/.m:Gp3FhxmmG8w584316902: no such file or directory - testlib.go:32: test directory: "/tmp/testlib_3991677315" -_ queue.go:342 Queue.SendLoop Gp3FhxmmG8w: all done -E queue.go:230 failed to remove queue file "/tmp/testlib_2964945715/m:Gp3FhxmmG8w": remove /tmp/testlib_2964945715/m:Gp3FhxmmG8w: no such file or directory ---- PASS: TestPipes (0.00s) + testlib.go:32: test directory: "/tmp/testlib_2579604306" +_ queue.go:308 Queue.SendLoop auyZK8DC3io: from from +_ queue.go:367 Queue.SendLoop auyZK8DC3io: to sent +_ queue.go:375 Queue.SendLoop auyZK8DC3io: error: failed to write: open /tmp/testlib_3319206436/.m:auyZK8DC3io436766402: no such file or directory +_ queue.go:342 Queue.SendLoop auyZK8DC3io: all done +E queue.go:230 failed to remove queue file "/tmp/testlib_3319206436/m:auyZK8DC3io": remove /tmp/testlib_3319206436/m:auyZK8DC3io: no such file or directory +--- PASS: TestPipes (0.03s) === RUN TestBadPath --- PASS: TestBadPath (0.00s) === RUN TestNextDelay --- PASS: TestNextDelay (0.00s) === RUN TestSerialization - testlib.go:32: test directory: "/tmp/testlib_3124547289" -_ queue.go:308 Queue.SendLoop 4w8B8Ee9quk: from from@loco -_ queue.go:367 Queue.SendLoop 4w8B8Ee9quk: to@to sent -_ queue.go:342 Queue.SendLoop 4w8B8Ee9quk: all done -_ queue.go:367 Queue.SendLoop Dia3fB7ciIs: pq@loco sent -E queue.go:230 failed to remove queue file "/tmp/testlib_3124547289/m:4w8B8Ee9quk": remove /tmp/testlib_3124547289/m:4w8B8Ee9quk: no such file or directory ---- PASS: TestSerialization (0.09s) + testlib.go:32: test directory: "/tmp/testlib_1412736639" +_ queue.go:308 Queue.SendLoop RAUgfxpqGnA: from from@loco +_ queue.go:367 Queue.SendLoop RAUgfxpqGnA: to@to sent +_ queue.go:342 Queue.SendLoop RAUgfxpqGnA: all done +--- PASS: TestSerialization (0.18s) PASS -_ queue.go:342 Queue.SendLoop Dia3fB7ciIs: all done -ok blitiri.com.ar/go/chasquid/internal/queue 0.302s +ok blitiri.com.ar/go/chasquid/internal/queue 0.907s === RUN TestWriteFile - testlib.go:32: test directory: "/tmp/testlib_2019390663" ---- PASS: TestWriteFile (0.20s) + testlib.go:32: test directory: "/tmp/testlib_2695224870" +--- PASS: TestWriteFile (0.63s) === RUN TestWriteFileWithOp - testlib.go:32: test directory: "/tmp/testlib_2544242019" + testlib.go:32: test directory: "/tmp/testlib_2672416449" --- PASS: TestWriteFileWithOp (0.00s) === RUN TestWriteFileWithFailingOp - testlib.go:32: test directory: "/tmp/testlib_2079144504" + testlib.go:32: test directory: "/tmp/testlib_2405318752" --- PASS: TestWriteFileWithFailingOp (0.00s) === RUN TestErrors - testlib.go:32: test directory: "/tmp/testlib_2381297291" + testlib.go:32: test directory: "/tmp/testlib_1006520239" --- PASS: TestErrors (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/safeio 0.208s +ok blitiri.com.ar/go/chasquid/internal/safeio 0.688s === RUN TestString --- PASS: TestString (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/set 0.003s +ok blitiri.com.ar/go/chasquid/internal/set 0.044s === RUN TestIsPermanent --- PASS: TestIsPermanent (0.00s) === RUN TestIsASCII @@ -2144,21 +2179,21 @@ === RUN TestFallbackToIDNA --- PASS: TestFallbackToIDNA (0.00s) === RUN TestLineTooLong ---- PASS: TestLineTooLong (0.01s) +--- PASS: TestLineTooLong (0.15s) PASS -ok blitiri.com.ar/go/chasquid/internal/smtp 0.020s -_ server.go:300 Server listening on 127.0.0.1:41535 (submission+TLS) -2026-04-08 05:16:26.230125 daemon listening on 127.0.0.1:41535 -_ server.go:300 Server listening on 127.0.0.1:41925 (SMTP) -2026-04-08 05:16:26.230252 daemon listening on 127.0.0.1:41925 -_ server.go:300 Server listening on 127.0.0.1:35117 (submission) -2026-04-08 05:16:26.230304 daemon listening on 127.0.0.1:35117 +ok blitiri.com.ar/go/chasquid/internal/smtp 0.200s +_ server.go:300 Server listening on 127.0.0.1:38977 (SMTP) +2025-03-05 22:59:55.292628 daemon listening on 127.0.0.1:38977 +_ server.go:300 Server listening on 127.0.0.1:38345 (submission) +2025-03-05 22:59:55.292762 daemon listening on 127.0.0.1:38345 +_ server.go:300 Server listening on 127.0.0.1:33121 (submission+TLS) +2025-03-05 22:59:55.292784 daemon listening on 127.0.0.1:33121 === RUN TestSecLevel -_ conn.go:209 SMTP.Conn 127.0.0.1:44092: error: error completing TLS handshake: EOF +_ conn.go:209 SMTP.Conn 127.0.0.1:40794: error: error completing TLS handshake: EOF _ domaininfo.go:117 DomainInfo.Incoming slc: slc incoming level raised: TLS_CLIENT > PLAIN _ domaininfo.go:109 DomainInfo.Incoming slc: error: slc incoming denied: PLAIN < TLS_CLIENT _ conn.go:559 testconn testconn: error: security level check for slc failed (PLAIN) ---- PASS: TestSecLevel (0.06s) +--- PASS: TestSecLevel (0.38s) === RUN TestIsHeader --- PASS: TestIsHeader (0.00s) === RUN TestAddrLiteral @@ -2170,180 +2205,184 @@ === RUN TestReadUntilDotReadError --- PASS: TestReadUntilDotReadError (0.00s) === RUN TestSimple -_ conn.go:722 SMTP.Conn 127.0.0.1:50470: Queued from from@from to [to@localhost] - psxgvnVODi0 -2026-04-08 05:16:26.395265 psxgvnVODi0 from=from@from queued ip=127.0.0.1:50470 to=[to@localhost] -_ queue.go:308 Queue.SendLoop psxgvnVODi0: from from@from -_ queue.go:367 Queue.SendLoop psxgvnVODi0: testuser@localhost sent -2026-04-08 05:16:26.395467 psxgvnVODi0 from=from@from to=testuser@localhost sent ---- PASS: TestSimple (0.00s) +_ conn.go:722 SMTP.Conn 127.0.0.1:46182: Queued from from@from to [to@localhost] - tZjBFyvTIxM +2025-03-05 22:59:55.787355 tZjBFyvTIxM from=from@from queued ip=127.0.0.1:46182 to=[to@localhost] +_ queue.go:308 Queue.SendLoop tZjBFyvTIxM: from from@from +_ queue.go:367 Queue.SendLoop tZjBFyvTIxM: testuser@localhost sent +2025-03-05 22:59:55.787532 tZjBFyvTIxM from=from@from to=testuser@localhost sent +--- PASS: TestSimple (0.01s) === RUN TestSimpleTLS -_ queue.go:342 Queue.SendLoop psxgvnVODi0: all done -2026-04-08 05:16:26.480875 psxgvnVODi0 from=from@from all done -_ queue.go:308 Queue.SendLoop jwhQxgryrFg: from from@from -_ conn.go:722 SMTP.Conn 127.0.0.1:50476: Queued from from@from to [to@localhost] - jwhQxgryrFg -2026-04-08 05:16:26.481109 jwhQxgryrFg from=from@from queued ip=127.0.0.1:50476 to=[to@localhost] -_ queue.go:367 Queue.SendLoop jwhQxgryrFg: testuser@localhost sent -2026-04-08 05:16:26.481151 jwhQxgryrFg from=from@from to=testuser@localhost sent ---- PASS: TestSimpleTLS (0.09s) -_ queue.go:342 Queue.SendLoop jwhQxgryrFg: all done -2026-04-08 05:16:26.481467 jwhQxgryrFg from=from@from all done +_ queue.go:342 Queue.SendLoop tZjBFyvTIxM: all done +2025-03-05 22:59:56.032774 tZjBFyvTIxM from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:46190: Queued from from@from to [to@localhost] - 5o0YQkdtyPE +2025-03-05 22:59:56.036208 5o0YQkdtyPE from=from@from queued ip=127.0.0.1:46190 to=[to@localhost] +_ queue.go:308 Queue.SendLoop 5o0YQkdtyPE: from from@from +_ queue.go:367 Queue.SendLoop 5o0YQkdtyPE: testuser@localhost sent +2025-03-05 22:59:56.036467 5o0YQkdtyPE from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop 5o0YQkdtyPE: all done +2025-03-05 22:59:56.036862 5o0YQkdtyPE from=from@from all done +--- PASS: TestSimpleTLS (0.25s) === RUN TestManyEmails -_ conn.go:722 SMTP.Conn 127.0.0.1:50488: Queued from from@from to [to@localhost] - IL7g-8dtYzI -2026-04-08 05:16:26.484225 IL7g-8dtYzI from=from@from queued ip=127.0.0.1:50488 to=[to@localhost] -_ queue.go:308 Queue.SendLoop IL7g-8dtYzI: from from@from -_ queue.go:367 Queue.SendLoop IL7g-8dtYzI: testuser@localhost sent -2026-04-08 05:16:26.484419 IL7g-8dtYzI from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop IL7g-8dtYzI: all done -2026-04-08 05:16:26.582755 IL7g-8dtYzI from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:50488: Queued from from@from to [to@localhost] - IAx002T4XmM -_ queue.go:308 Queue.SendLoop IAx002T4XmM: from from@from -2026-04-08 05:16:26.582986 IAx002T4XmM from=from@from queued ip=127.0.0.1:50488 to=[to@localhost] -_ queue.go:367 Queue.SendLoop IAx002T4XmM: testuser@localhost sent -2026-04-08 05:16:26.583171 IAx002T4XmM from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop IAx002T4XmM: all done -2026-04-08 05:16:26.583497 IAx002T4XmM from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:50488: Queued from from@from to [to@localhost] - Mq5Dll9nEzw -2026-04-08 05:16:26.583768 Mq5Dll9nEzw from=from@from queued ip=127.0.0.1:50488 to=[to@localhost] -_ queue.go:308 Queue.SendLoop Mq5Dll9nEzw: from from@from -_ queue.go:367 Queue.SendLoop Mq5Dll9nEzw: testuser@localhost sent -2026-04-08 05:16:26.583921 Mq5Dll9nEzw from=from@from to=testuser@localhost sent ---- PASS: TestManyEmails (0.10s) +_ conn.go:722 SMTP.Conn 127.0.0.1:46200: Queued from from@from to [to@localhost] - uO7MQC1NXFY +2025-03-05 22:59:56.045294 uO7MQC1NXFY from=from@from queued ip=127.0.0.1:46200 to=[to@localhost] +_ queue.go:308 Queue.SendLoop uO7MQC1NXFY: from from@from +_ queue.go:367 Queue.SendLoop uO7MQC1NXFY: testuser@localhost sent +2025-03-05 22:59:56.045454 uO7MQC1NXFY from=from@from to=testuser@localhost sent +_ conn.go:722 SMTP.Conn 127.0.0.1:46200: Queued from from@from to [to@localhost] - KJeNeiWet1c +2025-03-05 22:59:56.201260 KJeNeiWet1c from=from@from queued ip=127.0.0.1:46200 to=[to@localhost] +_ queue.go:308 Queue.SendLoop KJeNeiWet1c: from from@from +_ queue.go:367 Queue.SendLoop KJeNeiWet1c: testuser@localhost sent +2025-03-05 22:59:56.201573 KJeNeiWet1c from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop uO7MQC1NXFY: all done +2025-03-05 22:59:56.201573 uO7MQC1NXFY from=from@from all done +_ queue.go:342 Queue.SendLoop KJeNeiWet1c: all done +2025-03-05 22:59:56.201879 KJeNeiWet1c from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:46200: Queued from from@from to [to@localhost] - J_158SE44VE +2025-03-05 22:59:56.208764 J_158SE44VE from=from@from queued ip=127.0.0.1:46200 to=[to@localhost] +_ queue.go:308 Queue.SendLoop J_158SE44VE: from from@from +_ queue.go:367 Queue.SendLoop J_158SE44VE: testuser@localhost sent +2025-03-05 22:59:56.208981 J_158SE44VE from=from@from to=testuser@localhost sent +--- PASS: TestManyEmails (0.17s) === RUN TestAuth -_ queue.go:342 Queue.SendLoop Mq5Dll9nEzw: all done -2026-04-08 05:16:26.584497 Mq5Dll9nEzw from=from@from all done -2026-04-08 05:16:26.690914 127.0.0.1:53572 auth succeeded for testuser@localhost -_ conn.go:722 SMTP.Conn 127.0.0.1:53572: Queued from testuser@localhost to [to@localhost] - 9qNurY9YpZc -2026-04-08 05:16:26.691744 9qNurY9YpZc from=testuser@localhost queued ip=127.0.0.1:53572 to=[to@localhost] -_ queue.go:308 Queue.SendLoop 9qNurY9YpZc: from testuser@localhost -_ queue.go:367 Queue.SendLoop 9qNurY9YpZc: testuser@localhost sent -2026-04-08 05:16:26.691901 9qNurY9YpZc from=testuser@localhost to=testuser@localhost sent ---- PASS: TestAuth (0.11s) +_ queue.go:342 Queue.SendLoop J_158SE44VE: all done +2025-03-05 22:59:56.348314 J_158SE44VE from=from@from all done +2025-03-05 22:59:56.493487 127.0.0.1:38946 auth succeeded for testuser@localhost +_ conn.go:722 SMTP.Conn 127.0.0.1:38946: Queued from testuser@localhost to [to@localhost] - NJpi7rR99Pw +2025-03-05 22:59:56.497117 NJpi7rR99Pw from=testuser@localhost queued ip=127.0.0.1:38946 to=[to@localhost] +_ queue.go:308 Queue.SendLoop NJpi7rR99Pw: from testuser@localhost +_ queue.go:367 Queue.SendLoop NJpi7rR99Pw: testuser@localhost sent +2025-03-05 22:59:56.497253 NJpi7rR99Pw from=testuser@localhost to=testuser@localhost sent +--- PASS: TestAuth (0.29s) === RUN TestSubmissionWithoutAuth -_ conn.go:318 SMTP.Conn 127.0.0.1:53582: error: MAIL failed: 550 5.7.9 Mail to submission port must be authenticated +_ conn.go:318 SMTP.Conn 127.0.0.1:38960: error: MAIL failed: 550 5.7.9 Mail to submission port must be authenticated --- PASS: TestSubmissionWithoutAuth (0.00s) === RUN TestAuthOnTLS -_ queue.go:342 Queue.SendLoop 9qNurY9YpZc: all done -2026-04-08 05:16:26.700177 9qNurY9YpZc from=testuser@localhost all done -2026-04-08 05:16:26.805318 127.0.0.1:44108 auth succeeded for testuser@localhost -_ conn.go:722 SMTP.Conn 127.0.0.1:44108: Queued from testuser@localhost to [to@localhost] - 7IupVhgM-Ng -2026-04-08 05:16:26.806056 7IupVhgM-Ng from=testuser@localhost queued ip=127.0.0.1:44108 to=[to@localhost] -_ queue.go:308 Queue.SendLoop 7IupVhgM-Ng: from testuser@localhost -_ queue.go:367 Queue.SendLoop 7IupVhgM-Ng: testuser@localhost sent -2026-04-08 05:16:26.806203 7IupVhgM-Ng from=testuser@localhost to=testuser@localhost sent ---- PASS: TestAuthOnTLS (0.11s) +_ queue.go:342 Queue.SendLoop NJpi7rR99Pw: all done +2025-03-05 22:59:56.688152 NJpi7rR99Pw from=testuser@localhost all done +2025-03-05 22:59:56.949379 127.0.0.1:40806 auth succeeded for testuser@localhost +_ conn.go:722 SMTP.Conn 127.0.0.1:40806: Queued from testuser@localhost to [to@localhost] - HyXT0z9dtUM +2025-03-05 22:59:56.964630 HyXT0z9dtUM from=testuser@localhost queued ip=127.0.0.1:40806 to=[to@localhost] +_ queue.go:308 Queue.SendLoop HyXT0z9dtUM: from testuser@localhost +_ queue.go:367 Queue.SendLoop HyXT0z9dtUM: testuser@localhost sent +2025-03-05 22:59:56.972167 HyXT0z9dtUM from=testuser@localhost to=testuser@localhost sent +--- PASS: TestAuthOnTLS (0.48s) === RUN TestAuthOnSMTP -_ queue.go:342 Queue.SendLoop 7IupVhgM-Ng: all done -2026-04-08 05:16:26.821815 7IupVhgM-Ng from=testuser@localhost all done -2026-04-08 05:16:26.912859 127.0.0.1:50504 auth succeeded for testuser@localhost -_ conn.go:722 SMTP.Conn 127.0.0.1:50504: Queued from testuser@localhost to [to@localhost] - YevFb6RG6_k -2026-04-08 05:16:26.913734 YevFb6RG6_k from=testuser@localhost queued ip=127.0.0.1:50504 to=[to@localhost] -_ queue.go:308 Queue.SendLoop YevFb6RG6_k: from testuser@localhost -_ queue.go:367 Queue.SendLoop YevFb6RG6_k: testuser@localhost sent -2026-04-08 05:16:26.913894 YevFb6RG6_k from=testuser@localhost to=testuser@localhost sent ---- PASS: TestAuthOnSMTP (0.11s) +_ queue.go:342 Queue.SendLoop HyXT0z9dtUM: all done +2025-03-05 22:59:57.128206 HyXT0z9dtUM from=testuser@localhost all done +2025-03-05 22:59:57.432192 127.0.0.1:47188 auth succeeded for testuser@localhost +_ conn.go:722 SMTP.Conn 127.0.0.1:47188: Queued from testuser@localhost to [to@localhost] - m4w3akGgvbI +2025-03-05 22:59:57.441015 m4w3akGgvbI from=testuser@localhost queued ip=127.0.0.1:47188 to=[to@localhost] +_ queue.go:308 Queue.SendLoop m4w3akGgvbI: from testuser@localhost +_ queue.go:367 Queue.SendLoop m4w3akGgvbI: testuser@localhost sent +2025-03-05 22:59:57.441149 m4w3akGgvbI from=testuser@localhost to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop m4w3akGgvbI: all done +2025-03-05 22:59:57.441720 m4w3akGgvbI from=testuser@localhost all done +--- PASS: TestAuthOnSMTP (0.46s) === RUN TestBrokenAuth -_ queue.go:342 Queue.SendLoop YevFb6RG6_k: all done -2026-04-08 05:16:26.922791 YevFb6RG6_k from=testuser@localhost all done -_ conn.go:1193 SMTP.Conn 127.0.0.1:53586: error: error authenticating \"user\"@\"broken\": failed to auth -2026-04-08 05:16:27.025566 127.0.0.1:53586 auth failed for user@broken -_ conn.go:318 SMTP.Conn 127.0.0.1:53586: error: AUTH failed: 454 4.7.0 Temporary authentication failure -_ conn.go:318 SMTP.Conn 127.0.0.1:53586: error: unknown<\"*\"> failed: 500 5.5.1 Unknown command ---- PASS: TestBrokenAuth (0.11s) +_ conn.go:1193 SMTP.Conn 127.0.0.1:60848: error: error authenticating \"user\"@\"broken\": failed to auth +2025-03-05 22:59:57.568148 127.0.0.1:60848 auth failed for user@broken +_ conn.go:318 SMTP.Conn 127.0.0.1:60848: error: AUTH failed: 454 4.7.0 Temporary authentication failure +_ conn.go:318 SMTP.Conn 127.0.0.1:60848: error: unknown<\"*\"> failed: 500 5.5.1 Unknown command +--- PASS: TestBrokenAuth (0.12s) === RUN TestWrongMailParsing -_ conn.go:318 SMTP.Conn 127.0.0.1:50510: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50510: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50510: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50510: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50524: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50524: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50524: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50524: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50536: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50536: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50536: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50536: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50538: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50538: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50538: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50538: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50542: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50542: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50542: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50542: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:50552: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:50552: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:50552: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:50552: error: too many errors, breaking connection ---- PASS: TestWrongMailParsing (0.00s) +_ conn.go:318 SMTP.Conn 127.0.0.1:47198: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:47198: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:47198: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:47198: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:47200: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:47200: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:47200: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:47200: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:47206: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:47206: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:47206: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:47206: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:47222: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:47222: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:47222: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:47222: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:47238: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:47238: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:47238: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:47238: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:47252: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:47252: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:47252: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:47252: error: too many errors, breaking connection +--- PASS: TestWrongMailParsing (0.02s) === RUN TestNullMailFrom --- PASS: TestNullMailFrom (0.00s) === RUN TestRcptBeforeMail -_ conn.go:318 SMTP.Conn 127.0.0.1:50576: error: RCPT failed: 503 5.5.1 Sender not yet given +_ conn.go:318 SMTP.Conn 127.0.0.1:47256: error: RCPT failed: 503 5.5.1 Sender not yet given --- PASS: TestRcptBeforeMail (0.00s) === RUN TestRcptOption ---- PASS: TestRcptOption (0.00s) +--- PASS: TestRcptOption (0.01s) === RUN TestRelayForbidden -2026-04-08 05:16:27.034342 127.0.0.1:50596 rejected from=from@somewhere to=[to@somewhere] - relay not allowed -_ conn.go:318 SMTP.Conn 127.0.0.1:50596: error: RCPT failed: 503 5.7.1 Relay not allowed +2025-03-05 22:59:57.598606 127.0.0.1:47268 rejected from=from@somewhere to=[to@somewhere] - relay not allowed +_ conn.go:318 SMTP.Conn 127.0.0.1:47268: error: RCPT failed: 503 5.7.1 Relay not allowed --- PASS: TestRelayForbidden (0.00s) === RUN TestTooManyRecipients -2026-04-08 05:16:27.140875 127.0.0.1:53592 auth succeeded for testuser@localhost -_ conn.go:318 SMTP.Conn 127.0.0.1:53592: error: RCPT failed: 452 4.5.3 Too many recipients ---- PASS: TestTooManyRecipients (0.11s) +2025-03-05 22:59:58.129903 127.0.0.1:60854 auth succeeded for testuser@localhost +_ conn.go:318 SMTP.Conn 127.0.0.1:60854: error: RCPT failed: 452 4.5.3 Too many recipients +--- PASS: TestTooManyRecipients (0.54s) === RUN TestRcptBrokenExists -_ conn.go:622 SMTP.Conn 127.0.0.1:50604: error: error checking if user \"to@broken\" exists: failed to check if user exists -2026-04-08 05:16:27.146596 127.0.0.1:50604 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:50604: error: RCPT failed: 451 4.4.3 Temporary error checking address ---- PASS: TestRcptBrokenExists (0.00s) +_ conn.go:622 SMTP.Conn 127.0.0.1:47270: error: error checking if user \"to@broken\" exists: failed to check if user exists +2025-03-05 22:59:58.161602 127.0.0.1:47270 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:47270: error: RCPT failed: 451 4.4.3 Temporary error checking address +--- PASS: TestRcptBrokenExists (0.02s) === RUN TestRcptUserDoesNotExist -2026-04-08 05:16:27.148556 127.0.0.1:50606 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist -_ conn.go:318 SMTP.Conn 127.0.0.1:50606: error: RCPT failed: 550 5.1.1 Destination address is unknown (user does not exist) ---- PASS: TestRcptUserDoesNotExist (0.00s) +2025-03-05 22:59:58.180962 127.0.0.1:47272 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist +_ conn.go:318 SMTP.Conn 127.0.0.1:47272: error: RCPT failed: 550 5.1.1 Destination address is unknown (user does not exist) +--- PASS: TestRcptUserDoesNotExist (0.02s) === RUN TestTooMuchData -_ conn.go:722 SMTP.Conn 127.0.0.1:50622: Queued from from@from to [to@localhost] - viRLBM0gJTk -2026-04-08 05:16:27.233255 viRLBM0gJTk from=from@from queued ip=127.0.0.1:50622 to=[to@localhost] -_ queue.go:308 Queue.SendLoop viRLBM0gJTk: from from@from -_ queue.go:367 Queue.SendLoop viRLBM0gJTk: testuser@localhost sent -2026-04-08 05:16:27.233429 viRLBM0gJTk from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop viRLBM0gJTk: all done -2026-04-08 05:16:27.245003 viRLBM0gJTk from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:50622: Queued from from@from to [to@localhost] - KfFtJxCcGZE -2026-04-08 05:16:27.323752 KfFtJxCcGZE from=from@from queued ip=127.0.0.1:50622 to=[to@localhost] -_ queue.go:308 Queue.SendLoop KfFtJxCcGZE: from from@from -_ queue.go:367 Queue.SendLoop KfFtJxCcGZE: testuser@localhost sent -2026-04-08 05:16:27.323900 KfFtJxCcGZE from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop KfFtJxCcGZE: all done -2026-04-08 05:16:27.400211 KfFtJxCcGZE from=from@from all done -_ conn.go:318 SMTP.Conn 127.0.0.1:50622: error: DATA failed: 552 5.3.4 Message too big -_ queue.go:308 Queue.SendLoop qQ8P1fX8n6k: from from@from -_ queue.go:367 Queue.SendLoop qQ8P1fX8n6k: testuser@localhost sent -2026-04-08 05:16:27.507381 qQ8P1fX8n6k from=from@from to=testuser@localhost sent -_ conn.go:722 SMTP.Conn 127.0.0.1:50622: Queued from from@from to [to@localhost] - qQ8P1fX8n6k -2026-04-08 05:16:27.507408 qQ8P1fX8n6k from=from@from queued ip=127.0.0.1:50622 to=[to@localhost] ---- PASS: TestTooMuchData (0.36s) +_ conn.go:722 SMTP.Conn 127.0.0.1:47276: Queued from from@from to [to@localhost] - V0eJk7F8KKY +2025-03-05 22:59:58.918970 V0eJk7F8KKY from=from@from queued ip=127.0.0.1:47276 to=[to@localhost] +_ queue.go:308 Queue.SendLoop V0eJk7F8KKY: from from@from +_ queue.go:367 Queue.SendLoop V0eJk7F8KKY: testuser@localhost sent +2025-03-05 22:59:58.919253 V0eJk7F8KKY from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop V0eJk7F8KKY: all done +2025-03-05 22:59:59.072559 V0eJk7F8KKY from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:47276: Queued from from@from to [to@localhost] - Ea3zcd_gufo +2025-03-05 22:59:59.568982 Ea3zcd_gufo from=from@from queued ip=127.0.0.1:47276 to=[to@localhost] +_ queue.go:308 Queue.SendLoop Ea3zcd_gufo: from from@from +_ queue.go:367 Queue.SendLoop Ea3zcd_gufo: testuser@localhost sent +2025-03-05 22:59:59.569294 Ea3zcd_gufo from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop Ea3zcd_gufo: all done +2025-03-05 22:59:59.728496 Ea3zcd_gufo from=from@from all done +_ conn.go:318 SMTP.Conn 127.0.0.1:47276: error: DATA failed: 552 5.3.4 Message too big +_ queue.go:308 Queue.SendLoop l9v8E-M0bpk: from from@from +_ queue.go:367 Queue.SendLoop l9v8E-M0bpk: testuser@localhost sent +2025-03-05 23:00:00.684508 l9v8E-M0bpk from=from@from to=testuser@localhost sent +_ conn.go:722 SMTP.Conn 127.0.0.1:47276: Queued from from@from to [to@localhost] - l9v8E-M0bpk +2025-03-05 23:00:00.692740 l9v8E-M0bpk from=from@from queued ip=127.0.0.1:47276 to=[to@localhost] +--- PASS: TestTooMuchData (2.51s) === RUN TestSimpleCommands -_ conn.go:318 SMTP.Conn 127.0.0.1:50630: 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:50630: error: EXPN failed: 502 5.5.1 You feel disoriented for a moment. +_ conn.go:318 SMTP.Conn 127.0.0.1:47290: 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:47290: 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:50646: error: unknown<\"\"> failed: 500 5.5.1 Unknown command -_ conn.go:348 SMTP.Conn 127.0.0.1:50646: error: exiting with error: line too long +_ conn.go:318 SMTP.Conn 127.0.0.1:47306: error: unknown<\"\"> failed: 500 5.5.1 Unknown command +_ conn.go:348 SMTP.Conn 127.0.0.1:47306: 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:50668: 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:47334: error: STARTTLS failed: 503 5.5.1 You are already wearing that! +--- PASS: TestRepeatedStartTLS (0.07s) === RUN TestStartTLSOnTLS -_ conn.go:318 SMTP.Conn 127.0.0.1:44116: 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:59324: error: STARTTLS failed: 503 5.5.1 You are already wearing that! +--- PASS: TestStartTLSOnTLS (0.02s) === RUN TestAddDKIMSigner - testlib.go:32: test directory: "/tmp/testlib_2908318362" ---- PASS: TestAddDKIMSigner (0.00s) + testlib.go:32: test directory: "/tmp/testlib_3216385283" +--- PASS: TestAddDKIMSigner (0.01s) === RUN FuzzConnection --- PASS: FuzzConnection (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/smtpsrv 1.380s +_ queue.go:375 Queue.SendLoop l9v8E-M0bpk: error: failed to write: rename /tmp/chasquid_test:1964245997/queue/.m:l9v8E-M0bpk852682704 /tmp/chasquid_test:1964245997/queue/m:l9v8E-M0bpk: no such file or directory +_ queue.go:342 Queue.SendLoop l9v8E-M0bpk: all done +2025-03-05 23:00:00.816099 l9v8E-M0bpk from=from@from all done +E queue.go:230 failed to remove queue file "/tmp/chasquid_test:1964245997/queue/m:l9v8E-M0bpk": remove /tmp/chasquid_test:1964245997/queue/m:l9v8E-M0bpk: no such file or directory +ok blitiri.com.ar/go/chasquid/internal/smtpsrv 6.232s === RUN TestParsePolicy sts_test.go:90: pol1: &{Version:STSv1 Mode:enforce MXs:[*.mail.example.com] MaxAge:34h17m36s} --- PASS: TestParsePolicy (0.00s) @@ -2358,34 +2397,34 @@ 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.00s) +--- PASS: TestFetch (0.01s) === RUN TestPolicyTooBig sts_test.go:242: got error as expected: MTA-STS TXT record missing ---- PASS: TestPolicyTooBig (0.01s) +--- PASS: TestPolicyTooBig (0.22s) === RUN TestCacheBasics - testlib.go:32: test directory: "/tmp/testlib_2793775428" + testlib.go:32: test directory: "/tmp/testlib_2836310542" 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: ---- PASS: TestCacheBasics (0.01s) +--- PASS: TestCacheBasics (0.17s) === RUN TestCacheBadData - testlib.go:32: test directory: "/tmp/testlib_2417877077" + testlib.go:32: test directory: "/tmp/testlib_878979323" sts_test.go:349: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} sts_test.go:363: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} sts_test.go:372: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} sts_test.go:349: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} sts_test.go:363: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} sts_test.go:372: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s} ---- PASS: TestCacheBadData (0.25s) +--- PASS: TestCacheBadData (1.12s) === RUN TestCacheRefresh - testlib.go:32: test directory: "/tmp/testlib_2179174808" + testlib.go:32: test directory: "/tmp/testlib_1880379843" 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.06s) +--- PASS: TestCacheRefresh (0.21s) === RUN TestCacheSlashSafe - testlib.go:32: test directory: "/tmp/testlib_1456295198" + testlib.go:32: test directory: "/tmp/testlib_3542829546" sts_test.go:464: recovered: domain contains slash --- PASS: TestCacheSlashSafe (0.00s) === RUN TestURLForDomain @@ -2393,11 +2432,11 @@ === RUN TestHasSTSRecord --- PASS: TestHasSTSRecord (0.00s) === RUN TestHTTPGet ---- PASS: TestHTTPGet (0.00s) +--- PASS: TestHTTPGet (0.03s) PASS -ok blitiri.com.ar/go/chasquid/internal/sts 0.343s +ok blitiri.com.ar/go/chasquid/internal/sts 1.824s === RUN TestBasic - testlib.go:32: test directory: "/tmp/testlib_4195678210" + testlib.go:32: test directory: "/tmp/testlib_485519238" --- PASS: TestBasic (0.00s) === RUN TestRemoveCheck testlib_test.go:33: recovered: invalid/dangerous directory @@ -2408,55 +2447,55 @@ testlib_test.go:60: recovered: invalid/dangerous path --- PASS: TestRewriteSafeguard (0.00s) === RUN TestRewrite - testlib.go:32: test directory: "/tmp/testlib_1792017017" ---- PASS: TestRewrite (0.00s) + testlib.go:32: test directory: "/tmp/testlib_2951076519" +--- PASS: TestRewrite (0.01s) === RUN TestGetFreePort --- PASS: TestGetFreePort (0.00s) === RUN TestWaitFor --- PASS: TestWaitFor (0.02s) === RUN TestGenerateCert - testlib.go:32: test directory: "/tmp/testlib_2760200831" ---- PASS: TestGenerateCert (0.09s) + testlib.go:32: test directory: "/tmp/testlib_3495098253" +--- PASS: TestGenerateCert (0.76s) === RUN TestGenerateCertBadDir ---- PASS: TestGenerateCertBadDir (0.02s) +--- PASS: TestGenerateCertBadDir (0.47s) PASS -ok blitiri.com.ar/go/chasquid/internal/testlib 0.142s +ok blitiri.com.ar/go/chasquid/internal/testlib 1.328s === RUN TestVersionName --- PASS: TestVersionName (0.00s) === RUN TestCipherSuiteName --- PASS: TestCipherSuiteName (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/tlsconst 0.004s +ok blitiri.com.ar/go/chasquid/internal/tlsconst 0.068s ? blitiri.com.ar/go/chasquid/internal/trace [no test files] === RUN TestEmptyLoad - userdb_test.go:37: file: "/tmp/userdb_test3207844990" - userdb_test.go:37: file: "/tmp/userdb_test1253783405" + userdb_test.go:37: file: "/tmp/userdb_test402406331" + userdb_test.go:37: file: "/tmp/userdb_test3032097054" --- PASS: TestEmptyLoad (0.00s) === RUN TestWrite - userdb_test.go:37: file: "/tmp/userdb_test2616425544" ---- PASS: TestWrite (0.41s) + userdb_test.go:37: file: "/tmp/userdb_test1176544902" +--- PASS: TestWrite (2.70s) === RUN TestNew ---- PASS: TestNew (0.06s) +--- PASS: TestNew (0.41s) === RUN TestInvalidUsername - userdb_test.go:37: file: "/tmp/userdb_test1874976923" + userdb_test.go:37: file: "/tmp/userdb_test4074655858" --- PASS: TestInvalidUsername (0.00s) === RUN TestPlainScheme - userdb_test.go:37: file: "/tmp/userdb_test959088526" ---- PASS: TestPlainScheme (0.09s) + userdb_test.go:37: file: "/tmp/userdb_test2414234052" +--- PASS: TestPlainScheme (0.01s) === RUN TestDeniedScheme - userdb_test.go:37: file: "/tmp/userdb_test1865492858" ---- PASS: TestDeniedScheme (0.11s) + userdb_test.go:37: file: "/tmp/userdb_test1869674294" +--- PASS: TestDeniedScheme (0.01s) === RUN TestReload - userdb_test.go:37: file: "/tmp/userdb_test1266064975" ---- PASS: TestReload (0.10s) + userdb_test.go:37: file: "/tmp/userdb_test336008448" +--- PASS: TestReload (0.01s) === RUN TestRemoveUser - userdb_test.go:37: file: "/tmp/userdb_test2654280684" ---- PASS: TestRemoveUser (0.05s) + userdb_test.go:37: file: "/tmp/userdb_test2582450519" +--- PASS: TestRemoveUser (0.42s) === RUN TestExists - userdb_test.go:37: file: "/tmp/userdb_test4196630017" ---- PASS: TestExists (0.15s) + userdb_test.go:37: file: "/tmp/userdb_test883639379" +--- PASS: TestExists (0.27s) PASS -ok blitiri.com.ar/go/chasquid/internal/userdb 0.985s +ok blitiri.com.ar/go/chasquid/internal/userdb 3.880s create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang @@ -2510,8 +2549,8 @@ dpkg-gencontrol: warning: package chasquid: substitution variable ${misc:Static-Built-Using} unused, but is defined dh_md5sums -O--buildsystem=golang dh_builddeb -O--buildsystem=golang -dpkg-deb: building package 'chasquid-dbgsym' in '../chasquid-dbgsym_1.15.0-1_amd64.deb'. dpkg-deb: building package 'chasquid' in '../chasquid_1.15.0-1_amd64.deb'. +dpkg-deb: building package 'chasquid-dbgsym' in '../chasquid-dbgsym_1.15.0-1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../chasquid_1.15.0-1_amd64.buildinfo dpkg-genchanges --build=binary -O../chasquid_1.15.0-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -2519,12 +2558,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/4192315/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/4192315/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/607914 and its subdirectories -I: Current time: Tue Apr 7 17:16:56 -12 2026 -I: pbuilder-time-stamp: 1775625416 +I: removing directory /srv/workspace/pbuilder/4192315 and its subdirectories +I: Current time: Thu Mar 6 13:01:45 +14 2025 +I: pbuilder-time-stamp: 1741215705