Diff of the two buildlogs: -- --- b1/build.log 2025-04-16 06:51:59.241272746 +0000 +++ b2/build.log 2025-04-16 06:57:18.750413854 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Tue Apr 15 18:38:54 -12 2025 -I: pbuilder-time-stamp: 1744785534 +I: Current time: Wed Apr 16 20:52:51 +14 2025 +I: pbuilder-time-stamp: 1744786371 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/2876/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/28705/tmp/hooks/D01_modify_environment starting +debug: Running on virt64b. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Apr 16 06:53 /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/28705/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/28705/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='armhf' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='armhf' + 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]="arm-unknown-linux-gnueabihf") + 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=armhf + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=4 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=arm + HOST_ARCH=armhf IFS=' ' - INVOCATION_ID='1f39625145ed4ce39f5296763306dd00' - 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='2876' - PS1='# ' - PS2='> ' + INVOCATION_ID=72b0367db7e04aecbdc604bd3e498bdd + LANG=C + LANGUAGE=it_CH:it + LC_ALL=C + MACHTYPE=arm-unknown-linux-gnueabihf + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnueabihf + 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=28705 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.iErBPzf7/pbuilderrc_ZvRc --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.iErBPzf7/b1 --logfile b1/build.log chasquid_1.15.0-1.dsc' - SUDO_GID='113' - SUDO_UID='107' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://10.0.0.15:3142/' + 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.iErBPzf7/pbuilderrc_SI33 --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.iErBPzf7/b2 --logfile b2/build.log chasquid_1.15.0-1.dsc' + SUDO_GID=113 + SUDO_UID=107 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://10.0.0.15:3142/ I: uname -a - Linux wbq0 6.1.0-33-armmp #1 SMP Debian 6.1.133-1 (2025-04-10) armv7l GNU/Linux + Linux i-capture-the-hostname 6.1.0-33-arm64 #1 SMP Debian 6.1.133-1 (2025-04-10) aarch64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Mar 4 11:20 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/2876/tmp/hooks/D02_print_environment finished +I: user script /srv/workspace/pbuilder/28705/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -172,7 +204,7 @@ Get: 43 http://deb.debian.org/debian trixie/main armhf golang-blitiri-go-log-dev all 1.1.0-1 [6724 B] Get: 44 http://deb.debian.org/debian trixie/main armhf golang-blitiri-go-spf-dev all 1.5.1-1 [37.2 kB] Get: 45 http://deb.debian.org/debian trixie/main armhf golang-blitiri-go-systemd-dev all 1.1.0-1 [6952 B] -Fetched 65.0 MB in 6s (10.1 MB/s) +Fetched 65.0 MB in 1s (62.6 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 ... 19567 files and directories currently installed.) @@ -367,7 +399,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/28705/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/28705/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 @@ -387,45 +423,44 @@ 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-arm-linux-gnueabihf && go install -trimpath -v -p 3 -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/goarch -internal/unsafeheader + cd obj-arm-linux-gnueabihf && go install -trimpath -v -p 4 -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 encoding +internal/unsafeheader +internal/goarch internal/cpu internal/byteorder internal/abi -internal/chacha8rand -internal/bytealg internal/coverage/rtcov internal/godebugs +internal/chacha8rand internal/goexperiment +internal/bytealg internal/goos internal/profilerecord -internal/asan internal/runtime/atomic +internal/asan internal/msan internal/runtime/math internal/runtime/sys internal/runtime/syscall internal/stringslite -internal/runtime/exithook cmp +internal/runtime/exithook internal/itoa math/bits unicode/utf8 -math sync/atomic -internal/race -internal/runtime/maps -internal/sync unicode +math log/internal internal/nettrace +internal/race google.golang.org/protobuf/internal/flags unicode/utf16 +internal/runtime/maps +internal/sync google.golang.org/protobuf/internal/set container/ring -runtime container/list crypto/internal/fips140/alias crypto/internal/fips140deps/byteorder @@ -434,53 +469,74 @@ vendor/golang.org/x/crypto/cryptobyte/asn1 vendor/golang.org/x/crypto/internal/alias blitiri.com.ar/go/chasquid/internal/set +runtime iter internal/reflectlite +weak sync +crypto/internal/fips140/subtle slices -weak maps -crypto/internal/fips140/subtle crypto/subtle errors sort internal/bisect +internal/testlog strconv io internal/oserror path internal/godebug syscall -reflect -internal/testlog strings +reflect vendor/golang.org/x/net/dns/dnsmessage -time -internal/syscall/unix -internal/syscall/execenv internal/singleflight unique net/netip +runtime/cgo +time +internal/syscall/unix +internal/syscall/execenv +hash +hash/fnv +bytes io/fs -internal/filepathlite internal/fmtsort internal/poll +internal/filepathlite context -runtime/cgo encoding/binary -os -hash -hash/fnv -bytes -fmt -path/filepath -google.golang.org/protobuf/internal/detrand google.golang.org/protobuf/internal/pragma embed +os google.golang.org/protobuf/internal/editiondefaults bufio -net hash/crc32 +html +encoding/base64 +regexp/syntax +math/rand +crypto +crypto/internal/fips140deps/godebug +crypto/internal/fips140 +math/rand/v2 +crypto/internal/fips140/sha256 +crypto/internal/fips140/sha3 +crypto/internal/fips140/sha512 +regexp +fmt +net +path/filepath +google.golang.org/protobuf/internal/detrand +blitiri.com.ar/go/chasquid/internal/safeio +crypto/internal/fips140/hmac +crypto/internal/sysrand +crypto/internal/fips140/check +crypto/internal/fips140/aes +crypto/internal/entropy +crypto/internal/randutil +crypto/internal/fips140/nistec/fiat flag log google.golang.org/protobuf/internal/errors @@ -489,67 +545,45 @@ google.golang.org/protobuf/reflect/protoreflect compress/flate compress/gzip -encoding/base64 +encoding/json google.golang.org/protobuf/internal/encoding/messageset google.golang.org/protobuf/internal/strs -google.golang.org/protobuf/internal/genid google.golang.org/protobuf/internal/encoding/text +google.golang.org/protobuf/internal/genid google.golang.org/protobuf/internal/order google.golang.org/protobuf/reflect/protoregistry google.golang.org/protobuf/runtime/protoiface -google.golang.org/protobuf/internal/descfmt google.golang.org/protobuf/proto +google.golang.org/protobuf/internal/descfmt google.golang.org/protobuf/internal/descopts google.golang.org/protobuf/internal/encoding/defval -encoding/json -google.golang.org/protobuf/encoding/prototext -google.golang.org/protobuf/internal/filedesc google.golang.org/protobuf/internal/protolazy google.golang.org/protobuf/internal/version -blitiri.com.ar/go/chasquid/internal/safeio net/url -google.golang.org/protobuf/internal/encoding/tag -blitiri.com.ar/go/chasquid/internal/protoio -html -google.golang.org/protobuf/internal/impl -regexp/syntax -log/syslog -blitiri.com.ar/go/log text/template/parse -regexp -math/rand -text/template -crypto -crypto/internal/fips140deps/godebug -crypto/internal/fips140 -crypto/internal/fips140/sha256 -crypto/internal/fips140/sha3 -crypto/internal/fips140/sha512 -html/template -crypto/internal/fips140/hmac -crypto/internal/fips140/check -crypto/internal/fips140/aes -crypto/internal/sysrand -crypto/internal/entropy -math/rand/v2 -crypto/internal/randutil +google.golang.org/protobuf/encoding/prototext +google.golang.org/protobuf/internal/filedesc +blitiri.com.ar/go/chasquid/internal/protoio crypto/internal/fips140/drbg -math/big +text/template crypto/internal/fips140/aes/gcm crypto/internal/fips140only crypto/cipher crypto/internal/boring +math/big +html/template +google.golang.org/protobuf/internal/encoding/tag +google.golang.org/protobuf/internal/impl +log/syslog +blitiri.com.ar/go/log crypto/aes crypto/des -crypto/internal/fips140/nistec/fiat -google.golang.org/protobuf/internal/filetype -crypto/rand +crypto/internal/fips140/nistec crypto/internal/fips140/edwards25519/field -google.golang.org/protobuf/runtime/protoimpl -blitiri.com.ar/go/chasquid/internal/config -crypto/internal/boring/bbig crypto/internal/impl crypto/internal/fips140/bigmod +crypto/rand +crypto/internal/boring/bbig crypto/sha3 crypto/internal/fips140hash crypto/sha512 @@ -561,13 +595,18 @@ crypto/hmac crypto/internal/fips140/hkdf crypto/internal/fips140/mlkem +crypto/internal/fips140/ecdh +crypto/elliptic +crypto/ecdh +crypto/internal/fips140/ecdsa crypto/internal/fips140/tls12 crypto/internal/fips140/tls13 -crypto/internal/fips140/nistec vendor/golang.org/x/crypto/chacha20 vendor/golang.org/x/crypto/internal/poly1305 crypto/md5 vendor/golang.org/x/crypto/chacha20poly1305 +crypto/ecdsa +crypto/internal/hpke crypto/rc4 crypto/internal/fips140/rsa crypto/sha1 @@ -575,96 +614,93 @@ crypto/tls/internal/fips140tls crypto/dsa encoding/hex -crypto/x509/pkix -crypto/rsa encoding/pem +crypto/rsa +crypto/x509/pkix vendor/golang.org/x/text/transform vendor/golang.org/x/text/unicode/bidi vendor/golang.org/x/text/unicode/norm +crypto/x509 vendor/golang.org/x/text/secure/bidirule -crypto/internal/fips140/ecdh -crypto/elliptic -crypto/ecdh -crypto/internal/fips140/ecdsa -crypto/internal/hpke -vendor/golang.org/x/net/idna net/textproto -crypto/ecdsa +google.golang.org/protobuf/internal/filetype vendor/golang.org/x/net/http2/hpack +google.golang.org/protobuf/runtime/protoimpl +vendor/golang.org/x/net/idna +blitiri.com.ar/go/chasquid/internal/config mime -vendor/golang.org/x/net/http/httpguts -vendor/golang.org/x/net/http/httpproxy -crypto/x509 mime/quotedprintable net/http/internal net/http/internal/ascii blitiri.com.ar/go/chasquid/internal/envelope golang.org/x/text/transform -mime/multipart +vendor/golang.org/x/net/http/httpguts +vendor/golang.org/x/net/http/httpproxy golang.org/x/text/unicode/bidi +crypto/tls golang.org/x/text/unicode/norm +mime/multipart golang.org/x/text/secure/bidirule golang.org/x/text/internal/tag -golang.org/x/text/internal/language -crypto/tls -golang.org/x/text/internal/language/compact -golang.org/x/net/idna -golang.org/x/text/language golang.org/x/text/runes -golang.org/x/text/internal -golang.org/x/text/cases +golang.org/x/text/internal/language golang.org/x/text/width +golang.org/x/net/idna os/exec -golang.org/x/text/secure/precis blitiri.com.ar/go/chasquid/internal/dovecot +golang.org/x/text/internal/language/compact blitiri.com.ar/go/chasquid/internal/dkim +golang.org/x/text/language blitiri.com.ar/go/chasquid/internal/haproxy net/mail -blitiri.com.ar/go/chasquid/internal/normalize blitiri.com.ar/go/chasquid/internal/tlsconst golang.org/x/crypto/pbkdf2 -blitiri.com.ar/go/spf golang.org/x/crypto/scrypt -blitiri.com.ar/go/chasquid/internal/userdb +blitiri.com.ar/go/spf blitiri.com.ar/go/systemd +golang.org/x/text/internal internal/profile +golang.org/x/text/cases text/tabwriter runtime/pprof -net/http/httptrace -net/smtp -net/http -blitiri.com.ar/go/chasquid/internal/smtp +golang.org/x/text/secure/precis runtime/trace os/signal runtime/debug golang.org/x/sys/unix blitiri.com.ar/go/chasquid/cmd/mda-lmtp +blitiri.com.ar/go/chasquid/internal/normalize +blitiri.com.ar/go/chasquid/internal/userdb blitiri.com.ar/go/chasquid/internal/protoio/testpb +net/http/httptrace +net/smtp +net/http internal/sysinfo +blitiri.com.ar/go/chasquid/internal/smtp testing -golang.org/x/term blitiri.com.ar/go/chasquid/internal/testlib -golang.org/x/net/context/ctxhttp +golang.org/x/term expvar blitiri.com.ar/go/chasquid/internal/nettrace +golang.org/x/net/context/ctxhttp net/http/pprof blitiri.com.ar/go/chasquid/internal/trace -blitiri.com.ar/go/chasquid/internal/domaininfo blitiri.com.ar/go/chasquid/internal/localrpc blitiri.com.ar/go/chasquid/internal/maillog -blitiri.com.ar/go/chasquid/internal/expvarom +blitiri.com.ar/go/chasquid/internal/domaininfo blitiri.com.ar/go/chasquid/internal/auth blitiri.com.ar/go/chasquid/cmd/chasquid-util +blitiri.com.ar/go/chasquid/internal/expvarom blitiri.com.ar/go/chasquid/internal/sts blitiri.com.ar/go/chasquid/internal/aliases -blitiri.com.ar/go/chasquid/internal/courier blitiri.com.ar/go/chasquid/cmd/smtp-check +blitiri.com.ar/go/chasquid/internal/courier blitiri.com.ar/go/chasquid/internal/queue blitiri.com.ar/go/chasquid/internal/smtpsrv blitiri.com.ar/go/chasquid make[1]: Leaving directory '/build/reproducible-path/chasquid-1.15.0' dh_auto_test -O--buildsystem=golang - cd obj-arm-linux-gnueabihf && go test -vet=off -v -p 3 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-arm-linux-gnueabihf && go test -vet=off -v -p 4 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] @@ -676,9 +712,9 @@ === RUN TestUserLookupErrors --- PASS: TestUserLookupErrors (0.00s) === RUN TestAddrRewrite ---- PASS: TestAddrRewrite (0.01s) +--- PASS: TestAddrRewrite (0.00s) === RUN TestExists ---- PASS: TestExists (0.01s) +--- PASS: TestExists (0.00s) === RUN TestRemoveDropsAndSuffix --- PASS: TestRemoveDropsAndSuffix (0.00s) === RUN TestRemoveDropCharacters @@ -686,19 +722,19 @@ === RUN TestTooMuchRecursion --- PASS: TestTooMuchRecursion (0.00s) === RUN TestTooMuchRecursionOnCatchAll ---- PASS: TestTooMuchRecursionOnCatchAll (0.01s) +--- PASS: TestTooMuchRecursionOnCatchAll (0.00s) === RUN TestAddFile ---- PASS: TestAddFile (0.03s) +--- PASS: TestAddFile (0.01s) === RUN TestRichFile ---- PASS: TestRichFile (0.01s) +--- PASS: TestRichFile (0.00s) === RUN TestManyFiles ---- PASS: TestManyFiles (0.02s) +--- PASS: TestManyFiles (0.00s) === 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.08s) +--- PASS: TestHookError (0.02s) === RUN FuzzReader === RUN FuzzReader/seed#0 === RUN FuzzReader/1c24d2215db69748c6fd16797673ad11ebc7e6167fe1bc1f54c6959ec10407b6 @@ -706,7 +742,7 @@ === RUN FuzzReader/8234d8c5719f30e50525290db70743bf97d940e60591cf4a638c72158d35504a === RUN FuzzReader/c9c80ba9f513841cb081fe9bb7439d36f9f7a06bb999d4c39441991ccc878a9e === RUN FuzzReader/d40a98862ed393eb712e47a91bcef18e6f24cf368bb4bd248c7a7101ef8e178d ---- PASS: FuzzReader (0.03s) +--- PASS: FuzzReader (0.00s) --- PASS: FuzzReader/seed#0 (0.00s) --- PASS: FuzzReader/1c24d2215db69748c6fd16797673ad11ebc7e6167fe1bc1f54c6959ec10407b6 (0.00s) --- PASS: FuzzReader/4adaceaa32e2b32c00322948769d62c2dd42e1d9f4950d3c5b411c710e6d4a86 (0.00s) @@ -714,7 +750,7 @@ --- PASS: FuzzReader/c9c80ba9f513841cb081fe9bb7439d36f9f7a06bb999d4c39441991ccc878a9e (0.00s) --- PASS: FuzzReader/d40a98862ed393eb712e47a91bcef18e6f24cf368bb4bd248c7a7101ef8e178d (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/aliases 0.297s +ok blitiri.com.ar/go/chasquid/internal/aliases 0.049s === 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 @@ -727,11 +763,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 (2.59s) +--- PASS: TestAuthenticate (0.64s) === RUN TestInterfaces --- PASS: TestInterfaces (0.00s) === RUN TestMultipleBackends ---- PASS: TestMultipleBackends (0.20s) +--- PASS: TestMultipleBackends (0.18s) === RUN TestErrors --- PASS: TestErrors (0.00s) === RUN TestReload @@ -748,7 +784,7 @@ === RUN FuzzDecodeResponse/c2ae184876dd0fe9acfc8a5e2f2174a968b889b01e0f5c9a61fa27d7361f0091 === RUN FuzzDecodeResponse/d9aa9c617d1f5b3021aca758b9d896d136e3b16ed53233d02abffd02aa73ffa4 === RUN FuzzDecodeResponse/de05c7993312bab83e8114e9d9ced331c49822dc55c1a353f1cc9718a28226e7 ---- PASS: FuzzDecodeResponse (0.07s) +--- PASS: FuzzDecodeResponse (0.00s) --- PASS: FuzzDecodeResponse/0274b170c6fe2654ca5418a914b804e9c7cc5d8e5c2a7c5fcf5c29540ec5ae52 (0.00s) --- PASS: FuzzDecodeResponse/24d35771ef1fe0645d90b061e13a777faea328736483ec2833b63950d26b5399 (0.00s) --- PASS: FuzzDecodeResponse/2e5d0b26626f2d2dd6fb423e1e1cc432277ae9877c622fe6ca067e247bc11c9d (0.00s) @@ -760,45 +796,45 @@ --- PASS: FuzzDecodeResponse/d9aa9c617d1f5b3021aca758b9d896d136e3b16ed53233d02abffd02aa73ffa4 (0.00s) --- PASS: FuzzDecodeResponse/de05c7993312bab83e8114e9d9ced331c49822dc55c1a353f1cc9718a28226e7 (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/auth 3.012s +ok blitiri.com.ar/go/chasquid/internal/auth 0.839s === RUN TestEmptyStruct --- PASS: TestEmptyStruct (0.00s) === RUN TestEmptyConfig - testlib.go:32: test directory: "/tmp/testlib_1332279926" ---- PASS: TestEmptyConfig (0.01s) + testlib.go:32: test directory: "/tmp/testlib_2402086599" +--- PASS: TestEmptyConfig (0.00s) === RUN TestFullConfig - testlib.go:32: test directory: "/tmp/testlib_3397689712" ---- PASS: TestFullConfig (0.01s) + testlib.go:32: test directory: "/tmp/testlib_3302651420" +--- PASS: TestFullConfig (0.00s) === RUN TestErrorLoading --- PASS: TestErrorLoading (0.00s) === RUN TestBrokenConfig - testlib.go:32: test directory: "/tmp/testlib_4161427626" + testlib.go:32: test directory: "/tmp/testlib_125569189" --- PASS: TestBrokenConfig (0.00s) === RUN TestBrokenOverride - testlib.go:32: test directory: "/tmp/testlib_1994682619" + testlib.go:32: test directory: "/tmp/testlib_2177950563" --- PASS: TestBrokenOverride (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/config 0.095s +ok blitiri.com.ar/go/chasquid/internal/config 0.019s === RUN TestMDA - testlib.go:32: test directory: "/tmp/testlib_3894555836" + testlib.go:32: test directory: "/tmp/testlib_3916323637" --- PASS: TestMDA (0.02s) === RUN TestMDATimeout _ mda.go:73 Courier.MDA to@local: error: operation timed out ---- PASS: TestMDATimeout (0.11s) +--- PASS: TestMDATimeout (0.10s) === RUN TestMDABadCommandLine _ mda.go:86 Courier.MDA to: error: MDA delivery failed: exec: \"thisdoesnotexist\": executable file not found in $PATH - \"\" _ mda.go:86 Courier.MDA to: error: MDA delivery failed: exit status 1 - \"cat: unrecognized option '--fail_unknown_option'\\nTry 'cat --help' for more information.\\n\" ---- PASS: TestMDABadCommandLine (0.02s) +--- PASS: TestMDABadCommandLine (0.01s) === 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_4063999638" - testlib.go:32: test directory: "/tmp/testlib_1112680896" -_ smtp.go:127 Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::35453: too many colons in address -_ smtp.go:101 Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::35453: too many colons in address + testlib.go:32: test directory: "/tmp/testlib_2222244693" + testlib.go:32: test directory: "/tmp/testlib_4080437347" +_ smtp.go:127 Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::45797: too many colons in address +_ smtp.go:101 Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::45797: 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:" @@ -806,26 +842,26 @@ fakeserver_test.go:109: fakeServer read: "DATA" fakeserver_test.go:109: fakeServer read: "QUIT" fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestSMTP (3.89s) +--- PASS: TestSMTP (0.24s) === RUN TestSMTPErrors - testlib.go:32: test directory: "/tmp/testlib_1320508332" - testlib.go:32: test directory: "/tmp/testlib_3755543063" + testlib.go:32: test directory: "/tmp/testlib_644075111" + testlib.go:32: test directory: "/tmp/testlib_2962311852" fakeserver_test.go:98: fakeServer got connection -_ smtp.go:138 Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:54648->127.0.0.1:41683: 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:54648->127.0.0.1:41683: 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:54648->127.0.0.1:41683: 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:54648->127.0.0.1:41683: i/o timeout) +_ smtp.go:138 Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:58948->127.0.0.1:45115: 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:58948->127.0.0.1:45115: 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:58948->127.0.0.1:45115: 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:58948->127.0.0.1:45115: i/o timeout) fakeserver_test.go:105: fakeServer exiting: EOF - testlib.go:32: test directory: "/tmp/testlib_4250494255" - testlib.go:32: test directory: "/tmp/testlib_280561974" + testlib.go:32: test directory: "/tmp/testlib_1303244351" + testlib.go:32: test directory: "/tmp/testlib_1701479975" 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_2166987191" - testlib.go:32: test directory: "/tmp/testlib_588857745" + testlib.go:32: test directory: "/tmp/testlib_580751217" + testlib.go:32: test directory: "/tmp/testlib_2632706120" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:" @@ -833,8 +869,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_2608771445" - testlib.go:32: test directory: "/tmp/testlib_1758370035" + testlib.go:32: test directory: "/tmp/testlib_2358798945" + testlib.go:32: test directory: "/tmp/testlib_3036411702" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:" @@ -843,8 +879,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_2313823183" - testlib.go:32: test directory: "/tmp/testlib_517627458" + testlib.go:32: test directory: "/tmp/testlib_1138167464" + testlib.go:32: test directory: "/tmp/testlib_693578342" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "MAIL FROM:" @@ -853,9 +889,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 (12.80s) +--- PASS: TestSMTPErrors (3.43s) === RUN TestNoMXServer - testlib.go:32: test directory: "/tmp/testlib_4057612206" + testlib.go:32: test directory: "/tmp/testlib_2543171476" _ 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) @@ -870,8 +906,8 @@ === RUN TestLookupInvalidDomain --- PASS: TestLookupInvalidDomain (0.00s) === RUN TestTLS - testlib.go:32: test directory: "/tmp/testlib_1000533530" - testlib.go:32: test directory: "/tmp/testlib_748723193" + testlib.go:32: test directory: "/tmp/testlib_1261281067" + testlib.go:32: test directory: "/tmp/testlib_1421440231" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -882,7 +918,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_234783428" + testlib.go:32: test directory: "/tmp/testlib_941042428" 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 @@ -890,10 +926,10 @@ _ smtp.go:101 Courier.SMTP to@to: error: \"localhost\" returned transient error: Security level check failed (level:PLAIN) _ smtp.go:105 Courier.SMTP to@to: error: all MXs returned transient failures (last: Security level check failed (level:PLAIN)) fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestTLS (4.20s) +--- PASS: TestTLS (0.66s) === RUN TestTLSError - testlib.go:32: test directory: "/tmp/testlib_3881468491" - testlib.go:32: test directory: "/tmp/testlib_537369266" + testlib.go:32: test directory: "/tmp/testlib_4280181893" + testlib.go:32: test directory: "/tmp/testlib_2390250334" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -906,10 +942,10 @@ fakeserver_test.go:109: fakeServer read: "DATA" fakeserver_test.go:109: fakeServer read: "QUIT" fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestTLSError (1.80s) +--- PASS: TestTLSError (1.11s) === RUN TestSTSPolicyEnforcement - testlib.go:32: test directory: "/tmp/testlib_2332870901" - testlib.go:32: test directory: "/tmp/testlib_1321159084" + testlib.go:32: test directory: "/tmp/testlib_1794943516" + testlib.go:32: test directory: "/tmp/testlib_3070025752" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -917,7 +953,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_1793020423" + testlib.go:32: test directory: "/tmp/testlib_475660233" fakeserver_test.go:98: fakeServer got connection fakeserver_test.go:109: fakeServer read: "EHLO hello" fakeserver_test.go:109: fakeServer read: "STARTTLS" @@ -928,9 +964,9 @@ fakeserver_test.go:109: fakeServer read: "DATA" fakeserver_test.go:109: fakeServer read: "QUIT" fakeserver_test.go:105: fakeServer exiting: EOF ---- PASS: TestSTSPolicyEnforcement (2.18s) +--- PASS: TestSTSPolicyEnforcement (0.78s) PASS -ok blitiri.com.ar/go/chasquid/internal/courier 25.109s +ok blitiri.com.ar/go/chasquid/internal/courier 6.370s === RUN TestStringToCanonicalization --- PASS: TestStringToCanonicalization (0.00s) === RUN TestSimpleBody @@ -938,7 +974,7 @@ === RUN TestRelaxBody --- PASS: TestRelaxBody (0.00s) === RUN TestHeaders ---- PASS: TestHeaders (0.01s) +--- PASS: TestHeaders (0.00s) === RUN TestBadCanonicalization --- PASS: TestBadCanonicalization (0.00s) === RUN TestTraceNoCtx @@ -956,7 +992,7 @@ === RUN TestSkipBadRecords --- PASS: TestSkipBadRecords (0.00s) === RUN TestParsePublicKey ---- PASS: TestParsePublicKey (0.07s) +--- PASS: TestParsePublicKey (0.02s) === RUN TestPublicKeyMatches --- PASS: TestPublicKeyMatches (0.00s) === RUN TestStrictDomainCheck @@ -966,7 +1002,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:[0x2280300 0x2280330]} + file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x28a1410 0x28a1440]} 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; @@ -1010,7 +1046,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:[0x2280690 0x22806c0 0x22806f0 0x2280720 0x2280750]} + file_test.go:56: Want result: &{Found:5 Valid:5 Results:[0x28a17a0 0x28a17d0 0x28a1800 0x28a1830 0x28a1860]} 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; @@ -1122,7 +1158,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:[0x2280c00]} + file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x28a1d10]} 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; @@ -1136,7 +1172,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:[0x2280db0 0x2280de0]} + file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x28a1ec0 0x2ad2000]} 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; @@ -1170,7 +1206,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:[0x2281080 0x22810b0]} + file_test.go:56: Want result: &{Found:2 Valid:1 Results:[0x2ad22a0 0x2ad22d0]} 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; @@ -1204,7 +1240,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:[0x2281320 0x2281350]} + file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x2ad2540 0x2ad2570]} 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; @@ -1251,7 +1287,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:[0x2281620 0x2281650 0x2281680]} + file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x2ad2840 0x2ad2870 0x2ad28a0]} 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; @@ -1311,7 +1347,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:[0x22819e0 0x2281a10 0x2281a40]} + file_test.go:56: Want result: &{Found:3 Valid:3 Results:[0x2ad2c00 0x2ad2c30 0x2ad2c60]} 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; @@ -1371,7 +1407,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:[0x2281e00 0x2281e30]} + file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x2ad3020 0x2ad3050]} 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; @@ -1417,7 +1453,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:[0x23421e0]} + file_test.go:56: Want result: &{Found:1 Valid:0 Results:[0x2ad32f0]} 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; @@ -1438,22 +1474,22 @@ 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.34s) - --- PASS: TestFromFiles/testdata/01-rfc8463 (0.05s) - --- PASS: TestFromFiles/testdata/02-too_many_headers (0.07s) - --- PASS: TestFromFiles/testdata/03-bad_message (0.06s) - --- PASS: TestFromFiles/testdata/04-bad_dkim_signature_header (0.02s) - --- PASS: TestFromFiles/testdata/05-dns_temp_error (0.03s) - --- PASS: TestFromFiles/testdata/06-dns_perm_error (0.01s) - --- PASS: TestFromFiles/testdata/07-algo_mismatch (0.02s) - --- PASS: TestFromFiles/testdata/08-our_signature (0.03s) - --- PASS: TestFromFiles/testdata/09-limited_body (0.03s) - --- PASS: TestFromFiles/testdata/10-strict_domain_check_pass (0.02s) - --- PASS: TestFromFiles/testdata/11-strict_domain_check_fail (0.01s) +--- PASS: TestFromFiles (0.07s) + --- PASS: TestFromFiles/testdata/01-rfc8463 (0.02s) + --- 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/05-dns_temp_error (0.00s) + --- PASS: TestFromFiles/testdata/06-dns_perm_error (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.01s) + --- PASS: TestFromFiles/testdata/11-strict_domain_check_fail (0.00s) === RUN TestFromPrivateFiles --- PASS: TestFromPrivateFiles (0.00s) === RUN TestSignatureFromHeader ---- PASS: TestSignatureFromHeader (0.01s) +--- PASS: TestSignatureFromHeader (0.00s) === RUN TestCanonicalizationFromString --- PASS: TestCanonicalizationFromString (0.00s) === RUN TestCheckRequiredTags @@ -1473,18 +1509,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=1744786111; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "aZYzSRv6sae/5B7D1rwvbyE/QArzdDvhipzw4fg5+nI=" + context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1744786567; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "uHM/UcITuhCPgi9RDbI9ajVIrOlkmdEJd4zwXNZ7XgY=" context.go:17: Found DKIM-Signature header: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=example.com; s=test; t=1744786111; + d=example.com; s=test; t=1744786567; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; - b=R5B0zCU2yT9Fc5Fkg54oBUb4n6eVbEKStmMyifvyI7koTE156xGkmmfxRpm1YTl3RwELlj - f4zCnq1WneBQeZTQJsS8VZWQNpC4G47MHQYzHPyeTggw09eAXDeqShy5Ob2sNOTBbFcER0 - BblL0ilPezeIHn3AbaV13zemciDIMnh77f7lTzsutWt6HnvL8FpO1wUqfFxLGAzSkXf/MU - tTzHCVipWkXlWbIDxsJfIX3kTAt8FVte9Hmto+Kp0O6tryVi/tsZtPnDuK+pPL5bu0w79r - 7VNEQU2g0Q1CbP/qxgCFyad+EpIx2nv7xvJ9tWtADTL7zlIhhANzlSVhVovrGw==; - context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl3PlROWpfNrTeJxqBIr0SHnmUO9LLKTuFuyfpvAoGiHINw4bJ5DKoe7zQ3efGo9bHYbw/PGLa5velITEQTma155atmYGCyjNotJbIX3UnV+jc9DMHcs5ZLbkTyvIS4vNnhQBOJh+r79eHw2RvuY+nYRxJLjfT10ddbPCYO+kSukJ/RSbgTKYjF9zagocrK7MRdDMcUZbtW549DxK4VZDKf7dTBPcNwi0K6pxD64r8U0Oqeua3vUg9NmguCaeQut61d//vd6cEYa2aDyha85Ny5AJWDrqT25IhsfqDUJABQLaFWzKnz7qUqFq/E+DhHxSgZE46eNrJHC1GHy9xrpEYwIDAQAB" + b=IK5nK9rKWDt8eE6btdNkVJnbALG7sBJzkxkkVwquXL9rlQ8+MbXVWkrP4S580PTU2ItNqZ + fQ1e4AwIj2bzftU3btbiVg9bsuY+ylNfp1BDkgPYHBDDA3CGmYJe+AIEVRCfd5hpvRxRXZ + V10MJCJHkvK1XwzVZ1aWm87NsPQosc5zAtkXhKEFpQ5IZCAfHyxv/rY2PkXAdF97ll0xDD + SAn+Vn7eJhaVMl6TYiAtUgZq9EqlHqL5HqLgHxI1ofseDKXbV6SZnLBPSiGkFnu8QTnQjV + 0LyLpJkz2B6g55WyyQ1ccI2+AW8Sx2aEZRRY1kd1PQVzvQ6GpPxQ32W3EHQRMg==; + context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzrrCLogQblNH8GM41SMNgQb8yhOSi+Kl3bpR7oBqSJuxqbwceLRWCxVPUmAa6qadXqSXCLq+ANvcekg8AiNbhJl/T7WNHOAuzi+lqYANOeOjHw7tQLTPSCGdznmYfIBxIE5LvD+3WT4IY17NREhTENXLL37nhshaL9SfmJWQMcE+bi0gcveLw4rQwyU8HfRGGGaw3698um/v4yVZrgbparkOqtVtFlpnYQaQ+WLDtxyqLCwP8ySTH5M28O/tDCh4Y2nHv8PBG5Wt7dbdHiOEM1xsrf67YgCwgry95an2PVleM5BQ+DAeUhUy7XFCWuIv0hP67aqyJfnOWcQ0d8osbQIDAQAB" 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" @@ -1492,11 +1528,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=1744786111; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "aZYzSRv6sae/5B7D1rwvbyE/QArzdDvhipzw4fg5+nI=" + context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1744786567; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "uHM/UcITuhCPgi9RDbI9ajVIrOlkmdEJd4zwXNZ7XgY=" context.go:17: PK [rsa:30820122300d0609]: Verification succeeded context.go:17: Found 1 signatures, 1 valid ---- PASS: TestSignRSA (10.04s) +--- PASS: TestSignRSA (0.65s) === RUN TestSignEd25519 context.go:17: Signing for example.com / test with ed25519-sha256 context.go:17: Hashing header: "from:Joe SixPack \r\n" @@ -1504,27 +1540,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=1744786111; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "pMtxVTR3aWgQLqr7B0on4YSz3FQPRdoQOaClpnKy/50=" + context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1744786567; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "VWM9jnzvGyPZUp/zSc6gBFoR4UU7odaF1ol35TuXjhQ=" context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; - d=example.com; s=test; t=1744786111; + d=example.com; s=test; t=1744786567; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; - b=Bn6y4qq+pN0M8PdSTV5aHXdVKE8grtLwqJ0defUMDSxod55zCSiX26Iw/1kO5fyN5E+i+L - StBXUbTYp6S2JvBw==; - context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=d55hZW7H1T9xOd6JT0Qy9ELu4myfLUiZzdyQk/FRaF4=" - context.go:17: Parsed public key: [ed25519:779e61656ec7d53f] + b=nfpSlOZapn8hb2UuvmDs+tdTtQ1EjcWzazQxNZCRes2pqgLj24PGoltH2iFyvSajVMEBxt + UcPxIyTsmbUjZJAg==; + context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=9NB9I6hwm7WFLZPsSihU3inXgDr6bGviSEeuRIqhv3E=" + context.go:17: Parsed public key: [ed25519:f4d07d23a8709bb5] 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=1744786111; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" - context.go:17: Resulting hash: "pMtxVTR3aWgQLqr7B0on4YSz3FQPRdoQOaClpnKy/50=" - context.go:17: PK [ed25519:779e61656ec7d53f]: Verification succeeded + context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1744786567; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;" + context.go:17: Resulting hash: "VWM9jnzvGyPZUp/zSc6gBFoR4UU7odaF1ol35TuXjhQ=" + context.go:17: PK [ed25519:f4d07d23a8709bb5]: Verification succeeded context.go:17: Found 1 signatures, 1 valid ---- PASS: TestSignEd25519 (0.13s) +--- PASS: TestSignEd25519 (0.03s) === RUN TestSignBadMessage --- PASS: TestSignBadMessage (0.00s) === RUN TestSignBadAlgorithm @@ -1587,7 +1623,7 @@ context.go:17: Resulting hash: "noBzMaCuBjj7A6FVo1ynD30Rl8PmQkh2R3/0BGnfgo0=" context.go:17: PK [rsa:30819f300d06092a]: Verification failed: crypto/rsa: verification error context.go:17: Found 1 signatures, 0 valid ---- PASS: TestVerifyRF6376CExample (0.01s) +--- PASS: TestVerifyRF6376CExample (0.00s) === RUN TestVerifyRFC8463Example context.go:17: Found DKIM-Signature header: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=football.example.com; i=@football.example.com; @@ -1685,7 +1721,7 @@ context.go:17: Resulting hash: "f2IsMaznsSl75RyN3HCeXBCknzhGOAtiH+WoXk/PiLI=" context.go:17: PK [rsa:30819f300d06092a]: Verification failed: crypto/rsa: verification error context.go:17: Found 2 signatures, 0 valid ---- PASS: TestVerifyRFC8463Example (0.02s) +--- PASS: TestVerifyRFC8463Example (0.01s) === RUN TestHeadersToInclude --- PASS: TestHeadersToInclude (0.00s) === RUN TestAuthenticationResults @@ -1721,9 +1757,9 @@ --- PASS: FuzzParsePublicKey/seed#12 (0.00s) --- PASS: FuzzParsePublicKey/seed#13 (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/dkim 10.710s +ok blitiri.com.ar/go/chasquid/internal/dkim 0.830s === RUN TestBasic - testlib.go:32: test directory: "/tmp/testlib_844978991" + testlib.go:32: test directory: "/tmp/testlib_3110973201" _ 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 @@ -1732,14 +1768,14 @@ _ domaininfo.go:182 DomainInfo.SetToPlain d1: set to plain --- PASS: TestBasic (0.01s) === RUN TestNewDomain - testlib.go:32: test directory: "/tmp/testlib_143356777" + testlib.go:32: test directory: "/tmp/testlib_2332244932" _ 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.01s) +--- PASS: TestNewDomain (0.00s) === RUN TestProgressions - testlib.go:32: test directory: "/tmp/testlib_3552956878" + testlib.go:32: test directory: "/tmp/testlib_957448148" _ 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 @@ -1754,27 +1790,27 @@ _ domaininfo.go:145 DomainInfo.Outgoing ssip: error: ssip outgoing denied: PLAIN < TLS_SECURE --- PASS: TestProgressions (0.01s) === RUN TestErrors - testlib.go:32: test directory: "/tmp/testlib_299548842" + testlib.go:32: test directory: "/tmp/testlib_78049210" _ 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.01s) +--- PASS: TestErrors (0.00s) === RUN TestDirectoryErrors - testlib.go:32: test directory: "/tmp/testlib_2294326230" -_ domaininfo.go:59 DomainInfo.Reload reload: error: open /tmp/testlib_2294326230/db: no such file or directory -_ domaininfo.go:84 DomainInfo.write d1: error: open /tmp/testlib_2294326230/db/.s:d1293556448: no such file or directory + testlib.go:32: test directory: "/tmp/testlib_4250126673" +_ domaininfo.go:59 DomainInfo.Reload reload: error: open /tmp/testlib_4250126673/db: no such file or directory +_ domaininfo.go:84 DomainInfo.write d1: error: open /tmp/testlib_4250126673/db/.s:d1494039160: no such file or directory --- PASS: TestDirectoryErrors (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/domaininfo 0.101s +ok blitiri.com.ar/go/chasquid/internal/domaininfo 0.053s === RUN TestUsernameNotSafe --- PASS: TestUsernameNotSafe (0.00s) === RUN TestAutodetect - testlib.go:32: test directory: "/tmp/testlib_2792385866" + testlib.go:32: test directory: "/tmp/testlib_1294887263" --- PASS: TestAutodetect (0.01s) === RUN TestReload --- PASS: TestReload (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/dovecot 0.040s +ok blitiri.com.ar/go/chasquid/internal/dovecot 0.017s === RUN TestSplit --- PASS: TestSplit (0.00s) === RUN TestDomainIn @@ -1782,13 +1818,13 @@ === RUN TestAddHeader --- PASS: TestAddHeader (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/envelope 0.028s +ok blitiri.com.ar/go/chasquid/internal/envelope 0.026s === RUN TestHandler --- PASS: TestHandler (0.00s) === RUN TestMapLabelAccident --- PASS: TestMapLabelAccident (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/expvarom 0.048s +ok blitiri.com.ar/go/chasquid/internal/expvarom 0.014s === RUN TestNoNewline --- PASS: TestNoNewline (0.00s) === RUN TestBasic @@ -1811,23 +1847,23 @@ haproxy_test.go:69: testing 16: PROXY TCP6 5::5 6::6 c d haproxy_test.go:69: testing 17: PROXY TCP6 5::5 6::6 7777 d haproxy_test.go:69: testing 18: PROXY TCP6 5::5 6::6 7777 8888 ---- PASS: TestBasic (0.01s) +--- PASS: TestBasic (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/haproxy 0.092s +ok blitiri.com.ar/go/chasquid/internal/haproxy 0.009s === RUN TestBadServer - asm_arm.s:884: FakeServer &{{0x24861e0}}: accepted - asm_arm.s:884: FakeServer &{{0x24861e0}}: readRequest: "" "" / EOF - asm_arm.s:884: FakeServer &{{0x24861e0}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-3413604586/rpc.sock->@: write: broken pipe - asm_arm.s:884: FakeServer &{{0x24861e0}}: closing - asm_arm.s:884: FakeServer &{{0x2486230}}: accepted - asm_arm.s:884: FakeServer &{{0x2486230}}: readRequest: "Echo" "" / - asm_arm.s:884: FakeServer &{{0x2486230}}: writeMessage("xxx"): 3 - asm_arm.s:884: FakeServer &{{0x2486230}}: closing ---- PASS: TestBadServer (0.02s) + asm_arm.s:884: FakeServer &{{0x1a0e0f0}}: accepted + asm_arm.s:884: FakeServer &{{0x1a0e0f0}}: readRequest: "" "" / EOF + asm_arm.s:884: FakeServer &{{0x1a0e0f0}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-1329703878/rpc.sock->@: write: broken pipe + asm_arm.s:884: FakeServer &{{0x1a0e0f0}}: closing + asm_arm.s:884: FakeServer &{{0x1a0e140}}: accepted + asm_arm.s:884: FakeServer &{{0x1a0e140}}: readRequest: "Echo" "" / + asm_arm.s:884: FakeServer &{{0x1a0e140}}: writeMessage("xxx"): 3 + asm_arm.s:884: FakeServer &{{0x1a0e140}}: closing +--- PASS: TestBadServer (0.01s) === RUN TestBadSocket --- PASS: TestBadSocket (0.00s) === RUN TestEndToEnd -_ localrpc.go:63 LocalRPC.Server /tmp/rpc-test-3989141249/sock: Listening +_ localrpc.go:63 LocalRPC.Server /tmp/rpc-test-2444746124/sock: Listening === RUN TestEndToEnd/Echo === RUN TestEndToEnd/Echo#01 === RUN TestEndToEnd/Hola @@ -1835,12 +1871,12 @@ _ 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-3989141249/sock: error: Accept error: accept unix /tmp/rpc-test-3989141249/sock: use of closed network connection ---- PASS: TestEndToEnd (0.05s) +_ localrpc.go:67 LocalRPC.Server /tmp/rpc-test-2444746124/sock: error: Accept error: accept unix /tmp/rpc-test-2444746124/sock: use of closed network connection +--- PASS: TestEndToEnd (0.02s) --- PASS: TestEndToEnd/Echo (0.00s) - --- PASS: TestEndToEnd/Echo#01 (0.01s) + --- PASS: TestEndToEnd/Echo#01 (0.00s) --- PASS: TestEndToEnd/Hola (0.00s) - --- PASS: TestEndToEnd/HolaErr (0.01s) + --- PASS: TestEndToEnd/HolaErr (0.00s) --- PASS: TestEndToEnd/UnknownMethod (0.00s) === RUN TestListenError --- PASS: TestListenError (0.00s) @@ -1850,15 +1886,15 @@ === RUN TestShortReadRequest --- PASS: TestShortReadRequest (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/localrpc 0.239s +ok blitiri.com.ar/go/chasquid/internal/localrpc 0.045s === RUN TestLogger ---- PASS: TestLogger (0.01s) +--- PASS: TestLogger (0.00s) === RUN TestDefault ---- PASS: TestDefault (0.01s) +--- PASS: TestDefault (0.00s) === RUN TestFailedLogger --- PASS: TestFailedLogger (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/maillog 0.073s +ok blitiri.com.ar/go/chasquid/internal/maillog 0.015s === RUN TestContext --- PASS: TestContext (0.00s) === RUN TestHistogramBasic @@ -1866,19 +1902,19 @@ === RUN TestHistogramEmpty --- PASS: TestHistogramEmpty (0.00s) === RUN TestHTTP ---- PASS: TestHTTP (0.12s) +--- PASS: TestHTTP (0.04s) === RUN TestHTTPLong ---- PASS: TestHTTPLong (0.05s) +--- PASS: TestHTTPLong (0.01s) === RUN TestHTTPErrors ---- PASS: TestHTTPErrors (0.13s) +--- PASS: TestHTTPErrors (0.03s) === RUN TestHTTPUroboro ---- PASS: TestHTTPUroboro (0.14s) +--- PASS: TestHTTPUroboro (0.03s) === RUN TestHTTPDeep ---- PASS: TestHTTPDeep (0.11s) +--- PASS: TestHTTPDeep (0.02s) === RUN TestStripZeros --- PASS: TestStripZeros (0.00s) === RUN TestRegisterHandler ---- PASS: TestRegisterHandler (0.04s) +--- PASS: TestRegisterHandler (0.01s) === RUN TestBasic --- PASS: TestBasic (0.00s) === RUN TestLong @@ -1894,7 +1930,7 @@ === RUN TestFindParent --- PASS: TestFindParent (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/nettrace 0.683s +ok blitiri.com.ar/go/chasquid/internal/nettrace 0.149s === RUN TestUser --- PASS: TestUser (0.00s) === RUN TestDomain @@ -1911,7 +1947,7 @@ === RUN FuzzUser/6d603c8b9fbe8b9aa021dbde499ec1b3a00922b9338c68b2984cd314c3d5e633 === RUN FuzzUser/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32 === RUN FuzzUser/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 ---- PASS: FuzzUser (0.01s) +--- PASS: FuzzUser (0.00s) --- PASS: FuzzUser/263da65bb5a59369f294d26a64a36a989a9a36ed5c60950b123e395bedbe881c (0.00s) --- PASS: FuzzUser/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1 (0.00s) --- PASS: FuzzUser/6d603c8b9fbe8b9aa021dbde499ec1b3a00922b9338c68b2984cd314c3d5e633 (0.00s) @@ -1923,7 +1959,7 @@ === RUN FuzzDomain/6d603c8b9fbe8b9aa021dbde499ec1b3a00922b9338c68b2984cd314c3d5e633 === RUN FuzzDomain/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32 === RUN FuzzDomain/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 ---- PASS: FuzzDomain (0.01s) +--- PASS: FuzzDomain (0.00s) --- PASS: FuzzDomain/263da65bb5a59369f294d26a64a36a989a9a36ed5c60950b123e395bedbe881c (0.00s) --- PASS: FuzzDomain/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1 (0.00s) --- PASS: FuzzDomain/6d603c8b9fbe8b9aa021dbde499ec1b3a00922b9338c68b2984cd314c3d5e633 (0.00s) @@ -1935,7 +1971,7 @@ === RUN FuzzAddr/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32 === RUN FuzzAddr/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70 === RUN FuzzAddr/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 ---- PASS: FuzzAddr (0.01s) +--- PASS: FuzzAddr (0.00s) --- PASS: FuzzAddr/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1 (0.00s) --- PASS: FuzzAddr/7aba1e0ef80990ccac3731800dbb0267c4c8b7156d4da3b8a5f1b57a570adfb8 (0.00s) --- PASS: FuzzAddr/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32 (0.00s) @@ -1947,48 +1983,48 @@ === RUN FuzzDomainToUnicode/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32 === RUN FuzzDomainToUnicode/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70 === RUN FuzzDomainToUnicode/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 ---- PASS: FuzzDomainToUnicode (0.02s) +--- PASS: FuzzDomainToUnicode (0.00s) --- PASS: FuzzDomainToUnicode/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1 (0.00s) --- PASS: FuzzDomainToUnicode/7aba1e0ef80990ccac3731800dbb0267c4c8b7156d4da3b8a5f1b57a570adfb8 (0.00s) --- PASS: FuzzDomainToUnicode/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32 (0.00s) --- PASS: FuzzDomainToUnicode/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70 (0.00s) --- PASS: FuzzDomainToUnicode/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/normalize 0.085s +ok blitiri.com.ar/go/chasquid/internal/normalize 0.032s === RUN TestBin - testlib.go:32: test directory: "/tmp/testlib_3011813881" ---- PASS: TestBin (0.01s) + testlib.go:32: test directory: "/tmp/testlib_3273070649" +--- PASS: TestBin (0.00s) === RUN TestText - testlib.go:32: test directory: "/tmp/testlib_177514885" + testlib.go:32: test directory: "/tmp/testlib_452857925" --- PASS: TestText (0.00s) === RUN TestStore - testlib.go:32: test directory: "/tmp/testlib_1792703381" ---- PASS: TestStore (0.01s) + testlib.go:32: test directory: "/tmp/testlib_4008425925" +--- PASS: TestStore (0.00s) === RUN TestFileErrors - testlib.go:32: test directory: "/tmp/testlib_1697323258" + testlib.go:32: test directory: "/tmp/testlib_3792235681" --- PASS: TestFileErrors (0.00s) === RUN TestMarshalErrors - testlib.go:32: test directory: "/tmp/testlib_678483167" + testlib.go:32: test directory: "/tmp/testlib_936543213" --- PASS: TestMarshalErrors (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/protoio 0.090s +ok blitiri.com.ar/go/chasquid/internal/protoio 0.018s ? 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, 16 Apr 2025 06:48:55 +0000 + Message-ID: + Date: Wed, 16 Apr 2025 06:56:13 +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="owvkf9vfP_E" + boundary="Xbdgd-knPt4" - --owvkf9vfP_E + --Xbdgd-knPt4 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Description: Notification @@ -2013,7 +2049,7 @@ oh! the humanity! - --owvkf9vfP_E + --Xbdgd-knPt4 Content-Type: message/global-delivery-status Content-Description: Delivery Report Content-Transfer-Encoding: 8bit @@ -2044,7 +2080,7 @@ - --owvkf9vfP_E + --Xbdgd-knPt4 Content-Type: message/rfc822 Content-Description: Undelivered Message Content-Transfer-Encoding: 8bit @@ -2054,76 +2090,76 @@ Data ñaca. - --owvkf9vfP_E-- + --Xbdgd-knPt4-- ---- PASS: TestDSN (0.01s) +--- PASS: TestDSN (0.00s) === RUN TestBasic - testlib.go:32: test directory: "/tmp/testlib_1341934985" -_ queue.go:308 Queue.SendLoop yv4-nnGEFj0: from from -_ queue.go:367 Queue.SendLoop yv4-nnGEFj0: nodomain sent -_ queue.go:367 Queue.SendLoop yv4-nnGEFj0: am@loco sent -_ queue.go:367 Queue.SendLoop yv4-nnGEFj0: x@remote sent -_ queue.go:342 Queue.SendLoop yv4-nnGEFj0: all done + testlib.go:32: test directory: "/tmp/testlib_1921383079" +_ queue.go:308 Queue.SendLoop yfjRd-ZkTFE: from from +_ queue.go:367 Queue.SendLoop yfjRd-ZkTFE: nodomain sent +_ queue.go:367 Queue.SendLoop yfjRd-ZkTFE: am@loco sent +_ queue.go:367 Queue.SendLoop yfjRd-ZkTFE: x@remote sent +_ queue.go:342 Queue.SendLoop yfjRd-ZkTFE: all done --- PASS: TestBasic (0.03s) === RUN TestDSNOnTimeout - testlib.go:32: test directory: "/tmp/testlib_2599124785" -_ queue.go:308 Queue.SendLoop f1JR2PjMYPo: from from@loco -_ queue.go:467 Queue.SendLoop f1JR2PjMYPo: queued DSN: fLMu-v8ODko -_ queue.go:342 Queue.SendLoop f1JR2PjMYPo: all done -_ queue.go:308 Queue.SendLoop fLMu-v8ODko: from <> -_ queue.go:367 Queue.SendLoop fLMu-v8ODko: from@loco sent -_ queue.go:342 Queue.SendLoop fLMu-v8ODko: all done + testlib.go:32: test directory: "/tmp/testlib_4158127592" +_ queue.go:308 Queue.SendLoop eUhgZcaH9mY: from from@loco +_ queue.go:467 Queue.SendLoop eUhgZcaH9mY: queued DSN: Up6MUDKjeZc +_ queue.go:342 Queue.SendLoop eUhgZcaH9mY: all done +_ queue.go:308 Queue.SendLoop Up6MUDKjeZc: from <> +_ queue.go:367 Queue.SendLoop Up6MUDKjeZc: from@loco sent +_ queue.go:342 Queue.SendLoop Up6MUDKjeZc: all done --- PASS: TestDSNOnTimeout (0.01s) === RUN TestAliases - testlib.go:32: test directory: "/tmp/testlib_1608613315" -_ queue.go:308 Queue.SendLoop vQnFy1cC4PE: from from -_ queue.go:367 Queue.SendLoop vQnFy1cC4PE: ata@hualpa sent -_ queue.go:367 Queue.SendLoop vQnFy1cC4PE: pq@loco sent ---- PASS: TestAliases (0.00s) + testlib.go:32: test directory: "/tmp/testlib_1344499232" +_ queue.go:308 Queue.SendLoop hqAPbpspnBI: from from +_ queue.go:367 Queue.SendLoop hqAPbpspnBI: ata@hualpa sent +_ queue.go:367 Queue.SendLoop hqAPbpspnBI: pq@loco sent +_ queue.go:367 Queue.SendLoop hqAPbpspnBI: rs@loco sent +_ queue.go:342 Queue.SendLoop hqAPbpspnBI: all done +--- PASS: TestAliases (0.01s) === RUN TestFullQueue - testlib.go:32: test directory: "/tmp/testlib_339268400" -_ queue.go:367 Queue.SendLoop vQnFy1cC4PE: rs@loco sent + testlib.go:32: test directory: "/tmp/testlib_1434195717" _ queue.go:164 Queue.Put from: error: queue full ---- PASS: TestFullQueue (0.01s) -_ queue.go:342 Queue.SendLoop vQnFy1cC4PE: all done +--- PASS: TestFullQueue (0.00s) === RUN TestPipes -_ queue.go:308 Queue.SendLoop fMDR5E3Vpys: from from -_ queue.go:367 Queue.SendLoop fMDR5E3Vpys: to sent - testlib.go:32: test directory: "/tmp/testlib_3309697063" -_ queue.go:375 Queue.SendLoop fMDR5E3Vpys: error: failed to write: open /tmp/testlib_339268400/.m:fMDR5E3Vpys2508571479: no such file or directory -_ queue.go:342 Queue.SendLoop fMDR5E3Vpys: all done -E queue.go:230 failed to remove queue file "/tmp/testlib_339268400/m:fMDR5E3Vpys": remove /tmp/testlib_339268400/m:fMDR5E3Vpys: no such file or directory ---- PASS: TestPipes (0.02s) + testlib.go:32: test directory: "/tmp/testlib_2065410776" +_ queue.go:308 Queue.SendLoop EBwcQzzv2bs: from from +_ queue.go:367 Queue.SendLoop EBwcQzzv2bs: to sent +_ queue.go:375 Queue.SendLoop EBwcQzzv2bs: error: failed to write: open /tmp/testlib_1434195717/.m:EBwcQzzv2bs239605286: no such file or directory +_ queue.go:342 Queue.SendLoop EBwcQzzv2bs: all done +E queue.go:230 failed to remove queue file "/tmp/testlib_1434195717/m:EBwcQzzv2bs": remove /tmp/testlib_1434195717/m:EBwcQzzv2bs: no such file or directory +--- PASS: TestPipes (0.01s) === RUN TestBadPath --- PASS: TestBadPath (0.00s) === RUN TestNextDelay --- PASS: TestNextDelay (0.00s) === RUN TestSerialization - testlib.go:32: test directory: "/tmp/testlib_3564206685" -_ queue.go:308 Queue.SendLoop YMNea267464: from from@loco -_ queue.go:367 Queue.SendLoop YMNea267464: to@to sent -_ queue.go:342 Queue.SendLoop YMNea267464: all done ---- PASS: TestSerialization (0.01s) + testlib.go:32: test directory: "/tmp/testlib_624207867" +_ queue.go:308 Queue.SendLoop hemHqWNBWVE: from from@loco +_ queue.go:367 Queue.SendLoop hemHqWNBWVE: to@to sent +_ queue.go:342 Queue.SendLoop hemHqWNBWVE: all done +--- PASS: TestSerialization (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/queue 0.188s +ok blitiri.com.ar/go/chasquid/internal/queue 0.076s === RUN TestWriteFile - testlib.go:32: test directory: "/tmp/testlib_2234986090" ---- PASS: TestWriteFile (0.02s) + testlib.go:32: test directory: "/tmp/testlib_3660505349" +--- PASS: TestWriteFile (0.00s) === RUN TestWriteFileWithOp - testlib.go:32: test directory: "/tmp/testlib_1282086817" ---- PASS: TestWriteFileWithOp (0.01s) + testlib.go:32: test directory: "/tmp/testlib_4199616040" +--- PASS: TestWriteFileWithOp (0.00s) === RUN TestWriteFileWithFailingOp - testlib.go:32: test directory: "/tmp/testlib_515156099" + testlib.go:32: test directory: "/tmp/testlib_152518880" --- PASS: TestWriteFileWithFailingOp (0.00s) === RUN TestErrors - testlib.go:32: test directory: "/tmp/testlib_1738815247" + testlib.go:32: test directory: "/tmp/testlib_2636068093" --- PASS: TestErrors (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/safeio 0.104s +ok blitiri.com.ar/go/chasquid/internal/safeio 0.014s === RUN TestString --- PASS: TestString (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/set 0.044s +ok blitiri.com.ar/go/chasquid/internal/set 0.009s === RUN TestIsPermanent --- PASS: TestIsPermanent (0.00s) === RUN TestIsASCII @@ -2137,17 +2173,17 @@ === RUN TestFallbackToIDNA --- PASS: TestFallbackToIDNA (0.00s) === RUN TestLineTooLong ---- PASS: TestLineTooLong (0.36s) +--- PASS: TestLineTooLong (0.05s) PASS -ok blitiri.com.ar/go/chasquid/internal/smtp 0.405s -_ server.go:300 Server listening on 127.0.0.1:44921 (submission) -2025-04-16 06:49:09.339929 daemon listening on 127.0.0.1:44921 -_ server.go:300 Server listening on 127.0.0.1:34889 (submission+TLS) -2025-04-16 06:49:09.341032 daemon listening on 127.0.0.1:34889 -_ server.go:300 Server listening on 127.0.0.1:44681 (SMTP) -2025-04-16 06:49:09.341281 daemon listening on 127.0.0.1:44681 +ok blitiri.com.ar/go/chasquid/internal/smtp 0.080s +_ server.go:300 Server listening on 127.0.0.1:37481 (SMTP) +2025-04-16 06:56:17.377018 daemon listening on 127.0.0.1:37481 +_ server.go:300 Server listening on 127.0.0.1:41375 (submission) +2025-04-16 06:56:17.377463 daemon listening on 127.0.0.1:41375 +_ server.go:300 Server listening on 127.0.0.1:41791 (submission+TLS) +2025-04-16 06:56:17.377590 daemon listening on 127.0.0.1:41791 === RUN TestSecLevel -_ conn.go:209 SMTP.Conn 127.0.0.1:40384: error: error completing TLS handshake: EOF +_ conn.go:209 SMTP.Conn 127.0.0.1:48658: 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) @@ -2163,189 +2199,189 @@ === RUN TestReadUntilDotReadError --- PASS: TestReadUntilDotReadError (0.00s) === RUN TestSimple -_ conn.go:722 SMTP.Conn 127.0.0.1:45512: Queued from from@from to [to@localhost] - oeb1mWQL7Bk -2025-04-16 06:49:09.469717 oeb1mWQL7Bk from=from@from queued ip=127.0.0.1:45512 to=[to@localhost] -_ queue.go:308 Queue.SendLoop oeb1mWQL7Bk: from from@from -_ queue.go:367 Queue.SendLoop oeb1mWQL7Bk: testuser@localhost sent -2025-04-16 06:49:09.470381 oeb1mWQL7Bk from=from@from to=testuser@localhost sent +_ conn.go:722 SMTP.Conn 127.0.0.1:45646: Queued from from@from to [to@localhost] - CRfN8mWCEv0 +2025-04-16 06:56:17.488997 CRfN8mWCEv0 from=from@from queued ip=127.0.0.1:45646 to=[to@localhost] +_ queue.go:308 Queue.SendLoop CRfN8mWCEv0: from from@from +_ queue.go:367 Queue.SendLoop CRfN8mWCEv0: testuser@localhost sent +2025-04-16 06:56:17.489300 CRfN8mWCEv0 from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop CRfN8mWCEv0: all done +2025-04-16 06:56:17.490875 CRfN8mWCEv0 from=from@from all done --- PASS: TestSimple (0.01s) === RUN TestSimpleTLS -_ queue.go:342 Queue.SendLoop oeb1mWQL7Bk: all done -2025-04-16 06:49:09.483766 oeb1mWQL7Bk from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:45518: Queued from from@from to [to@localhost] - MYBY07J59CM -2025-04-16 06:49:09.528646 MYBY07J59CM from=from@from queued ip=127.0.0.1:45518 to=[to@localhost] -_ queue.go:308 Queue.SendLoop MYBY07J59CM: from from@from -_ queue.go:367 Queue.SendLoop MYBY07J59CM: testuser@localhost sent ---- PASS: TestSimpleTLS (0.06s) +_ conn.go:722 SMTP.Conn 127.0.0.1:45662: Queued from from@from to [to@localhost] - WaGsLv6mpsI +2025-04-16 06:56:17.509331 WaGsLv6mpsI from=from@from queued ip=127.0.0.1:45662 to=[to@localhost] +_ queue.go:308 Queue.SendLoop WaGsLv6mpsI: from from@from +_ queue.go:367 Queue.SendLoop WaGsLv6mpsI: testuser@localhost sent +2025-04-16 06:56:17.509664 WaGsLv6mpsI from=from@from to=testuser@localhost sent +--- PASS: TestSimpleTLS (0.02s) === RUN TestManyEmails -2025-04-16 06:49:09.529328 MYBY07J59CM from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop MYBY07J59CM: all done -2025-04-16 06:49:09.537867 MYBY07J59CM from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:45530: Queued from from@from to [to@localhost] - 9KT7bbS59Xc -2025-04-16 06:49:09.584548 9KT7bbS59Xc from=from@from queued ip=127.0.0.1:45530 to=[to@localhost] -_ queue.go:308 Queue.SendLoop 9KT7bbS59Xc: from from@from -_ queue.go:367 Queue.SendLoop 9KT7bbS59Xc: testuser@localhost sent -2025-04-16 06:49:09.585324 9KT7bbS59Xc from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop 9KT7bbS59Xc: all done -2025-04-16 06:49:09.591113 9KT7bbS59Xc from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:45530: Queued from from@from to [to@localhost] - sl_R3piM1MY -2025-04-16 06:49:09.592555 sl_R3piM1MY from=from@from queued ip=127.0.0.1:45530 to=[to@localhost] -_ queue.go:308 Queue.SendLoop sl_R3piM1MY: from from@from -_ queue.go:367 Queue.SendLoop sl_R3piM1MY: testuser@localhost sent -2025-04-16 06:49:09.593399 sl_R3piM1MY from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop sl_R3piM1MY: all done -2025-04-16 06:49:09.599216 sl_R3piM1MY from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:45530: Queued from from@from to [to@localhost] - sKxWSBEHIg4 -2025-04-16 06:49:09.601698 sKxWSBEHIg4 from=from@from queued ip=127.0.0.1:45530 to=[to@localhost] -_ queue.go:308 Queue.SendLoop sKxWSBEHIg4: from from@from -_ queue.go:367 Queue.SendLoop sKxWSBEHIg4: testuser@localhost sent -2025-04-16 06:49:09.602380 sKxWSBEHIg4 from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop sKxWSBEHIg4: all done -2025-04-16 06:49:09.604466 sKxWSBEHIg4 from=from@from all done ---- PASS: TestManyEmails (0.08s) +_ queue.go:342 Queue.SendLoop WaGsLv6mpsI: all done +2025-04-16 06:56:17.510436 WaGsLv6mpsI from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:45672: Queued from from@from to [to@localhost] - D0d34i-nSg4 +2025-04-16 06:56:17.534373 D0d34i-nSg4 from=from@from queued ip=127.0.0.1:45672 to=[to@localhost] +_ queue.go:308 Queue.SendLoop D0d34i-nSg4: from from@from +_ queue.go:367 Queue.SendLoop D0d34i-nSg4: testuser@localhost sent +2025-04-16 06:56:17.534671 D0d34i-nSg4 from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop D0d34i-nSg4: all done +2025-04-16 06:56:17.536042 D0d34i-nSg4 from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:45672: Queued from from@from to [to@localhost] - 1yBaldeIC-E +2025-04-16 06:56:17.537871 1yBaldeIC-E from=from@from queued ip=127.0.0.1:45672 to=[to@localhost] +_ queue.go:308 Queue.SendLoop 1yBaldeIC-E: from from@from +_ queue.go:367 Queue.SendLoop 1yBaldeIC-E: testuser@localhost sent +2025-04-16 06:56:17.538096 1yBaldeIC-E from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop 1yBaldeIC-E: all done +2025-04-16 06:56:17.539060 1yBaldeIC-E from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:45672: Queued from from@from to [to@localhost] - 3_tIYrqF-Mc +2025-04-16 06:56:17.539926 3_tIYrqF-Mc from=from@from queued ip=127.0.0.1:45672 to=[to@localhost] +_ queue.go:308 Queue.SendLoop 3_tIYrqF-Mc: from from@from +_ queue.go:367 Queue.SendLoop 3_tIYrqF-Mc: testuser@localhost sent +2025-04-16 06:56:17.540027 3_tIYrqF-Mc from=from@from to=testuser@localhost sent +--- PASS: TestManyEmails (0.03s) === RUN TestAuth -2025-04-16 06:49:10.193889 127.0.0.1:44062 auth succeeded for testuser@localhost -_ conn.go:722 SMTP.Conn 127.0.0.1:44062: Queued from testuser@localhost to [to@localhost] - FQicVDTH1Ug -2025-04-16 06:49:10.198936 FQicVDTH1Ug from=testuser@localhost queued ip=127.0.0.1:44062 to=[to@localhost] -_ queue.go:308 Queue.SendLoop FQicVDTH1Ug: from testuser@localhost -_ queue.go:367 Queue.SendLoop FQicVDTH1Ug: testuser@localhost sent -2025-04-16 06:49:10.200040 FQicVDTH1Ug from=testuser@localhost to=testuser@localhost sent ---- PASS: TestAuth (0.60s) +_ queue.go:342 Queue.SendLoop 3_tIYrqF-Mc: all done +2025-04-16 06:56:17.540663 3_tIYrqF-Mc from=from@from all done +2025-04-16 06:56:17.710743 127.0.0.1:50172 auth succeeded for testuser@localhost +_ queue.go:308 Queue.SendLoop 9KhcAXqehKY: from testuser@localhost +_ queue.go:367 Queue.SendLoop 9KhcAXqehKY: testuser@localhost sent +2025-04-16 06:56:17.720868 9KhcAXqehKY from=testuser@localhost to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop 9KhcAXqehKY: all done +2025-04-16 06:56:17.721762 9KhcAXqehKY from=testuser@localhost all done +_ conn.go:722 SMTP.Conn 127.0.0.1:50172: Queued from testuser@localhost to [to@localhost] - 9KhcAXqehKY +2025-04-16 06:56:17.729486 9KhcAXqehKY from=testuser@localhost queued ip=127.0.0.1:50172 to=[to@localhost] +--- PASS: TestAuth (0.19s) === RUN TestSubmissionWithoutAuth -_ queue.go:342 Queue.SendLoop FQicVDTH1Ug: all done -2025-04-16 06:49:10.211653 FQicVDTH1Ug from=testuser@localhost all done -_ conn.go:318 SMTP.Conn 127.0.0.1:40646: error: MAIL failed: 550 5.7.9 Mail to submission port must be authenticated ---- PASS: TestSubmissionWithoutAuth (0.05s) +_ conn.go:318 SMTP.Conn 127.0.0.1:50186: error: MAIL failed: 550 5.7.9 Mail to submission port must be authenticated +--- PASS: TestSubmissionWithoutAuth (0.03s) === RUN TestAuthOnTLS -2025-04-16 06:49:10.859764 127.0.0.1:48642 auth succeeded for testuser@localhost -_ conn.go:722 SMTP.Conn 127.0.0.1:48642: Queued from testuser@localhost to [to@localhost] - iXo17mBBEKc -2025-04-16 06:49:10.869473 iXo17mBBEKc from=testuser@localhost queued ip=127.0.0.1:48642 to=[to@localhost] -_ queue.go:308 Queue.SendLoop iXo17mBBEKc: from testuser@localhost -_ queue.go:367 Queue.SendLoop iXo17mBBEKc: testuser@localhost sent -2025-04-16 06:49:10.870250 iXo17mBBEKc from=testuser@localhost to=testuser@localhost sent ---- PASS: TestAuthOnTLS (0.62s) +2025-04-16 06:56:17.946655 127.0.0.1:48672 auth succeeded for testuser@localhost +_ conn.go:722 SMTP.Conn 127.0.0.1:48672: Queued from testuser@localhost to [to@localhost] - 9849WNVbngA +2025-04-16 06:56:17.949280 9849WNVbngA from=testuser@localhost queued ip=127.0.0.1:48672 to=[to@localhost] +_ queue.go:308 Queue.SendLoop 9849WNVbngA: from testuser@localhost +_ queue.go:367 Queue.SendLoop 9849WNVbngA: testuser@localhost sent +2025-04-16 06:56:17.949570 9849WNVbngA from=testuser@localhost to=testuser@localhost sent +--- PASS: TestAuthOnTLS (0.17s) === RUN TestAuthOnSMTP -_ queue.go:342 Queue.SendLoop iXo17mBBEKc: all done -2025-04-16 06:49:10.876625 iXo17mBBEKc from=testuser@localhost all done -2025-04-16 06:49:11.447567 127.0.0.1:41644 auth succeeded for testuser@localhost -_ conn.go:722 SMTP.Conn 127.0.0.1:41644: Queued from testuser@localhost to [to@localhost] - 6Iz-6NjUhBE -2025-04-16 06:49:11.453307 6Iz-6NjUhBE from=testuser@localhost queued ip=127.0.0.1:41644 to=[to@localhost] -_ queue.go:308 Queue.SendLoop 6Iz-6NjUhBE: from testuser@localhost -_ queue.go:367 Queue.SendLoop 6Iz-6NjUhBE: testuser@localhost sent -2025-04-16 06:49:11.453967 6Iz-6NjUhBE from=testuser@localhost to=testuser@localhost sent ---- PASS: TestAuthOnSMTP (0.58s) +_ queue.go:342 Queue.SendLoop 9849WNVbngA: all done +2025-04-16 06:56:17.950497 9849WNVbngA from=testuser@localhost all done +2025-04-16 06:56:18.121688 127.0.0.1:45686 auth succeeded for testuser@localhost +_ conn.go:722 SMTP.Conn 127.0.0.1:45686: Queued from testuser@localhost to [to@localhost] - L4lO6ztuc4k +2025-04-16 06:56:18.124616 L4lO6ztuc4k from=testuser@localhost queued ip=127.0.0.1:45686 to=[to@localhost] +_ queue.go:308 Queue.SendLoop L4lO6ztuc4k: from testuser@localhost +_ queue.go:367 Queue.SendLoop L4lO6ztuc4k: testuser@localhost sent +2025-04-16 06:56:18.124918 L4lO6ztuc4k from=testuser@localhost to=testuser@localhost sent +--- PASS: TestAuthOnSMTP (0.18s) === RUN TestBrokenAuth -_ queue.go:342 Queue.SendLoop 6Iz-6NjUhBE: all done -2025-04-16 06:49:11.460897 6Iz-6NjUhBE from=testuser@localhost all done -_ conn.go:1193 SMTP.Conn 127.0.0.1:40654: error: error authenticating \"user\"@\"broken\": failed to auth -2025-04-16 06:49:11.616717 127.0.0.1:40654 auth failed for user@broken -_ conn.go:318 SMTP.Conn 127.0.0.1:40654: error: AUTH failed: 454 4.7.0 Temporary authentication failure -_ conn.go:318 SMTP.Conn 127.0.0.1:40654: error: unknown<\"*\"> failed: 500 5.5.1 Unknown command ---- PASS: TestBrokenAuth (0.16s) +_ queue.go:342 Queue.SendLoop L4lO6ztuc4k: all done +2025-04-16 06:56:18.125799 L4lO6ztuc4k from=testuser@localhost all done +_ conn.go:1193 SMTP.Conn 127.0.0.1:50202: error: error authenticating \"user\"@\"broken\": failed to auth +2025-04-16 06:56:18.260080 127.0.0.1:50202 auth failed for user@broken +_ conn.go:318 SMTP.Conn 127.0.0.1:50202: error: AUTH failed: 454 4.7.0 Temporary authentication failure +_ conn.go:318 SMTP.Conn 127.0.0.1:50202: error: unknown<\"*\"> failed: 500 5.5.1 Unknown command +--- PASS: TestBrokenAuth (0.14s) === RUN TestWrongMailParsing -_ conn.go:318 SMTP.Conn 127.0.0.1:41654: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:41654: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:41654: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:41654: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:41658: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:41658: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:41658: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:41658: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:41660: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:41660: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:41660: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:41660: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:41668: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:41668: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:41668: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:41668: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:41680: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:41680: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:41680: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:41680: error: too many errors, breaking connection -_ conn.go:318 SMTP.Conn 127.0.0.1:41682: error: MAIL failed: 501 5.1.7 Sender address malformed -_ conn.go:318 SMTP.Conn 127.0.0.1:41682: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:318 SMTP.Conn 127.0.0.1:41682: error: RCPT failed: 501 5.1.3 Malformed destination address -_ conn.go:325 SMTP.Conn 127.0.0.1:41682: error: too many errors, breaking connection ---- PASS: TestWrongMailParsing (0.03s) +_ conn.go:318 SMTP.Conn 127.0.0.1:45698: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:45698: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:45698: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:45698: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:45712: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:45712: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:45712: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:45712: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:45724: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:45724: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:45724: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:45724: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:45726: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:45726: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:45726: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:45726: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:45732: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:45732: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:45732: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:45732: error: too many errors, breaking connection +_ conn.go:318 SMTP.Conn 127.0.0.1:45734: error: MAIL failed: 501 5.1.7 Sender address malformed +_ conn.go:318 SMTP.Conn 127.0.0.1:45734: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:318 SMTP.Conn 127.0.0.1:45734: error: RCPT failed: 501 5.1.3 Malformed destination address +_ conn.go:325 SMTP.Conn 127.0.0.1:45734: error: too many errors, breaking connection +--- PASS: TestWrongMailParsing (0.01s) === RUN TestNullMailFrom --- PASS: TestNullMailFrom (0.00s) === RUN TestRcptBeforeMail -_ conn.go:318 SMTP.Conn 127.0.0.1:41698: error: RCPT failed: 503 5.5.1 Sender not yet given +_ conn.go:318 SMTP.Conn 127.0.0.1:45746: error: RCPT failed: 503 5.5.1 Sender not yet given --- PASS: TestRcptBeforeMail (0.00s) === RUN TestRcptOption ---- PASS: TestRcptOption (0.05s) +--- PASS: TestRcptOption (0.02s) === RUN TestRelayForbidden -2025-04-16 06:49:11.714959 127.0.0.1:41716 rejected from=from@somewhere to=[to@somewhere] - relay not allowed -_ conn.go:318 SMTP.Conn 127.0.0.1:41716: error: RCPT failed: 503 5.7.1 Relay not allowed +2025-04-16 06:56:18.297642 127.0.0.1:45766 rejected from=from@somewhere to=[to@somewhere] - relay not allowed +_ conn.go:318 SMTP.Conn 127.0.0.1:45766: error: RCPT failed: 503 5.7.1 Relay not allowed --- PASS: TestRelayForbidden (0.00s) === RUN TestTooManyRecipients -2025-04-16 06:49:12.285165 127.0.0.1:40660 auth succeeded for testuser@localhost -_ conn.go:318 SMTP.Conn 127.0.0.1:40660: error: RCPT failed: 452 4.5.3 Too many recipients ---- PASS: TestTooManyRecipients (0.62s) +2025-04-16 06:56:18.471071 127.0.0.1:50214 auth succeeded for testuser@localhost +_ conn.go:318 SMTP.Conn 127.0.0.1:50214: error: RCPT failed: 452 4.5.3 Too many recipients +--- PASS: TestTooManyRecipients (0.20s) === RUN TestRcptBrokenExists -_ conn.go:622 SMTP.Conn 127.0.0.1:41732: error: error checking if user \"to@broken\" exists: failed to check if user exists -2025-04-16 06:49:12.392370 127.0.0.1:41732 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:41732: error: RCPT failed: 451 4.4.3 Temporary error checking address ---- PASS: TestRcptBrokenExists (0.06s) +_ conn.go:622 SMTP.Conn 127.0.0.1:45782: error: error checking if user \"to@broken\" exists: failed to check if user exists +2025-04-16 06:56:18.513661 127.0.0.1:45782 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:45782: error: RCPT failed: 451 4.4.3 Temporary error checking address +--- PASS: TestRcptBrokenExists (0.02s) === RUN TestRcptUserDoesNotExist -2025-04-16 06:49:12.457269 127.0.0.1:41740 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist -_ conn.go:318 SMTP.Conn 127.0.0.1:41740: error: RCPT failed: 550 5.1.1 Destination address is unknown (user does not exist) ---- PASS: TestRcptUserDoesNotExist (0.06s) +2025-04-16 06:56:18.530439 127.0.0.1:45794 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist +_ conn.go:318 SMTP.Conn 127.0.0.1:45794: 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:41746: Queued from from@from to [to@localhost] - Xxhqm9QYT3w -2025-04-16 06:49:13.793564 Xxhqm9QYT3w from=from@from queued ip=127.0.0.1:41746 to=[to@localhost] -_ queue.go:308 Queue.SendLoop Xxhqm9QYT3w: from from@from -_ queue.go:367 Queue.SendLoop Xxhqm9QYT3w: testuser@localhost sent -2025-04-16 06:49:13.793854 Xxhqm9QYT3w from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop Xxhqm9QYT3w: all done -2025-04-16 06:49:14.032556 Xxhqm9QYT3w from=from@from all done -_ conn.go:722 SMTP.Conn 127.0.0.1:41746: Queued from from@from to [to@localhost] - XA_Gpxe4uBM -2025-04-16 06:49:15.348647 XA_Gpxe4uBM from=from@from queued ip=127.0.0.1:41746 to=[to@localhost] -_ queue.go:308 Queue.SendLoop XA_Gpxe4uBM: from from@from -_ queue.go:367 Queue.SendLoop XA_Gpxe4uBM: testuser@localhost sent -2025-04-16 06:49:15.349464 XA_Gpxe4uBM from=from@from to=testuser@localhost sent -_ queue.go:342 Queue.SendLoop XA_Gpxe4uBM: all done -2025-04-16 06:49:15.622367 XA_Gpxe4uBM from=from@from all done -_ conn.go:318 SMTP.Conn 127.0.0.1:41746: error: DATA failed: 552 5.3.4 Message too big -_ conn.go:722 SMTP.Conn 127.0.0.1:41746: Queued from from@from to [to@localhost] - o5AAO7cM1kc -2025-04-16 06:49:18.146757 o5AAO7cM1kc from=from@from queued ip=127.0.0.1:41746 to=[to@localhost] -_ queue.go:308 Queue.SendLoop o5AAO7cM1kc: from from@from -_ queue.go:367 Queue.SendLoop o5AAO7cM1kc: testuser@localhost sent -2025-04-16 06:49:18.147989 o5AAO7cM1kc from=from@from to=testuser@localhost sent ---- PASS: TestTooMuchData (5.69s) +_ conn.go:722 SMTP.Conn 127.0.0.1:45798: Queued from from@from to [to@localhost] - hjxb4pBznfU +2025-04-16 06:56:18.958939 hjxb4pBznfU from=from@from queued ip=127.0.0.1:45798 to=[to@localhost] +_ queue.go:308 Queue.SendLoop hjxb4pBznfU: from from@from +_ queue.go:367 Queue.SendLoop hjxb4pBznfU: testuser@localhost sent +2025-04-16 06:56:18.959232 hjxb4pBznfU from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop hjxb4pBznfU: all done +2025-04-16 06:56:18.998128 hjxb4pBznfU from=from@from all done +_ conn.go:722 SMTP.Conn 127.0.0.1:45798: Queued from from@from to [to@localhost] - 71eDKzJKWsA +2025-04-16 06:56:19.434128 71eDKzJKWsA from=from@from queued ip=127.0.0.1:45798 to=[to@localhost] +_ queue.go:308 Queue.SendLoop 71eDKzJKWsA: from from@from +_ queue.go:367 Queue.SendLoop 71eDKzJKWsA: testuser@localhost sent +2025-04-16 06:56:19.434336 71eDKzJKWsA from=from@from to=testuser@localhost sent +_ queue.go:342 Queue.SendLoop 71eDKzJKWsA: all done +2025-04-16 06:56:19.476701 71eDKzJKWsA from=from@from all done +_ conn.go:318 SMTP.Conn 127.0.0.1:45798: error: DATA failed: 552 5.3.4 Message too big +_ conn.go:722 SMTP.Conn 127.0.0.1:45798: Queued from from@from to [to@localhost] - 4EXlSvzl3aA +2025-04-16 06:56:20.300296 4EXlSvzl3aA from=from@from queued ip=127.0.0.1:45798 to=[to@localhost] +_ queue.go:308 Queue.SendLoop 4EXlSvzl3aA: from from@from +_ queue.go:367 Queue.SendLoop 4EXlSvzl3aA: testuser@localhost sent +2025-04-16 06:56:20.300528 4EXlSvzl3aA from=from@from to=testuser@localhost sent +--- PASS: TestTooMuchData (1.77s) === RUN TestSimpleCommands -_ conn.go:318 SMTP.Conn 127.0.0.1:41748: 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:41748: error: EXPN failed: 502 5.5.1 You feel disoriented for a moment. ---- PASS: TestSimpleCommands (0.01s) +_ conn.go:318 SMTP.Conn 127.0.0.1:45810: 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:45810: 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:41760: error: unknown<\"\"> failed: 500 5.5.1 Unknown command -_ conn.go:348 SMTP.Conn 127.0.0.1:41760: error: exiting with error: line too long ---- PASS: TestLongLines (0.01s) +_ conn.go:318 SMTP.Conn 127.0.0.1:45826: error: unknown<\"\"> failed: 500 5.5.1 Unknown command +_ conn.go:348 SMTP.Conn 127.0.0.1:45826: error: exiting with error: line too long +--- PASS: TestLongLines (0.00s) === RUN TestReset ---- PASS: TestReset (0.01s) +--- PASS: TestReset (0.00s) === RUN TestRepeatedStartTLS -_ conn.go:318 SMTP.Conn 127.0.0.1:41778: error: STARTTLS failed: 503 5.5.1 You are already wearing that! ---- PASS: TestRepeatedStartTLS (0.07s) +_ conn.go:318 SMTP.Conn 127.0.0.1:45846: error: STARTTLS failed: 503 5.5.1 You are already wearing that! +--- PASS: TestRepeatedStartTLS (0.02s) === RUN TestStartTLSOnTLS -_ conn.go:318 SMTP.Conn 127.0.0.1:48654: error: STARTTLS failed: 503 5.5.1 You are already wearing that! ---- PASS: TestStartTLSOnTLS (0.05s) +_ conn.go:318 SMTP.Conn 127.0.0.1:48684: 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_3779292826" -_ queue.go:342 Queue.SendLoop o5AAO7cM1kc: all done -2025-04-16 06:49:18.336075 o5AAO7cM1kc from=from@from all done ---- PASS: TestAddDKIMSigner (0.12s) +_ queue.go:342 Queue.SendLoop 4EXlSvzl3aA: all done +2025-04-16 06:56:20.345162 4EXlSvzl3aA from=from@from all done + testlib.go:32: test directory: "/tmp/testlib_3010999741" +--- PASS: TestAddDKIMSigner (0.03s) === RUN FuzzConnection --- PASS: FuzzConnection (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/smtpsrv 12.065s +ok blitiri.com.ar/go/chasquid/internal/smtpsrv 3.371s === RUN TestParsePolicy sts_test.go:90: pol1: &{Version:STSv1 Mode:enforce MXs:[*.mail.example.com] MaxAge:34h17m36s} --- PASS: TestParsePolicy (0.00s) === RUN TestCheckPolicy --- PASS: TestCheckPolicy (0.00s) === RUN TestMatchDomain ---- PASS: TestMatchDomain (0.01s) +--- PASS: TestMatchDomain (0.00s) === RUN TestMXIsAllowed --- PASS: TestMXIsAllowed (0.00s) === RUN TestFetch @@ -2353,34 +2389,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.01s) +--- PASS: TestFetch (0.00s) === RUN TestPolicyTooBig sts_test.go:242: got error as expected: MTA-STS TXT record missing ---- PASS: TestPolicyTooBig (0.17s) +--- PASS: TestPolicyTooBig (0.04s) === RUN TestCacheBasics - testlib.go:32: test directory: "/tmp/testlib_3290454677" + testlib.go:32: test directory: "/tmp/testlib_2705744251" 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) === RUN TestCacheBadData - testlib.go:32: test directory: "/tmp/testlib_3917143249" + testlib.go:32: test directory: "/tmp/testlib_2460952080" 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.02s) +--- PASS: TestCacheBadData (0.01s) === RUN TestCacheRefresh - testlib.go:32: test directory: "/tmp/testlib_3930734090" + testlib.go:32: test directory: "/tmp/testlib_1658067916" sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s} sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s} sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 3m20s} --- PASS: TestCacheRefresh (0.01s) === RUN TestCacheSlashSafe - testlib.go:32: test directory: "/tmp/testlib_932244930" + testlib.go:32: test directory: "/tmp/testlib_1332722044" sts_test.go:464: recovered: domain contains slash --- PASS: TestCacheSlashSafe (0.00s) === RUN TestURLForDomain @@ -2390,10 +2426,10 @@ === RUN TestHTTPGet --- PASS: TestHTTPGet (0.01s) PASS -ok blitiri.com.ar/go/chasquid/internal/sts 0.338s +ok blitiri.com.ar/go/chasquid/internal/sts 0.094s === RUN TestBasic - testlib.go:32: test directory: "/tmp/testlib_1660048004" ---- PASS: TestBasic (0.01s) + testlib.go:32: test directory: "/tmp/testlib_119866837" +--- PASS: TestBasic (0.00s) === RUN TestRemoveCheck testlib_test.go:33: recovered: invalid/dangerous directory --- PASS: TestRemoveCheck (0.00s) @@ -2403,55 +2439,55 @@ testlib_test.go:60: recovered: invalid/dangerous path --- PASS: TestRewriteSafeguard (0.00s) === RUN TestRewrite - testlib.go:32: test directory: "/tmp/testlib_1650609266" + testlib.go:32: test directory: "/tmp/testlib_4039737197" --- PASS: TestRewrite (0.00s) === RUN TestGetFreePort --- PASS: TestGetFreePort (0.00s) === RUN TestWaitFor --- PASS: TestWaitFor (0.02s) === RUN TestGenerateCert - testlib.go:32: test directory: "/tmp/testlib_261277461" ---- PASS: TestGenerateCert (3.60s) + testlib.go:32: test directory: "/tmp/testlib_2222526130" +--- PASS: TestGenerateCert (0.13s) === RUN TestGenerateCertBadDir ---- PASS: TestGenerateCertBadDir (1.70s) +--- PASS: TestGenerateCertBadDir (0.35s) PASS -ok blitiri.com.ar/go/chasquid/internal/testlib 5.392s +ok blitiri.com.ar/go/chasquid/internal/testlib 0.512s === RUN TestVersionName --- PASS: TestVersionName (0.00s) === RUN TestCipherSuiteName --- PASS: TestCipherSuiteName (0.00s) PASS -ok blitiri.com.ar/go/chasquid/internal/tlsconst 0.017s +ok blitiri.com.ar/go/chasquid/internal/tlsconst 0.007s ? blitiri.com.ar/go/chasquid/internal/trace [no test files] === RUN TestEmptyLoad - userdb_test.go:37: file: "/tmp/userdb_test1487440503" - userdb_test.go:37: file: "/tmp/userdb_test3426873184" + userdb_test.go:37: file: "/tmp/userdb_test4131698610" + userdb_test.go:37: file: "/tmp/userdb_test2230467937" --- PASS: TestEmptyLoad (0.00s) === RUN TestWrite - userdb_test.go:37: file: "/tmp/userdb_test3785599324" ---- PASS: TestWrite (3.67s) + userdb_test.go:37: file: "/tmp/userdb_test1849220404" +--- PASS: TestWrite (1.09s) === RUN TestNew ---- PASS: TestNew (0.51s) +--- PASS: TestNew (0.16s) === RUN TestInvalidUsername - userdb_test.go:37: file: "/tmp/userdb_test3198002054" + userdb_test.go:37: file: "/tmp/userdb_test2276833455" --- PASS: TestInvalidUsername (0.00s) === RUN TestPlainScheme - userdb_test.go:37: file: "/tmp/userdb_test944114828" + userdb_test.go:37: file: "/tmp/userdb_test2125055581" --- PASS: TestPlainScheme (0.00s) === RUN TestDeniedScheme - userdb_test.go:37: file: "/tmp/userdb_test4180421999" + userdb_test.go:37: file: "/tmp/userdb_test1757535860" --- PASS: TestDeniedScheme (0.00s) === RUN TestReload - userdb_test.go:37: file: "/tmp/userdb_test1690657208" + userdb_test.go:37: file: "/tmp/userdb_test1260004013" --- PASS: TestReload (0.00s) === RUN TestRemoveUser - userdb_test.go:37: file: "/tmp/userdb_test1809056875" ---- PASS: TestRemoveUser (0.53s) + userdb_test.go:37: file: "/tmp/userdb_test1683801859" +--- PASS: TestRemoveUser (0.16s) === RUN TestExists - userdb_test.go:37: file: "/tmp/userdb_test2322125952" ---- PASS: TestExists (0.52s) + userdb_test.go:37: file: "/tmp/userdb_test807241198" +--- PASS: TestExists (0.16s) PASS -ok blitiri.com.ar/go/chasquid/internal/userdb 5.309s +ok blitiri.com.ar/go/chasquid/internal/userdb 1.585s create-stamp debian/debhelper-build-stamp dh_testroot -O--buildsystem=golang dh_prep -O--buildsystem=golang @@ -2514,12 +2550,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/28705/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/28705/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/2876 and its subdirectories -I: Current time: Tue Apr 15 18:51:54 -12 2025 -I: pbuilder-time-stamp: 1744786314 +I: removing directory /srv/workspace/pbuilder/28705 and its subdirectories +I: Current time: Wed Apr 16 20:57:14 +14 2025 +I: pbuilder-time-stamp: 1744786634