I: pbuilder: network access will be disabled during build
I: Current time: Wed Apr  8 14:57:35 +14 2026
I: pbuilder-time-stamp: 1775609855
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz]
I: copying local configuration
W: --override-config is not set; not updating apt.conf Read the manpage for details.
I: mounting /proc filesystem
I: mounting /sys filesystem
I: creating /{dev,run}/shm
I: mounting /dev/pts filesystem
I: redirecting /dev/ptmx to /dev/pts/ptmx
I: policy-rc.d already exists
I: Copying source file
I: copying [chasquid_1.15.0-1.dsc]
I: copying [./chasquid_1.15.0.orig.tar.gz]
I: copying [./chasquid_1.15.0-1.debian.tar.xz]
I: Extracting source
dpkg-source: warning: cannot verify inline signature for ./chasquid_1.15.0-1.dsc: unsupported subcommand
dpkg-source: info: extracting chasquid in chasquid-1.15.0
dpkg-source: info: unpacking chasquid_1.15.0.orig.tar.gz
dpkg-source: info: unpacking chasquid_1.15.0-1.debian.tar.xz
dpkg-source: info: using patch list from debian/patches/series
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/3396088/tmp/hooks/D01_modify_environment starting
debug: Running on codethink03-arm64.
I: Changing host+domainname to test build reproducibility
I: Adding a custom variable just for the fun of it...
I: Changing /bin/sh to bash
'/bin/sh' -> '/bin/bash'
lrwxrwxrwx 1 root root 9 Apr  8 00:57 /bin/sh -> /bin/bash
I: Setting pbuilder2's login shell to /bin/bash
I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/D01_modify_environment finished
I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/D02_print_environment starting
I: set
  BASH=/bin/sh
  BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath
  BASH_ALIASES=()
  BASH_ARGC=()
  BASH_ARGV=()
  BASH_CMDS=()
  BASH_LINENO=([0]="12" [1]="0")
  BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:.
  BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment")
  BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu")
  BASH_VERSION='5.2.37(1)-release'
  BUILDDIR=/build/reproducible-path
  BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other'
  BUILDUSERNAME=pbuilder2
  BUILD_ARCH=arm64
  DEBIAN_FRONTEND=noninteractive
  DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 '
  DIRSTACK=()
  DISTRIBUTION=trixie
  EUID=0
  FUNCNAME=([0]="Echo" [1]="main")
  GROUPS=()
  HOME=/root
  HOSTNAME=i-capture-the-hostname
  HOSTTYPE=aarch64
  HOST_ARCH=arm64
  IFS=' 	
  '
  INVOCATION_ID=6a1aca7573fd410ba7c5b1f80428dcba
  LANG=C
  LANGUAGE=nl_BE:nl
  LC_ALL=C
  MACHTYPE=aarch64-unknown-linux-gnu
  MAIL=/var/mail/root
  OPTERR=1
  OPTIND=1
  OSTYPE=linux-gnu
  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
  PBCURRENTCOMMANDLINEOPERATION=build
  PBUILDER_OPERATION=build
  PBUILDER_PKGDATADIR=/usr/share/pbuilder
  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
  PBUILDER_SYSCONFDIR=/etc
  PIPESTATUS=([0]="0")
  POSIXLY_CORRECT=y
  PPID=3396088
  PS4='+ '
  PWD=/
  SHELL=/bin/bash
  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
  SHLVL=3
  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.acgOBTHY/pbuilderrc_zoKx --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.acgOBTHY/b2 --logfile b2/build.log chasquid_1.15.0-1.dsc'
  SUDO_GID=109
  SUDO_UID=104
  SUDO_USER=jenkins
  TERM=unknown
  TZ=/usr/share/zoneinfo/Etc/GMT-14
  UID=0
  USER=root
  _='I: set'
  http_proxy=http://192.168.101.4:3128
I: uname -a
  Linux i-capture-the-hostname 6.1.0-31-cloud-arm64 #1 SMP Debian 6.1.128-1 (2025-02-07) aarch64 GNU/Linux
I: ls -l /bin
  lrwxrwxrwx 1 root root 7 Nov 22  2024 /bin -> usr/bin
I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/D02_print_environment finished
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: arm64
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper (>= 13.11.6~), debhelper-compat (= 13), dh-golang (>= 1.18~), golang-any, golang-blitiri-go-log-dev (>= 1.1.0), golang-blitiri-go-spf-dev (>= 1.3.0), golang-blitiri-go-systemd-dev (>= 1.1.0), golang-github-google-go-cmp-dev, golang-golang-x-crypto-dev, golang-golang-x-net-dev, golang-golang-x-text-dev, golang-google-protobuf-dev
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 19914 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
 pbuilder-satisfydepends-dummy depends on debhelper (>= 13.11.6~); however:
  Package debhelper is not installed.
 pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however:
  Package debhelper-compat is not installed.
 pbuilder-satisfydepends-dummy depends on dh-golang (>= 1.18~); however:
  Package dh-golang is not installed.
 pbuilder-satisfydepends-dummy depends on golang-any; however:
  Package golang-any is not installed.
 pbuilder-satisfydepends-dummy depends on golang-blitiri-go-log-dev (>= 1.1.0); however:
  Package golang-blitiri-go-log-dev is not installed.
 pbuilder-satisfydepends-dummy depends on golang-blitiri-go-spf-dev (>= 1.3.0); however:
  Package golang-blitiri-go-spf-dev is not installed.
 pbuilder-satisfydepends-dummy depends on golang-blitiri-go-systemd-dev (>= 1.1.0); however:
  Package golang-blitiri-go-systemd-dev is not installed.
 pbuilder-satisfydepends-dummy depends on golang-github-google-go-cmp-dev; however:
  Package golang-github-google-go-cmp-dev is not installed.
 pbuilder-satisfydepends-dummy depends on golang-golang-x-crypto-dev; however:
  Package golang-golang-x-crypto-dev is not installed.
 pbuilder-satisfydepends-dummy depends on golang-golang-x-net-dev; however:
  Package golang-golang-x-net-dev is not installed.
 pbuilder-satisfydepends-dummy depends on golang-golang-x-text-dev; however:
  Package golang-golang-x-text-dev is not installed.
 pbuilder-satisfydepends-dummy depends on golang-google-protobuf-dev; however:
  Package golang-google-protobuf-dev is not installed.

Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
Reading package lists...
Building dependency tree...
Reading state information...
Initializing package states...
Writing extended state information...
Building tag database...
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
The following NEW packages will be installed:
  autoconf{a} automake{a} autopoint{a} autotools-dev{a} binutils-gold{a} binutils-gold-aarch64-linux-gnu{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-golang{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} golang-1.24-go{a} golang-1.24-src{a} golang-any{a} golang-blitiri-go-log-dev{a} golang-blitiri-go-spf-dev{a} golang-blitiri-go-systemd-dev{a} golang-github-google-go-cmp-dev{a} golang-go{a} golang-golang-x-crypto-dev{a} golang-golang-x-net-dev{a} golang-golang-x-sys-dev{a} golang-golang-x-term-dev{a} golang-golang-x-text-dev{a} golang-google-protobuf-dev{a} golang-src{a} groff-base{a} intltool-debian{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libfile-stripnondeterminism-perl{a} libicu72{a} libmagic-mgc{a} libmagic1t64{a} libpipeline1{a} libtool{a} libuchardet0{a} libunistring5{a} libxml2{a} m4{a} man-db{a} po-debconf{a} sensible-utils{a} 
The following packages are RECOMMENDED but will NOT be installed:
  curl libarchive-cpio-perl libltdl-dev libmail-sendmail-perl lynx pkgconf wget 
0 packages upgraded, 48 newly installed, 0 to remove and 0 not upgraded.
Need to get 75.0 MB of archives. After unpacking 416 MB will be used.
Writing extended state information...
Get: 1 http://deb.debian.org/debian trixie/main arm64 sensible-utils all 0.0.24 [24.8 kB]
Get: 2 http://deb.debian.org/debian trixie/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB]
Get: 3 http://deb.debian.org/debian trixie/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB]
Get: 4 http://deb.debian.org/debian trixie/main arm64 file arm64 1:5.45-3+b1 [43.4 kB]
Get: 5 http://deb.debian.org/debian trixie/main arm64 gettext-base arm64 0.23.1-1 [241 kB]
Get: 6 http://deb.debian.org/debian trixie/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB]
Get: 7 http://deb.debian.org/debian trixie/main arm64 groff-base arm64 1.23.0-7 [1129 kB]
Get: 8 http://deb.debian.org/debian trixie/main arm64 bsdextrautils arm64 2.40.4-5 [92.0 kB]
Get: 9 http://deb.debian.org/debian trixie/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB]
Get: 10 http://deb.debian.org/debian trixie/main arm64 man-db arm64 2.13.0-1 [1404 kB]
Get: 11 http://deb.debian.org/debian trixie/main arm64 m4 arm64 1.4.19-5 [284 kB]
Get: 12 http://deb.debian.org/debian trixie/main arm64 autoconf all 2.72-3 [493 kB]
Get: 13 http://deb.debian.org/debian trixie/main arm64 autotools-dev all 20220109.1 [51.6 kB]
Get: 14 http://deb.debian.org/debian trixie/main arm64 automake all 1:1.17-3 [862 kB]
Get: 15 http://deb.debian.org/debian trixie/main arm64 autopoint all 0.23.1-1 [770 kB]
Get: 16 http://deb.debian.org/debian trixie/main arm64 binutils-gold-aarch64-linux-gnu arm64 2.44-1 [1704 kB]
Get: 17 http://deb.debian.org/debian trixie/main arm64 binutils-gold arm64 2.44-1 [202 kB]
Get: 18 http://deb.debian.org/debian trixie/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB]
Get: 19 http://deb.debian.org/debian trixie/main arm64 libtool all 2.5.4-3 [539 kB]
Get: 20 http://deb.debian.org/debian trixie/main arm64 dh-autoreconf all 20 [17.1 kB]
Get: 21 http://deb.debian.org/debian trixie/main arm64 libarchive-zip-perl all 1.68-1 [104 kB]
Get: 22 http://deb.debian.org/debian trixie/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB]
Get: 23 http://deb.debian.org/debian trixie/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B]
Get: 24 http://deb.debian.org/debian trixie/main arm64 libelf1t64 arm64 0.192-4 [189 kB]
Get: 25 http://deb.debian.org/debian trixie/main arm64 dwz arm64 0.15-1+b1 [102 kB]
Get: 26 http://deb.debian.org/debian trixie/main arm64 libunistring5 arm64 1.3-1 [449 kB]
Get: 27 http://deb.debian.org/debian trixie/main arm64 libicu72 arm64 72.1-6 [9239 kB]
Get: 28 http://deb.debian.org/debian trixie/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b2 [630 kB]
Get: 29 http://deb.debian.org/debian trixie/main arm64 gettext arm64 0.23.1-1 [1610 kB]
Get: 30 http://deb.debian.org/debian trixie/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 31 http://deb.debian.org/debian trixie/main arm64 po-debconf all 1.0.21+nmu1 [248 kB]
Get: 32 http://deb.debian.org/debian trixie/main arm64 debhelper all 13.24.1 [920 kB]
Get: 33 http://deb.debian.org/debian trixie/main arm64 dh-golang all 1.63 [24.4 kB]
Get: 34 http://deb.debian.org/debian trixie/main arm64 golang-1.24-src all 1.24.0-2 [20.3 MB]
Get: 35 http://deb.debian.org/debian trixie/main arm64 golang-1.24-go arm64 1.24.0-2 [24.6 MB]
Get: 36 http://deb.debian.org/debian trixie/main arm64 golang-src all 2:1.24~2 [5136 B]
Get: 37 http://deb.debian.org/debian trixie/main arm64 golang-go arm64 2:1.24~2 [44.3 kB]
Get: 38 http://deb.debian.org/debian trixie/main arm64 golang-any arm64 2:1.24~2 [5216 B]
Get: 39 http://deb.debian.org/debian trixie/main arm64 golang-github-google-go-cmp-dev all 0.6.0-1 [86.6 kB]
Get: 40 http://deb.debian.org/debian trixie/main arm64 golang-golang-x-sys-dev all 0.22.0-1 [431 kB]
Get: 41 http://deb.debian.org/debian trixie/main arm64 golang-golang-x-term-dev all 0.22.0-1 [14.8 kB]
Get: 42 http://deb.debian.org/debian trixie/main arm64 golang-golang-x-text-dev all 0.22.0-1 [3995 kB]
Get: 43 http://deb.debian.org/debian trixie/main arm64 golang-golang-x-crypto-dev all 1:0.25.0-1 [1682 kB]
Get: 44 http://deb.debian.org/debian trixie/main arm64 golang-golang-x-net-dev all 1:0.27.0-1 [898 kB]
Get: 45 http://deb.debian.org/debian trixie/main arm64 golang-google-protobuf-dev all 1.36.5-1 [796 kB]
Get: 46 http://deb.debian.org/debian trixie/main arm64 golang-blitiri-go-log-dev all 1.1.0-1 [6724 B]
Get: 47 http://deb.debian.org/debian trixie/main arm64 golang-blitiri-go-spf-dev all 1.5.1-1 [37.2 kB]
Get: 48 http://deb.debian.org/debian trixie/main arm64 golang-blitiri-go-systemd-dev all 1.1.0-1 [6952 B]
Fetched 75.0 MB in 0s (251 MB/s)
Preconfiguring packages ...
Selecting previously unselected package sensible-utils.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19914 files and directories currently installed.)
Preparing to unpack .../00-sensible-utils_0.0.24_all.deb ...
Unpacking sensible-utils (0.0.24) ...
Selecting previously unselected package libmagic-mgc.
Preparing to unpack .../01-libmagic-mgc_1%3a5.45-3+b1_arm64.deb ...
Unpacking libmagic-mgc (1:5.45-3+b1) ...
Selecting previously unselected package libmagic1t64:arm64.
Preparing to unpack .../02-libmagic1t64_1%3a5.45-3+b1_arm64.deb ...
Unpacking libmagic1t64:arm64 (1:5.45-3+b1) ...
Selecting previously unselected package file.
Preparing to unpack .../03-file_1%3a5.45-3+b1_arm64.deb ...
Unpacking file (1:5.45-3+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../04-gettext-base_0.23.1-1_arm64.deb ...
Unpacking gettext-base (0.23.1-1) ...
Selecting previously unselected package libuchardet0:arm64.
Preparing to unpack .../05-libuchardet0_0.0.8-1+b2_arm64.deb ...
Unpacking libuchardet0:arm64 (0.0.8-1+b2) ...
Selecting previously unselected package groff-base.
Preparing to unpack .../06-groff-base_1.23.0-7_arm64.deb ...
Unpacking groff-base (1.23.0-7) ...
Selecting previously unselected package bsdextrautils.
Preparing to unpack .../07-bsdextrautils_2.40.4-5_arm64.deb ...
Unpacking bsdextrautils (2.40.4-5) ...
Selecting previously unselected package libpipeline1:arm64.
Preparing to unpack .../08-libpipeline1_1.5.8-1_arm64.deb ...
Unpacking libpipeline1:arm64 (1.5.8-1) ...
Selecting previously unselected package man-db.
Preparing to unpack .../09-man-db_2.13.0-1_arm64.deb ...
Unpacking man-db (2.13.0-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../10-m4_1.4.19-5_arm64.deb ...
Unpacking m4 (1.4.19-5) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../11-autoconf_2.72-3_all.deb ...
Unpacking autoconf (2.72-3) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../12-autotools-dev_20220109.1_all.deb ...
Unpacking autotools-dev (20220109.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../13-automake_1%3a1.17-3_all.deb ...
Unpacking automake (1:1.17-3) ...
Selecting previously unselected package autopoint.
Preparing to unpack .../14-autopoint_0.23.1-1_all.deb ...
Unpacking autopoint (0.23.1-1) ...
Selecting previously unselected package binutils-gold-aarch64-linux-gnu.
Preparing to unpack .../15-binutils-gold-aarch64-linux-gnu_2.44-1_arm64.deb ...
Unpacking binutils-gold-aarch64-linux-gnu (2.44-1) ...
Selecting previously unselected package binutils-gold.
Preparing to unpack .../16-binutils-gold_2.44-1_arm64.deb ...
Unpacking binutils-gold (2.44-1) ...
Selecting previously unselected package libdebhelper-perl.
Preparing to unpack .../17-libdebhelper-perl_13.24.1_all.deb ...
Unpacking libdebhelper-perl (13.24.1) ...
Selecting previously unselected package libtool.
Preparing to unpack .../18-libtool_2.5.4-3_all.deb ...
Unpacking libtool (2.5.4-3) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../19-dh-autoreconf_20_all.deb ...
Unpacking dh-autoreconf (20) ...
Selecting previously unselected package libarchive-zip-perl.
Preparing to unpack .../20-libarchive-zip-perl_1.68-1_all.deb ...
Unpacking libarchive-zip-perl (1.68-1) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../21-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../22-dh-strip-nondeterminism_1.14.1-2_all.deb ...
Unpacking dh-strip-nondeterminism (1.14.1-2) ...
Selecting previously unselected package libelf1t64:arm64.
Preparing to unpack .../23-libelf1t64_0.192-4_arm64.deb ...
Unpacking libelf1t64:arm64 (0.192-4) ...
Selecting previously unselected package dwz.
Preparing to unpack .../24-dwz_0.15-1+b1_arm64.deb ...
Unpacking dwz (0.15-1+b1) ...
Selecting previously unselected package libunistring5:arm64.
Preparing to unpack .../25-libunistring5_1.3-1_arm64.deb ...
Unpacking libunistring5:arm64 (1.3-1) ...
Selecting previously unselected package libicu72:arm64.
Preparing to unpack .../26-libicu72_72.1-6_arm64.deb ...
Unpacking libicu72:arm64 (72.1-6) ...
Selecting previously unselected package libxml2:arm64.
Preparing to unpack .../27-libxml2_2.12.7+dfsg+really2.9.14-0.2+b2_arm64.deb ...
Unpacking libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b2) ...
Selecting previously unselected package gettext.
Preparing to unpack .../28-gettext_0.23.1-1_arm64.deb ...
Unpacking gettext (0.23.1-1) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../29-intltool-debian_0.35.0+20060710.6_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.6) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../30-po-debconf_1.0.21+nmu1_all.deb ...
Unpacking po-debconf (1.0.21+nmu1) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../31-debhelper_13.24.1_all.deb ...
Unpacking debhelper (13.24.1) ...
Selecting previously unselected package dh-golang.
Preparing to unpack .../32-dh-golang_1.63_all.deb ...
Unpacking dh-golang (1.63) ...
Selecting previously unselected package golang-1.24-src.
Preparing to unpack .../33-golang-1.24-src_1.24.0-2_all.deb ...
Unpacking golang-1.24-src (1.24.0-2) ...
Selecting previously unselected package golang-1.24-go.
Preparing to unpack .../34-golang-1.24-go_1.24.0-2_arm64.deb ...
Unpacking golang-1.24-go (1.24.0-2) ...
Selecting previously unselected package golang-src.
Preparing to unpack .../35-golang-src_2%3a1.24~2_all.deb ...
Unpacking golang-src (2:1.24~2) ...
Selecting previously unselected package golang-go:arm64.
Preparing to unpack .../36-golang-go_2%3a1.24~2_arm64.deb ...
Unpacking golang-go:arm64 (2:1.24~2) ...
Selecting previously unselected package golang-any:arm64.
Preparing to unpack .../37-golang-any_2%3a1.24~2_arm64.deb ...
Unpacking golang-any:arm64 (2:1.24~2) ...
Selecting previously unselected package golang-github-google-go-cmp-dev.
Preparing to unpack .../38-golang-github-google-go-cmp-dev_0.6.0-1_all.deb ...
Unpacking golang-github-google-go-cmp-dev (0.6.0-1) ...
Selecting previously unselected package golang-golang-x-sys-dev.
Preparing to unpack .../39-golang-golang-x-sys-dev_0.22.0-1_all.deb ...
Unpacking golang-golang-x-sys-dev (0.22.0-1) ...
Selecting previously unselected package golang-golang-x-term-dev.
Preparing to unpack .../40-golang-golang-x-term-dev_0.22.0-1_all.deb ...
Unpacking golang-golang-x-term-dev (0.22.0-1) ...
Selecting previously unselected package golang-golang-x-text-dev.
Preparing to unpack .../41-golang-golang-x-text-dev_0.22.0-1_all.deb ...
Unpacking golang-golang-x-text-dev (0.22.0-1) ...
Selecting previously unselected package golang-golang-x-crypto-dev.
Preparing to unpack .../42-golang-golang-x-crypto-dev_1%3a0.25.0-1_all.deb ...
Unpacking golang-golang-x-crypto-dev (1:0.25.0-1) ...
Selecting previously unselected package golang-golang-x-net-dev.
Preparing to unpack .../43-golang-golang-x-net-dev_1%3a0.27.0-1_all.deb ...
Unpacking golang-golang-x-net-dev (1:0.27.0-1) ...
Selecting previously unselected package golang-google-protobuf-dev.
Preparing to unpack .../44-golang-google-protobuf-dev_1.36.5-1_all.deb ...
Unpacking golang-google-protobuf-dev (1.36.5-1) ...
Selecting previously unselected package golang-blitiri-go-log-dev.
Preparing to unpack .../45-golang-blitiri-go-log-dev_1.1.0-1_all.deb ...
Unpacking golang-blitiri-go-log-dev (1.1.0-1) ...
Selecting previously unselected package golang-blitiri-go-spf-dev.
Preparing to unpack .../46-golang-blitiri-go-spf-dev_1.5.1-1_all.deb ...
Unpacking golang-blitiri-go-spf-dev (1.5.1-1) ...
Selecting previously unselected package golang-blitiri-go-systemd-dev.
Preparing to unpack .../47-golang-blitiri-go-systemd-dev_1.1.0-1_all.deb ...
Unpacking golang-blitiri-go-systemd-dev (1.1.0-1) ...
Setting up golang-1.24-src (1.24.0-2) ...
Setting up libpipeline1:arm64 (1.5.8-1) ...
Setting up golang-github-google-go-cmp-dev (0.6.0-1) ...
Setting up libicu72:arm64 (72.1-6) ...
Setting up bsdextrautils (2.40.4-5) ...
Setting up libmagic-mgc (1:5.45-3+b1) ...
Setting up golang-blitiri-go-systemd-dev (1.1.0-1) ...
Setting up libarchive-zip-perl (1.68-1) ...
Setting up libdebhelper-perl (13.24.1) ...
Setting up golang-golang-x-sys-dev (0.22.0-1) ...
Setting up libmagic1t64:arm64 (1:5.45-3+b1) ...
Setting up gettext-base (0.23.1-1) ...
Setting up m4 (1.4.19-5) ...
Setting up binutils-gold-aarch64-linux-gnu (2.44-1) ...
Setting up golang-golang-x-term-dev (0.22.0-1) ...
Setting up file (1:5.45-3+b1) ...
Setting up libelf1t64:arm64 (0.192-4) ...
Setting up autotools-dev (20220109.1) ...
Setting up golang-google-protobuf-dev (1.36.5-1) ...
Setting up libunistring5:arm64 (1.3-1) ...
Setting up autopoint (0.23.1-1) ...
Setting up autoconf (2.72-3) ...
Setting up dwz (0.15-1+b1) ...
Setting up golang-blitiri-go-log-dev (1.1.0-1) ...
Setting up sensible-utils (0.0.24) ...
Setting up golang-golang-x-text-dev (0.22.0-1) ...
Setting up libuchardet0:arm64 (0.0.8-1+b2) ...
Setting up golang-blitiri-go-spf-dev (1.5.1-1) ...
Setting up golang-golang-x-crypto-dev (1:0.25.0-1) ...
Setting up golang-src (2:1.24~2) ...
Setting up libxml2:arm64 (2.12.7+dfsg+really2.9.14-0.2+b2) ...
Setting up automake (1:1.17-3) ...
update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode
Setting up libfile-stripnondeterminism-perl (1.14.1-2) ...
Setting up gettext (0.23.1-1) ...
Setting up libtool (2.5.4-3) ...
Setting up binutils-gold (2.44-1) ...
Setting up intltool-debian (0.35.0+20060710.6) ...
Setting up dh-autoreconf (20) ...
Setting up golang-1.24-go (1.24.0-2) ...
Setting up golang-golang-x-net-dev (1:0.27.0-1) ...
Setting up dh-strip-nondeterminism (1.14.1-2) ...
Setting up groff-base (1.23.0-7) ...
Setting up golang-go:arm64 (2:1.24~2) ...
Setting up po-debconf (1.0.21+nmu1) ...
Setting up man-db (2.13.0-1) ...
Not building database; man-db/auto-update is not 'true'.
Setting up golang-any:arm64 (2:1.24~2) ...
Setting up debhelper (13.24.1) ...
Setting up dh-golang (1.63) ...
Processing triggers for libc-bin (2.40-7) ...
Reading package lists...
Building dependency tree...
Reading state information...
Reading extended state information...
Initializing package states...
Writing extended state information...
Building tag database...
 -> Finished parsing the build-deps
I: Building the package
I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/A99_set_merged_usr starting
Not re-configuring usrmerge for trixie
I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/A99_set_merged_usr finished
hostname: Name or service not known
I: Running cd /build/reproducible-path/chasquid-1.15.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../chasquid_1.15.0-1_source.changes
dpkg-buildpackage: info: source package chasquid
dpkg-buildpackage: info: source version 1.15.0-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Alberto Bertogli <albertito@blitiri.com.ar>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture arm64
 debian/rules clean
dh clean --buildsystem=golang --with=golang
   dh_auto_clean -O--buildsystem=golang
   dh_autoreconf_clean -O--buildsystem=golang
   dh_clean -O--buildsystem=golang
 debian/rules binary
dh binary --buildsystem=golang --with=golang
   dh_update_autotools_config -O--buildsystem=golang
   dh_autoreconf -O--buildsystem=golang
   dh_auto_configure -O--buildsystem=golang
   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-aarch64-linux-gnu && go install -trimpath -v -p 12 -ldflags " -X main.version=1.15.0-1 -X main.sourceDateTs=1737288581" blitiri.com.ar/go/chasquid blitiri.com.ar/go/chasquid/cmd/chasquid-util blitiri.com.ar/go/chasquid/cmd/mda-lmtp blitiri.com.ar/go/chasquid/cmd/smtp-check blitiri.com.ar/go/chasquid/internal/aliases blitiri.com.ar/go/chasquid/internal/auth blitiri.com.ar/go/chasquid/internal/config blitiri.com.ar/go/chasquid/internal/courier blitiri.com.ar/go/chasquid/internal/dkim blitiri.com.ar/go/chasquid/internal/domaininfo blitiri.com.ar/go/chasquid/internal/dovecot blitiri.com.ar/go/chasquid/internal/envelope blitiri.com.ar/go/chasquid/internal/expvarom blitiri.com.ar/go/chasquid/internal/haproxy blitiri.com.ar/go/chasquid/internal/localrpc blitiri.com.ar/go/chasquid/internal/maillog blitiri.com.ar/go/chasquid/internal/nettrace blitiri.com.ar/go/chasquid/internal/normalize blitiri.com.ar/go/chasquid/internal/protoio blitiri.com.ar/go/chasquid/internal/protoio/testpb blitiri.com.ar/go/chasquid/internal/queue blitiri.com.ar/go/chasquid/internal/safeio blitiri.com.ar/go/chasquid/internal/set blitiri.com.ar/go/chasquid/internal/smtp blitiri.com.ar/go/chasquid/internal/smtpsrv blitiri.com.ar/go/chasquid/internal/sts blitiri.com.ar/go/chasquid/internal/testlib blitiri.com.ar/go/chasquid/internal/tlsconst blitiri.com.ar/go/chasquid/internal/trace blitiri.com.ar/go/chasquid/internal/userdb
internal/asan
internal/byteorder
encoding
internal/unsafeheader
internal/goos
internal/goexperiment
internal/profilerecord
internal/coverage/rtcov
internal/msan
internal/godebugs
internal/goarch
cmp
internal/itoa
internal/runtime/syscall
math/bits
unicode/utf8
internal/cpu
sync/atomic
log/internal
unicode
internal/nettrace
internal/chacha8rand
internal/runtime/math
internal/abi
google.golang.org/protobuf/internal/flags
unicode/utf16
container/ring
container/list
crypto/internal/fips140/alias
crypto/internal/fips140deps/byteorder
crypto/internal/fips140/subtle
crypto/internal/boring/sig
google.golang.org/protobuf/internal/set
vendor/golang.org/x/crypto/cryptobyte/asn1
math
vendor/golang.org/x/crypto/internal/alias
blitiri.com.ar/go/chasquid/internal/set
crypto/internal/fips140deps/cpu
internal/runtime/sys
internal/bytealg
internal/runtime/atomic
internal/runtime/exithook
internal/stringslite
internal/race
internal/sync
internal/runtime/maps
runtime
iter
internal/reflectlite
weak
crypto/subtle
sync
maps
slices
errors
sort
internal/bisect
unique
google.golang.org/protobuf/internal/pragma
internal/singleflight
internal/testlog
math/rand/v2
strconv
vendor/golang.org/x/net/dns/dnsmessage
path
internal/oserror
runtime/cgo
io
syscall
internal/godebug
strings
hash
crypto/internal/randutil
bytes
reflect
net/netip
golang.org/x/text/internal/tag
bufio
crypto
hash/fnv
html
regexp/syntax
math/rand
hash/crc32
crypto/internal/fips140deps/godebug
crypto/internal/impl
vendor/golang.org/x/text/transform
net/http/internal/ascii
crypto/internal/fips140
golang.org/x/text/transform
crypto/internal/fips140/sha256
crypto/internal/fips140/sha3
crypto/internal/fips140/sha512
crypto/tls/internal/fips140tls
golang.org/x/text/runes
golang.org/x/text/width
time
internal/syscall/unix
internal/syscall/execenv
crypto/sha3
crypto/internal/fips140/hmac
crypto/internal/fips140hash
crypto/internal/fips140/check
regexp
crypto/internal/fips140/aes
crypto/internal/fips140/edwards25519/field
crypto/internal/fips140/bigmod
crypto/internal/fips140/hkdf
crypto/internal/fips140/nistec/fiat
crypto/internal/fips140/tls12
crypto/internal/fips140/tls13
crypto/internal/fips140/edwards25519
context
io/fs
internal/poll
internal/filepathlite
embed
google.golang.org/protobuf/internal/editiondefaults
crypto/internal/fips140/nistec
os
internal/fmtsort
encoding/binary
encoding/base64
vendor/golang.org/x/crypto/internal/poly1305
golang.org/x/sys/unix
encoding/pem
fmt
os/signal
internal/sysinfo
path/filepath
google.golang.org/protobuf/internal/detrand
blitiri.com.ar/go/chasquid/internal/safeio
crypto/internal/sysrand
crypto/internal/entropy
crypto/internal/fips140/drbg
net
os/exec
crypto/internal/fips140only
crypto/internal/fips140/ecdh
crypto/internal/fips140/ecdsa
crypto/internal/fips140/ed25519
crypto/internal/fips140/aes/gcm
crypto/internal/fips140/mlkem
crypto/internal/fips140/rsa
crypto/md5
crypto/rc4
crypto/cipher
log
google.golang.org/protobuf/internal/errors
compress/flate
google.golang.org/protobuf/internal/version
encoding/json
flag
go/token
net/url
text/template/parse
google.golang.org/protobuf/encoding/protowire
crypto/internal/boring
math/big
crypto/des
crypto/aes
google.golang.org/protobuf/reflect/protoreflect
crypto/ecdh
crypto/sha512
crypto/hmac
vendor/golang.org/x/crypto/chacha20
crypto/sha1
crypto/sha256
compress/gzip
encoding/hex
vendor/golang.org/x/text/unicode/bidi
vendor/golang.org/x/text/unicode/norm
vendor/golang.org/x/net/http2/hpack
vendor/golang.org/x/crypto/chacha20poly1305
mime
mime/quotedprintable
text/template
net/http/internal
blitiri.com.ar/go/chasquid/internal/envelope
golang.org/x/text/unicode/bidi
golang.org/x/text/unicode/norm
golang.org/x/text/internal/language
vendor/golang.org/x/text/secure/bidirule
google.golang.org/protobuf/internal/encoding/messageset
google.golang.org/protobuf/internal/strs
google.golang.org/protobuf/internal/genid
google.golang.org/protobuf/internal/encoding/text
google.golang.org/protobuf/internal/order
google.golang.org/protobuf/reflect/protoregistry
google.golang.org/protobuf/runtime/protoiface
google.golang.org/protobuf/internal/descfmt
google.golang.org/protobuf/internal/descopts
google.golang.org/protobuf/internal/protolazy
golang.org/x/text/secure/bidirule
vendor/golang.org/x/net/idna
google.golang.org/protobuf/proto
blitiri.com.ar/go/chasquid/internal/tlsconst
golang.org/x/crypto/pbkdf2
internal/profile
text/tabwriter
golang.org/x/text/internal/language/compact
golang.org/x/crypto/scrypt
html/template
runtime/trace
google.golang.org/protobuf/internal/encoding/defval
runtime/debug
crypto/rand
crypto/elliptic
crypto/internal/boring/bbig
encoding/asn1
crypto/dsa
golang.org/x/text/language
crypto/ed25519
crypto/internal/hpke
crypto/rsa
golang.org/x/net/idna
runtime/pprof
golang.org/x/term
google.golang.org/protobuf/encoding/prototext
google.golang.org/protobuf/internal/filedesc
testing
golang.org/x/text/internal
vendor/golang.org/x/crypto/cryptobyte
crypto/x509/pkix
golang.org/x/text/cases
blitiri.com.ar/go/chasquid/internal/protoio
crypto/ecdsa
golang.org/x/text/secure/precis
google.golang.org/protobuf/internal/encoding/tag
google.golang.org/protobuf/internal/impl
blitiri.com.ar/go/chasquid/internal/normalize
log/syslog
crypto/x509
net/textproto
vendor/golang.org/x/net/http/httpproxy
blitiri.com.ar/go/chasquid/internal/haproxy
blitiri.com.ar/go/spf
blitiri.com.ar/go/systemd
blitiri.com.ar/go/log
vendor/golang.org/x/net/http/httpguts
mime/multipart
blitiri.com.ar/go/chasquid/internal/dovecot
net/mail
blitiri.com.ar/go/chasquid/cmd/mda-lmtp
crypto/tls
blitiri.com.ar/go/chasquid/internal/dkim
google.golang.org/protobuf/internal/filetype
google.golang.org/protobuf/runtime/protoimpl
blitiri.com.ar/go/chasquid/internal/config
blitiri.com.ar/go/chasquid/internal/userdb
blitiri.com.ar/go/chasquid/internal/protoio/testpb
net/http/httptrace
net/smtp
blitiri.com.ar/go/chasquid/internal/testlib
net/http
blitiri.com.ar/go/chasquid/internal/smtp
blitiri.com.ar/go/chasquid/internal/nettrace
expvar
net/http/pprof
golang.org/x/net/context/ctxhttp
blitiri.com.ar/go/chasquid/internal/trace
blitiri.com.ar/go/chasquid/internal/domaininfo
blitiri.com.ar/go/chasquid/internal/localrpc
blitiri.com.ar/go/chasquid/internal/maillog
blitiri.com.ar/go/chasquid/internal/auth
blitiri.com.ar/go/chasquid/internal/expvarom
blitiri.com.ar/go/chasquid/cmd/chasquid-util
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/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-aarch64-linux-gnu && go test -vet=off -v -p 12 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]
?   	blitiri.com.ar/go/chasquid/cmd/smtp-check	[no test files]
=== RUN   TestBasic
--- PASS: TestBasic (0.00s)
=== RUN   TestCatchAll
--- PASS: TestCatchAll (0.00s)
=== RUN   TestUserLookupErrors
--- PASS: TestUserLookupErrors (0.00s)
=== RUN   TestAddrRewrite
--- PASS: TestAddrRewrite (0.00s)
=== RUN   TestExists
--- PASS: TestExists (0.00s)
=== RUN   TestRemoveDropsAndSuffix
--- PASS: TestRemoveDropsAndSuffix (0.00s)
=== RUN   TestRemoveDropCharacters
--- PASS: TestRemoveDropCharacters (0.00s)
=== RUN   TestTooMuchRecursion
--- PASS: TestTooMuchRecursion (0.00s)
=== RUN   TestTooMuchRecursionOnCatchAll
--- PASS: TestTooMuchRecursionOnCatchAll (0.00s)
=== RUN   TestAddFile
--- PASS: TestAddFile (0.00s)
=== RUN   TestRichFile
--- PASS: TestRichFile (0.00s)
=== RUN   TestManyFiles
--- 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.01s)
=== RUN   FuzzReader
=== RUN   FuzzReader/seed#0
=== RUN   FuzzReader/1c24d2215db69748c6fd16797673ad11ebc7e6167fe1bc1f54c6959ec10407b6
=== RUN   FuzzReader/4adaceaa32e2b32c00322948769d62c2dd42e1d9f4950d3c5b411c710e6d4a86
=== RUN   FuzzReader/8234d8c5719f30e50525290db70743bf97d940e60591cf4a638c72158d35504a
=== RUN   FuzzReader/c9c80ba9f513841cb081fe9bb7439d36f9f7a06bb999d4c39441991ccc878a9e
=== RUN   FuzzReader/d40a98862ed393eb712e47a91bcef18e6f24cf368bb4bd248c7a7101ef8e178d
--- PASS: FuzzReader (0.00s)
    --- PASS: FuzzReader/seed#0 (0.00s)
    --- PASS: FuzzReader/1c24d2215db69748c6fd16797673ad11ebc7e6167fe1bc1f54c6959ec10407b6 (0.00s)
    --- PASS: FuzzReader/4adaceaa32e2b32c00322948769d62c2dd42e1d9f4950d3c5b411c710e6d4a86 (0.00s)
    --- PASS: FuzzReader/8234d8c5719f30e50525290db70743bf97d940e60591cf4a638c72158d35504a (0.00s)
    --- PASS: FuzzReader/c9c80ba9f513841cb081fe9bb7439d36f9f7a06bb999d4c39441991ccc878a9e (0.00s)
    --- PASS: FuzzReader/d40a98862ed393eb712e47a91bcef18e6f24cf368bb4bd248c7a7101ef8e178d (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/aliases	0.031s
=== RUN   TestDecodeResponse
    auth_test.go:56: OK: "" failed with response pieces != 3, as per RFC
    auth_test.go:56: OK: "\x00" failed with response pieces != 3, as per RFC
    auth_test.go:56: OK: "\x00\x00" failed with empty identity, must be in the form user@domain
    auth_test.go:56: OK: "\x00\x00\x00" failed with empty identity, must be in the form user@domain
    auth_test.go:56: OK: "\x00\x00\x00\x00" failed with empty identity, must be in the form user@domain
    auth_test.go:56: OK: "a\x00b" failed with response pieces != 3, as per RFC
    auth_test.go:56: OK: "a\x00b\x00c" failed with auth IDs do not match
    auth_test.go:56: OK: "a@a\x00b@b\x00pass" failed with auth IDs do not match
    auth_test.go:56: OK: "\xffa@b\x00\xffa@b\x00pass" failed with bidirule: failed Bidi Rule
--- PASS: TestDecodeResponse (0.00s)
=== RUN   TestAuthenticate
--- PASS: TestAuthenticate (0.39s)
=== RUN   TestInterfaces
--- PASS: TestInterfaces (0.00s)
=== RUN   TestMultipleBackends
--- PASS: TestMultipleBackends (0.18s)
=== RUN   TestErrors
--- PASS: TestErrors (0.00s)
=== RUN   TestReload
_ auth.go:141        Auth.Reload domain2: error: test error
--- PASS: TestReload (0.00s)
=== RUN   FuzzDecodeResponse
=== RUN   FuzzDecodeResponse/0274b170c6fe2654ca5418a914b804e9c7cc5d8e5c2a7c5fcf5c29540ec5ae52
=== RUN   FuzzDecodeResponse/24d35771ef1fe0645d90b061e13a777faea328736483ec2833b63950d26b5399
=== RUN   FuzzDecodeResponse/2e5d0b26626f2d2dd6fb423e1e1cc432277ae9877c622fe6ca067e247bc11c9d
=== RUN   FuzzDecodeResponse/2ef1aee5347414c139270ebb6ea63d2223a8c0c7c8ec30a2ca7152f4c18f1c74
=== RUN   FuzzDecodeResponse/4b9259040da90f06aa2b593ee20fdffefeda813c59430050f15965bd9471235e
=== RUN   FuzzDecodeResponse/6c2c0b4f81a675d91d1291bfdcddb7c9d43cf6264dd7763cfed31a3946854e27
=== RUN   FuzzDecodeResponse/6e05782952b68c7ccd94160ad6ea45e7f766397850b08e78f89407a94350825c
=== RUN   FuzzDecodeResponse/c2ae184876dd0fe9acfc8a5e2f2174a968b889b01e0f5c9a61fa27d7361f0091
=== RUN   FuzzDecodeResponse/d9aa9c617d1f5b3021aca758b9d896d136e3b16ed53233d02abffd02aa73ffa4
=== RUN   FuzzDecodeResponse/de05c7993312bab83e8114e9d9ced331c49822dc55c1a353f1cc9718a28226e7
--- PASS: FuzzDecodeResponse (0.00s)
    --- PASS: FuzzDecodeResponse/0274b170c6fe2654ca5418a914b804e9c7cc5d8e5c2a7c5fcf5c29540ec5ae52 (0.00s)
    --- PASS: FuzzDecodeResponse/24d35771ef1fe0645d90b061e13a777faea328736483ec2833b63950d26b5399 (0.00s)
    --- PASS: FuzzDecodeResponse/2e5d0b26626f2d2dd6fb423e1e1cc432277ae9877c622fe6ca067e247bc11c9d (0.00s)
    --- PASS: FuzzDecodeResponse/2ef1aee5347414c139270ebb6ea63d2223a8c0c7c8ec30a2ca7152f4c18f1c74 (0.00s)
    --- PASS: FuzzDecodeResponse/4b9259040da90f06aa2b593ee20fdffefeda813c59430050f15965bd9471235e (0.00s)
    --- PASS: FuzzDecodeResponse/6c2c0b4f81a675d91d1291bfdcddb7c9d43cf6264dd7763cfed31a3946854e27 (0.00s)
    --- PASS: FuzzDecodeResponse/6e05782952b68c7ccd94160ad6ea45e7f766397850b08e78f89407a94350825c (0.00s)
    --- PASS: FuzzDecodeResponse/c2ae184876dd0fe9acfc8a5e2f2174a968b889b01e0f5c9a61fa27d7361f0091 (0.00s)
    --- PASS: FuzzDecodeResponse/d9aa9c617d1f5b3021aca758b9d896d136e3b16ed53233d02abffd02aa73ffa4 (0.00s)
    --- PASS: FuzzDecodeResponse/de05c7993312bab83e8114e9d9ced331c49822dc55c1a353f1cc9718a28226e7 (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/auth	0.598s
=== RUN   TestEmptyStruct
--- PASS: TestEmptyStruct (0.00s)
=== RUN   TestEmptyConfig
    testlib.go:32: test directory: "/tmp/testlib_1937327372"
--- PASS: TestEmptyConfig (0.00s)
=== RUN   TestFullConfig
    testlib.go:32: test directory: "/tmp/testlib_675878951"
--- PASS: TestFullConfig (0.00s)
=== RUN   TestErrorLoading
--- PASS: TestErrorLoading (0.00s)
=== RUN   TestBrokenConfig
    testlib.go:32: test directory: "/tmp/testlib_3571642939"
--- PASS: TestBrokenConfig (0.00s)
=== RUN   TestBrokenOverride
    testlib.go:32: test directory: "/tmp/testlib_272150586"
--- PASS: TestBrokenOverride (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/config	0.018s
=== RUN   TestMDA
    testlib.go:32: test directory: "/tmp/testlib_2396534571"
--- PASS: TestMDA (0.00s)
=== RUN   TestMDATimeout
_ mda.go:73          Courier.MDA to@local: error: operation timed out
--- PASS: TestMDATimeout (0.10s)
=== RUN   TestMDABadCommandLine
_ mda.go:86          Courier.MDA to: error: MDA delivery failed: exec: \"thisdoesnotexist\": executable file not found in $PATH - \"\"
_ mda.go:86          Courier.MDA to: error: MDA delivery failed: exit status 1 - \"cat: unrecognized option '--fail_unknown_option'\\nTry 'cat --help' for more information.\\n\"
--- PASS: TestMDABadCommandLine (0.00s)
=== RUN   TestExitCode
    mda_test.go:71: util/exitcode not found, running from outside repo?
--- SKIP: TestExitCode (0.00s)
=== RUN   TestSanitize
--- PASS: TestSanitize (0.00s)
=== RUN   TestSMTP
    testlib.go:32: test directory: "/tmp/testlib_3263358626"
    testlib.go:32: test directory: "/tmp/testlib_1584623076"
_ smtp.go:127        Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::35481: too many colons in address
_ smtp.go:101        Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::35481: too many colons in address
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    fakeserver_test.go:109: fakeServer read: "RCPT TO:<to@to>"
    fakeserver_test.go:109: fakeServer read: "DATA"
    fakeserver_test.go:109: fakeServer read: "QUIT"
    fakeserver_test.go:105: fakeServer exiting: EOF
--- PASS: TestSMTP (0.15s)
=== RUN   TestSMTPErrors
    testlib.go:32: test directory: "/tmp/testlib_3417182547"
    testlib.go:32: test directory: "/tmp/testlib_1774264408"
    fakeserver_test.go:98: fakeServer got connection
_ smtp.go:138        Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:41424->127.0.0.1:33607: i/o timeout
_ smtp.go:101        Courier.SMTP to@to: error: \"127.0.0.1\" returned transient error: Error saying hello: write tcp 127.0.0.1:41424->127.0.0.1:33607: i/o timeout
_ smtp.go:105        Courier.SMTP to@to: error: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:41424->127.0.0.1:33607: i/o timeout)
    smtp_test.go:140: failed as expected: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:41424->127.0.0.1:33607: i/o timeout)
    fakeserver_test.go:105: fakeServer exiting: EOF
    testlib.go:32: test directory: "/tmp/testlib_1414888807"
    testlib.go:32: test directory: "/tmp/testlib_4232927789"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
_ smtp.go:202        Courier.SMTP to@to: error: MAIL+RCPT 501 mail error
    smtp_test.go:140: failed as expected: MAIL+RCPT 501 mail error
    fakeserver_test.go:105: fakeServer exiting: EOF
    testlib.go:32: test directory: "/tmp/testlib_1318753537"
    testlib.go:32: test directory: "/tmp/testlib_609734485"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    fakeserver_test.go:109: fakeServer read: "RCPT TO:<to@to>"
_ 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_1557973495"
    testlib.go:32: test directory: "/tmp/testlib_3969403363"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    fakeserver_test.go:109: fakeServer read: "RCPT TO:<to@to>"
    fakeserver_test.go:109: fakeServer read: "DATA"
_ 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_818464753"
    testlib.go:32: test directory: "/tmp/testlib_3839872529"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    fakeserver_test.go:109: fakeServer read: "RCPT TO:<to@to>"
    fakeserver_test.go:109: fakeServer read: "DATA"
_ smtp.go:216        Courier.SMTP to@to: error: DATA closing 551 data response error
    smtp_test.go:140: failed as expected: DATA closing 551 data response error
    fakeserver_test.go:105: fakeServer exiting: EOF
--- PASS: TestSMTPErrors (1.54s)
=== RUN   TestNoMXServer
    testlib.go:32: test directory: "/tmp/testlib_1607440417"
_ smtp.go:82         Courier.SMTP to@to: error: Could not find mail server: <nil>
    smtp_test.go:158: got permanent failure, as expected: Could not find mail server: <nil>
--- PASS: TestNoMXServer (0.00s)
=== RUN   TestTooManyMX
--- PASS: TestTooManyMX (0.00s)
=== RUN   TestFallbackToA
--- PASS: TestFallbackToA (0.00s)
=== RUN   TestTemporaryDNSerror
--- PASS: TestTemporaryDNSerror (0.00s)
=== RUN   TestMXLookupError
--- PASS: TestMXLookupError (0.00s)
=== RUN   TestLookupInvalidDomain
--- PASS: TestLookupInvalidDomain (0.00s)
=== RUN   TestTLS
    testlib.go:32: test directory: "/tmp/testlib_1794581359"
    testlib.go:32: test directory: "/tmp/testlib_2334687151"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "STARTTLS"
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
_ domaininfo.go:153  DomainInfo.Outgoing to: to outgoing level raised: TLS_INSECURE > PLAIN
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    fakeserver_test.go:109: fakeServer read: "RCPT TO:<to@to>"
    fakeserver_test.go:109: fakeServer read: "DATA"
    fakeserver_test.go:109: fakeServer read: "QUIT"
    fakeserver_test.go:105: fakeServer exiting: EOF
    testlib.go:32: test directory: "/tmp/testlib_970459719"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
_ domaininfo.go:145  DomainInfo.Outgoing to: error: to outgoing denied: PLAIN < TLS_INSECURE
_ smtp.go:185        Courier.SMTP to@to: error: Security level check failed (level:PLAIN)
_ smtp.go:101        Courier.SMTP to@to: error: \"localhost\" returned transient error: Security level check failed (level:PLAIN)
_ smtp.go:105        Courier.SMTP to@to: error: all MXs returned transient failures (last: Security level check failed (level:PLAIN))
    fakeserver_test.go:105: fakeServer exiting: EOF
--- PASS: TestTLS (0.12s)
=== RUN   TestTLSError
    testlib.go:32: test directory: "/tmp/testlib_1289485118"
    testlib.go:32: test directory: "/tmp/testlib_4189412884"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "STARTTLS"
_ smtp.go:171        Courier.SMTP to@to: error: TLS error, retrying without TLS: 500 starttls err
    fakeserver_test.go:105: fakeServer exiting: EOF
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    fakeserver_test.go:109: fakeServer read: "RCPT TO:<to@to>"
    fakeserver_test.go:109: fakeServer read: "DATA"
    fakeserver_test.go:109: fakeServer read: "QUIT"
    fakeserver_test.go:105: fakeServer exiting: EOF
--- PASS: TestTLSError (0.04s)
=== RUN   TestSTSPolicyEnforcement
    testlib.go:32: test directory: "/tmp/testlib_3731792906"
    testlib.go:32: test directory: "/tmp/testlib_4069075977"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "STARTTLS"
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
_ 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_3826685761"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "STARTTLS"
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
_ domaininfo.go:153  DomainInfo.Outgoing to: to outgoing level raised: TLS_SECURE > TLS_INSECURE
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    fakeserver_test.go:109: fakeServer read: "RCPT TO:<to@to>"
    fakeserver_test.go:109: fakeServer read: "DATA"
    fakeserver_test.go:109: fakeServer read: "QUIT"
    fakeserver_test.go:105: fakeServer exiting: EOF
--- PASS: TestSTSPolicyEnforcement (0.11s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/courier	2.088s
=== RUN   TestStringToCanonicalization
--- PASS: TestStringToCanonicalization (0.00s)
=== RUN   TestSimpleBody
--- PASS: TestSimpleBody (0.00s)
=== RUN   TestRelaxBody
--- PASS: TestRelaxBody (0.00s)
=== RUN   TestHeaders
--- PASS: TestHeaders (0.00s)
=== RUN   TestBadCanonicalization
--- PASS: TestBadCanonicalization (0.00s)
=== RUN   TestTraceNoCtx
--- PASS: TestTraceNoCtx (0.00s)
=== RUN   TestTrace
--- PASS: TestTrace (0.00s)
=== RUN   TestLookupTXTNoCtx
--- PASS: TestLookupTXTNoCtx (0.00s)
=== RUN   TestLookupTXT
--- PASS: TestLookupTXT (0.00s)
=== RUN   TestMaxHeaders
--- PASS: TestMaxHeaders (0.00s)
=== RUN   TestLookupError
--- PASS: TestLookupError (0.00s)
=== RUN   TestSkipBadRecords
--- PASS: TestSkipBadRecords (0.00s)
=== RUN   TestParsePublicKey
--- PASS: TestParsePublicKey (0.01s)
=== RUN   TestPublicKeyMatches
--- PASS: TestPublicKeyMatches (0.00s)
=== RUN   TestStrictDomainCheck
--- PASS: TestStrictDomainCheck (0.00s)
=== RUN   TestFromFiles
=== RUN   TestFromFiles/testdata/01-rfc8463
    file_test.go:50: Loaded DNS results: map[string][]string{"brisbane._domainkey.football.example.com":[]string{"   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="}, "test._domainkey.football.example.com":[]string{"   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"}}
    file_test.go:50: Loaded DNS errors: map[]
    file_test.go:55: Message: "DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;\r\n "
    file_test.go:56: Want result: &{Found:2 Valid:2 Results:[0x40002a78c0 0x40002a7920]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=test; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "/tcebXD7Eju1w1OtxCghswS2udVPyGfzBPfGHaqqERE="
    context.go:17: PK [rsa:30819f300d06092a]: Verification succeeded
    context.go:17: Found 2 signatures, 2 valid
=== RUN   TestFromFiles/testdata/02-too_many_headers
    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:[0x40002ea180 0x40002ea1e0 0x40002ea240 0x40002ea2a0 0x40002ea300]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: Too many DKIM-Signature headers found
    context.go:17: Found 5 signatures, 5 valid
=== RUN   TestFromFiles/testdata/03-bad_message
    file_test.go:50: Loaded DNS results: map[string][]string{}
    file_test.go:50: Loaded DNS errors: map[]
    file_test.go:55: Message: "  This is not a valid message.\r\n"
    file_test.go:56: Want result: <nil>
    file_test.go:57: Want error: invalid header: bad continuation
    context.go:17: Error parsing message: invalid header: bad continuation
=== RUN   TestFromFiles/testdata/04-bad_dkim_signature_header
    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:[0x40002eaf00]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=8; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: Found 1 signatures, 0 valid
=== RUN   TestFromFiles/testdata/05-dns_temp_error
    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:[0x40002eb320 0x40002eb380]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT lookup of "brisbane._domainkey.football.example.com" failed: lookup : temporary error (for testing)
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=test; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "/tcebXD7Eju1w1OtxCghswS2udVPyGfzBPfGHaqqERE="
    context.go:17: PK [rsa:30819f300d06092a]: Verification succeeded
    context.go:17: Found 2 signatures, 1 valid
=== RUN   TestFromFiles/testdata/06-dns_perm_error
    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:[0x40002eb980 0x40002eb9e0]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT lookup of "brisbane._domainkey.football.example.com" failed: lookup : permanent error (for testing)
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=test; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "/tcebXD7Eju1w1OtxCghswS2udVPyGfzBPfGHaqqERE="
    context.go:17: PK [rsa:30819f300d06092a]: Verification succeeded
    context.go:17: Found 2 signatures, 1 valid
=== RUN   TestFromFiles/testdata/07-algo_mismatch
    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:[0x40003400c0 0x4000340120]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [rsa:30819f300d06092a]: key type or hash mismatch, skipping
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=test; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "/tcebXD7Eju1w1OtxCghswS2udVPyGfzBPfGHaqqERE="
    context.go:17: PK [rsa:30819f300d06092a]: Verification succeeded
    context.go:17: Found 2 signatures, 2 valid
=== RUN   TestFromFiles/testdata/08-our_signature
    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:[0x4000340840 0x40003408a0 0x4000340900]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
            d=example.com; s=selector; t=1709341950;
            h=from:subject:date:to:message-id:from:subject:date:to:cc:in-reply-to:message-id;
            bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
            b=Vut85AtCKBtJOWSgGA8uyVCLttKitiUcKI3xD+45B2HQi2uc4fWcPbSGW6djkcgJhu0zRexvE/YvnVkIDVoOAg==;
    context.go:17: TXT record for "selector._domainkey.example.com": "   v=DKIM1; k=ed25519; p=SvoPT692bVrQBT8UNxt6SF538O3snA4fE3/i/glCxwQ="
    context.go:17: Parsed public key: [ed25519:4afa0f4faf766d5a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "subject:Is dinner ready?\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=selector; t=1709341950; h=from:subject:date:to:message-id:from:subject:date:to:cc:in-reply-to:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    context.go:17: Resulting hash: "Zw5Eix6KZc4p2b3FV0EWNW/N+RZvqo4OfRmakYAxG3I="
    context.go:17: PK [ed25519:4afa0f4faf766d5a]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=test; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "/tcebXD7Eju1w1OtxCghswS2udVPyGfzBPfGHaqqERE="
    context.go:17: PK [rsa:30819f300d06092a]: Verification succeeded
    context.go:17: Found 3 signatures, 3 valid
=== RUN   TestFromFiles/testdata/09-limited_body
    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:[0x40003410e0 0x4000341140 0x40003411a0]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
            d=example.com; s=selector; t=1709368031;
            h=from:subject:date:to:message-id:from:subject:date:to:cc:in-reply-to:message-id;
            l=17; bh=2Lb+x7ZAi8ljletRVg9Cn+VSkE36HadUTTOwsYyzZJg=;
            b=2wsAeUZad5CdbyqNEuUswkD/PJb+trZ8ICldEFX/FpmfdVOtAsCR0flp0EhT7GUTY9b6Q2JvkBICSyvYyojnBQ==;
    context.go:17: TXT record for "selector._domainkey.example.com": "   v=DKIM1; k=ed25519; p=SvoPT692bVrQBT8UNxt6SF538O3snA4fE3/i/glCxwQ="
    context.go:17: Parsed public key: [ed25519:4afa0f4faf766d5a]
    context.go:17: Body hash matches: "2Lb+x7ZAi8ljletRVg9Cn+VSkE36HadUTTOwsYyzZJg="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "subject:Is dinner ready?\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=selector; t=1709368031; h=from:subject:date:to:message-id:from:subject:date:to:cc:in-reply-to:message-id; l=17; bh=2Lb+x7ZAi8ljletRVg9Cn+VSkE36HadUTTOwsYyzZJg=; b=;"
    context.go:17: Resulting hash: "ZMWUmBbY+4uwMRBZJbkn8OV0iO6iqFciHVjb+tk+BEQ="
    context.go:17: PK [ed25519:4afa0f4faf766d5a]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "   v=DKIM1; k=rsa;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=test; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "/tcebXD7Eju1w1OtxCghswS2udVPyGfzBPfGHaqqERE="
    context.go:17: PK [rsa:30819f300d06092a]: Verification succeeded
    context.go:17: Found 3 signatures, 3 valid
=== RUN   TestFromFiles/testdata/10-strict_domain_check_pass
    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:[0x40003419e0 0x4000341a40]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "   v=DKIM1; k=ed25519; t=s;   p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Strict domain check passed
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "   v=DKIM1; k=rsa; t=s;   p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=test; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "/tcebXD7Eju1w1OtxCghswS2udVPyGfzBPfGHaqqERE="
    context.go:17: PK [rsa:30819f300d06092a]: Strict domain check passed
    context.go:17: PK [rsa:30819f300d06092a]: Verification succeeded
    context.go:17: Found 2 signatures, 2 valid
=== RUN   TestFromFiles/testdata/11-strict_domain_check_fail
    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:[0x40003b6180]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
            d=example.com; s=selector; t=1709466347;
            i=test@sub.example.com;
            h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id;
            bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
            b=NDV3SShyaF7fXYoOx9GnBQjFIfsr5bTJUtAwRTk2sTq+5wl/r0uTN1zaSfUWuxYnMIMoSq
              b/xGMFTFmpSbNeCg==;
    context.go:17: TXT record for "selector._domainkey.example.com": "   v=DKIM1; k=ed25519; t=s; p=SvoPT692bVrQBT8UNxt6SF538O3snA4fE3/i/glCxwQ="
    context.go:17: Parsed public key: [ed25519:4afa0f4faf766d5a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "subject:Is dinner ready?\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=selector; t=1709466347; i=test@sub.example.com; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    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.03s)
    --- PASS: TestFromFiles/testdata/01-rfc8463 (0.01s)
    --- PASS: TestFromFiles/testdata/02-too_many_headers (0.01s)
    --- PASS: TestFromFiles/testdata/03-bad_message (0.00s)
    --- PASS: TestFromFiles/testdata/04-bad_dkim_signature_header (0.00s)
    --- PASS: TestFromFiles/testdata/05-dns_temp_error (0.00s)
    --- PASS: TestFromFiles/testdata/06-dns_perm_error (0.00s)
    --- PASS: TestFromFiles/testdata/07-algo_mismatch (0.00s)
    --- PASS: TestFromFiles/testdata/08-our_signature (0.00s)
    --- PASS: TestFromFiles/testdata/09-limited_body (0.00s)
    --- PASS: TestFromFiles/testdata/10-strict_domain_check_pass (0.00s)
    --- PASS: TestFromFiles/testdata/11-strict_domain_check_fail (0.00s)
=== RUN   TestFromPrivateFiles
--- PASS: TestFromPrivateFiles (0.00s)
=== RUN   TestSignatureFromHeader
--- PASS: TestSignatureFromHeader (0.00s)
=== RUN   TestCanonicalizationFromString
--- PASS: TestCanonicalizationFromString (0.00s)
=== RUN   TestCheckRequiredTags
--- PASS: TestCheckRequiredTags (0.00s)
=== RUN   TestParseTags
--- PASS: TestParseTags (0.00s)
=== RUN   TestParseMessage
--- PASS: TestParseMessage (0.00s)
=== RUN   TestParseMessageWithErrors
--- PASS: TestParseMessageWithErrors (0.00s)
=== RUN   TestHeadersFindAll
--- PASS: TestHeadersFindAll (0.00s)
=== RUN   TestSignRSA
    context.go:17: Signing for example.com / test with rsa-sha256
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "subject:Is dinner ready?\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
    context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775609917; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    context.go:17: Resulting hash: "voqBZ7PlDHE5sjM2X2CYuu/pbu4hOcQp9Vn9oOTYg6w="
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
        	d=example.com; s=test; t=1775609917;
        	h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id;
        	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
        	b=FWc5az7/C3ygrQd9TyrSIt2NtbluA9QLVwU3JVgkM02qdA96zR5xMZwXON/a/u3VZk1WgF
        	  GP1/6ykMy+lbhusJzonB5IzTlHS5cxpXBMRWHMFQSEJmXazz2dAf9SsksUvjG7EfKlW86M
        	  VbE/AzfqUaINXws7suFB8sAGrxZuYX6zNPA6MLdb/E9H0kFfqLChoWRLTBXuw8LKtODLLI
        	  ibJCD8BGJwpc0BPsdMu9opj6NFxTVsecA58uKd1M/CiDMB5Lm6wsZjlKFglkXanR+ot+sN
        	  eltuUFhJZNgP2eK0YgDh31aLY9lM6evcnM7t1m57uPYaY7m6hif4pKRbEU+DQw==;
    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtkiN/sktJVZbPpQzQ7axvn8ENuBA4Lb3qcbMRddgC0p8FOZlTGUa4gzb7hX/tuRKNfgGTbhajFqLDBXh1N8nIj7azVwMM+dgb8eNu8hzS1UEuvnexbtGXeYnhPE1pkgLBYUn2L6EmxCTX35LkHVhK2a7jX5iq2qxwhwGQy692Vq5bZJ0X5rKTZs6rcWWMH64sl1cKr1PRtli+v7dj6hKXUj4aPq9g7FGIStKHQyeQJC8A9eaCMi//mQSKA2XCr6UAXEz03KUm0Z70RLAbtuMPBx2hm06dV2v1FeGjZ9BY/TN8NU0Jz/PITy9znQfDT8mv9QHt77IWFOyECb7154NfQIDAQAB"
    context.go:17: Parsed public key: [rsa:30820122300d0609]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "subject:Is dinner ready?\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
    context.go:17: Hashing header: "dkim-signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775609917; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    context.go:17: Resulting hash: "voqBZ7PlDHE5sjM2X2CYuu/pbu4hOcQp9Vn9oOTYg6w="
    context.go:17: PK [rsa:30820122300d0609]: Verification succeeded
    context.go:17: Found 1 signatures, 1 valid
--- PASS: TestSignRSA (0.21s)
=== RUN   TestSignEd25519
    context.go:17: Signing for example.com / test with ed25519-sha256
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "subject:Is dinner ready?\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775609917; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    context.go:17: Resulting hash: "LvhK/ZwQc1UkpnCvZYCiERhAW2MosCFvqIGOMIzITSE="
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
        	d=example.com; s=test; t=1775609917;
        	h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id;
        	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
        	b=elp1VunIZpHcWB5+HWuekDs2eoydZhVKR3KaD45J1uy2VY8rawlC2O0r3gcpkVVusCq9Fz
        	  RXDh7D1TICSSKQBQ==;
    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=shju56MNlR0/q1Zp6Yj7urpiNltfHT8QfRUuIaoiXnI="
    context.go:17: Parsed public key: [ed25519:b218eee7a30d951d]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "subject:Is dinner ready?\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775609917; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    context.go:17: Resulting hash: "LvhK/ZwQc1UkpnCvZYCiERhAW2MosCFvqIGOMIzITSE="
    context.go:17: PK [ed25519:b218eee7a30d951d]: Verification succeeded
    context.go:17: Found 1 signatures, 1 valid
--- PASS: TestSignEd25519 (0.00s)
=== RUN   TestSignBadMessage
--- PASS: TestSignBadMessage (0.00s)
=== RUN   TestSignBadAlgorithm
--- PASS: TestSignBadAlgorithm (0.00s)
=== RUN   TestBreakLongLines
--- PASS: TestBreakLongLines (0.00s)
=== RUN   TestFormatHeaders
--- PASS: TestFormatHeaders (0.00s)
=== RUN   TestVerifyRF6376CExample
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; s=brisbane; d=example.com;
              c=simple/simple; q=dns/txt; i=joe@football.example.com;
              h=Received : From : To : Subject : Date : Message-ID;
              bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
              b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk4yAUoqOB
              4nujc7YopdG5dWLSdNg6xNAZpOPr+kHxt1IrE+NahM6L/LbvaHut
              KVdkLLkpVaVVQPzeRDI009SO2Il5Lu7rDNH6mZckBdrIx0orEtZV
              4bmp/YzhwvcubU4=;
    context.go:17: TXT record for "brisbane._domainkey.example.com": "v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDwIRP/UC3SBsEmGqZ9ZJW3/DkMoGeLnQg1fWn7/zYtIxN2SnFCjxOCKG9v3b4jYfcTNh5ijSsq631uBItLa7od+v/RtdC2UzJ1lWT947qR+Rcac2gbto/NMqJ0fzfVjH4OuKhitdY9tf6mcwGjaNBcWToIMmPSPDdQPNUYckcQ2QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "Received: from client1.football.example.com  [192.0.2.1]\r\n      by submitserver.example.com with SUBMISSION;\r\n      Fri, 11 Jul 2003 21:01:54 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "From: Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "To: Suzie Q <suzie@shopping.example.net>\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: "Message-ID: <20030712040037.46341.5F8J@football.example.com>\r\n"
    context.go:17: Hashing header: "DKIM-Signature: v=1; a=rsa-sha256; s=brisbane; d=example.com;\r\n      c=simple/simple; q=dns/txt; i=joe@football.example.com;\r\n      h=Received : From : To : Subject : Date : Message-ID;\r\n      bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;\r\n      b=;"
    context.go:17: Resulting hash: "WbRrn0X3Yqs7trHBUtQpjtV9J8HnCsaIGw7G0BL/DCI="
    context.go:17: PK [rsa:30819f300d06092a]: Verification succeeded
    context.go:17: Found 1 signatures, 1 valid
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; s=brisbane; d=example.com;
              c=simple/simple; q=dns/txt; i=joe@football.example.com;
              h=Received : From : To : Subject : Date : Message-ID;
              bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
              b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk4yAUoqOB
              4nujc7YopdG5dWLSdNg6xNAZpOPr+kHxt1IrE+NahM6L/LbvaHut
              KVdkLLkpVaVVQPzeRDI009SO2Il5Lu7rDNH6mZckBdrIx0orEtZV
              4bmp/YzhwvcubU4=;
    context.go:17: TXT record for "brisbane._domainkey.example.com": "v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDwIRP/UC3SBsEmGqZ9ZJW3/DkMoGeLnQg1fWn7/zYtIxN2SnFCjxOCKG9v3b4jYfcTNh5ijSsq631uBItLa7od+v/RtdC2UzJ1lWT947qR+Rcac2gbto/NMqJ0fzfVjH4OuKhitdY9tf6mcwGjaNBcWToIMmPSPDdQPNUYckcQ2QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash mismatch: "QwejXPqmboTJlZI7lDPb7m3t8Vdun8cvcXRP88nC9FY="
    context.go:17: Found 1 signatures, 0 valid
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; s=brisbane; d=example.com;
              c=simple/simple; q=dns/txt; i=joe@football.example.com;
              h=Received : From : To : X-Subject : Date : Message-ID;
              bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
              b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk4yAUoqOB
              4nujc7YopdG5dWLSdNg6xNAZpOPr+kHxt1IrE+NahM6L/LbvaHut
              KVdkLLkpVaVVQPzeRDI009SO2Il5Lu7rDNH6mZckBdrIx0orEtZV
              4bmp/YzhwvcubU4=;
    context.go:17: TXT record for "brisbane._domainkey.example.com": "v=DKIM1; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDwIRP/UC3SBsEmGqZ9ZJW3/DkMoGeLnQg1fWn7/zYtIxN2SnFCjxOCKG9v3b4jYfcTNh5ijSsq631uBItLa7od+v/RtdC2UzJ1lWT947qR+Rcac2gbto/NMqJ0fzfVjH4OuKhitdY9tf6mcwGjaNBcWToIMmPSPDdQPNUYckcQ2QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "Received: from client1.football.example.com  [192.0.2.1]\r\n      by submitserver.example.com with SUBMISSION;\r\n      Fri, 11 Jul 2003 21:01:54 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "From: Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "To: Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "Date: Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\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; s=brisbane; d=example.com;\r\n      c=simple/simple; q=dns/txt; i=joe@football.example.com;\r\n      h=Received : From : To : X-Subject : Date : Message-ID;\r\n      bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;\r\n      b=;"
    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.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;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "SM6aLHEOzhcQ/xVplrg2p/RUcOQ+/lZDB01uFpDtYuc="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification succeeded
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\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: "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=football.example.com; i=@football.example.com; q=dns/txt; s=test; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "/tcebXD7Eju1w1OtxCghswS2udVPyGfzBPfGHaqqERE="
    context.go:17: PK [rsa:30819f300d06092a]: Verification succeeded
    context.go:17: Found 2 signatures, 2 valid
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash mismatch: "QwejXPqmboTJlZI7lDPb7m3t8Vdun8cvcXRP88nC9FY="
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash mismatch: "QwejXPqmboTJlZI7lDPb7m3t8Vdun8cvcXRP88nC9FY="
    context.go:17: Found 2 signatures, 0 valid
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=brisbane; t=1528637909; h=from : to :
         subject : date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=/gCrinpcQOoIfuHNQIbq4pgh9kyIK3AQUdt9OdqQehSwhEIug4D11Bus
         Fa3bT3FY5OsU7ZbnKELq+eXdp1Q1Dw==
    context.go:17: TXT record for "brisbane._domainkey.football.example.com": "v=DKIM1; k=ed25519; p=11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo="
    context.go:17: Parsed public key: [ed25519:d75a980182b10ab7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\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=football.example.com; i=@football.example.com; q=dns/txt; s=brisbane; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    context.go:17: Resulting hash: "XE2pj1v1lgZ7I33LOQ/2PZrgs1lwuPvvbhPgOcYgCTg="
    context.go:17: PK [ed25519:d75a980182b10ab7]: Verification failed: signature verification failed
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         q=dns/txt; s=test; t=1528637909; h=from : to : subject :
         date : message-id : from : subject : date;
         bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
         b=F45dVWDfMbQDGHJFlXUNB2HKfbCeLRyhDXgFpEL8GwpsRe0IeIixNTe3
         DhCVlUrSjV4BwcVcOF6+FF3Zo9Rpo1tFOeS9mPYQTnGdaSGsgeefOsk2Jz
         dA+L10TeYt9BgDfQNZtKdN1WO//KgIqXP7OdEFE4LjFYNcUxZQ4FADY+8=
    context.go:17: TXT record for "test._domainkey.football.example.com": "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDkHlOQoBTzWRiGs5V6NpP3idY6Wk08a5qhdR6wy5bdOKb2jLQiY/J16JYi0Qvx/byYzCNb3W91y3FutACDfzwQ/BC/e/8uBsCR+yz1Lxj+PL6lHvqMKrM3rG4hstT5QjvHO9PzoxZyVYLzBfO2EeC3Ip3G+2kryOTIKT+l/K4w3QIDAQAB"
    context.go:17: Parsed public key: [rsa:30819f300d06092a]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\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=football.example.com; i=@football.example.com; q=dns/txt; s=test; t=1528637909; h=from : to : subject : date : message-id : from : subject : date; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b="
    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.00s)
=== RUN   TestHeadersToInclude
--- PASS: TestHeadersToInclude (0.00s)
=== RUN   TestAuthenticationResults
--- PASS: TestAuthenticationResults (0.00s)
=== RUN   FuzzParsePublicKey
=== RUN   FuzzParsePublicKey/seed#0
=== RUN   FuzzParsePublicKey/seed#1
=== RUN   FuzzParsePublicKey/seed#2
=== RUN   FuzzParsePublicKey/seed#3
=== RUN   FuzzParsePublicKey/seed#4
=== RUN   FuzzParsePublicKey/seed#5
=== RUN   FuzzParsePublicKey/seed#6
=== RUN   FuzzParsePublicKey/seed#7
=== RUN   FuzzParsePublicKey/seed#8
=== RUN   FuzzParsePublicKey/seed#9
=== RUN   FuzzParsePublicKey/seed#10
=== RUN   FuzzParsePublicKey/seed#11
=== RUN   FuzzParsePublicKey/seed#12
=== RUN   FuzzParsePublicKey/seed#13
--- PASS: FuzzParsePublicKey (0.00s)
    --- PASS: FuzzParsePublicKey/seed#0 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#1 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#2 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#3 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#4 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#5 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#6 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#7 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#8 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#9 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#10 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#11 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#12 (0.00s)
    --- PASS: FuzzParsePublicKey/seed#13 (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/dkim	0.286s
=== RUN   TestBasic
    testlib.go:32: test directory: "/tmp/testlib_534967183"
_ domaininfo.go:117  DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN
_ domaininfo.go:109  DomainInfo.Incoming d1: error: d1 incoming denied: TLS_INSECURE < TLS_SECURE
_ domaininfo.go:153  DomainInfo.Outgoing d1: d1 outgoing level raised: TLS_SECURE > PLAIN
_ domaininfo.go:145  DomainInfo.Outgoing d1: error: d1 outgoing denied: TLS_INSECURE < TLS_SECURE
_ domaininfo.go:109  DomainInfo.Incoming d1: error: d1 incoming denied: TLS_INSECURE < TLS_SECURE
_ domaininfo.go:182  DomainInfo.SetToPlain d1: set to plain
--- PASS: TestBasic (0.00s)
=== RUN   TestNewDomain
    testlib.go:32: test directory: "/tmp/testlib_2763695998"
_ domaininfo.go:153  DomainInfo.Outgoing insecure: insecure outgoing level raised: TLS_INSECURE > PLAIN
_ domaininfo.go:117  DomainInfo.Incoming insecure: insecure incoming level raised: TLS_INSECURE > PLAIN
_ domaininfo.go:153  DomainInfo.Outgoing secure: secure outgoing level raised: TLS_SECURE > PLAIN
_ domaininfo.go:117  DomainInfo.Incoming secure: secure incoming level raised: TLS_SECURE > PLAIN
--- PASS: TestNewDomain (0.00s)
=== RUN   TestProgressions
    testlib.go:32: test directory: "/tmp/testlib_3914182628"
_ domaininfo.go:117  DomainInfo.Incoming pisis: pisis incoming level raised: TLS_INSECURE > PLAIN
_ domaininfo.go:153  DomainInfo.Outgoing pisis: pisis outgoing level raised: TLS_INSECURE > PLAIN
_ domaininfo.go:117  DomainInfo.Incoming pisis: pisis incoming level raised: TLS_SECURE > TLS_INSECURE
_ domaininfo.go:153  DomainInfo.Outgoing pisis: pisis outgoing level raised: TLS_SECURE > TLS_INSECURE
_ domaininfo.go:109  DomainInfo.Incoming pisis: error: pisis incoming denied: TLS_INSECURE < TLS_SECURE
_ domaininfo.go:145  DomainInfo.Outgoing pisis: error: pisis outgoing denied: TLS_INSECURE < TLS_SECURE
_ domaininfo.go:117  DomainInfo.Incoming ssip: ssip incoming level raised: TLS_SECURE > PLAIN
_ domaininfo.go:153  DomainInfo.Outgoing ssip: ssip outgoing level raised: TLS_SECURE > PLAIN
_ domaininfo.go:109  DomainInfo.Incoming ssip: error: ssip incoming denied: TLS_INSECURE < TLS_SECURE
_ domaininfo.go:145  DomainInfo.Outgoing ssip: error: ssip outgoing denied: TLS_INSECURE < TLS_SECURE
_ domaininfo.go:109  DomainInfo.Incoming ssip: error: ssip incoming denied: PLAIN < TLS_SECURE
_ domaininfo.go:145  DomainInfo.Outgoing ssip: error: ssip outgoing denied: PLAIN < TLS_SECURE
--- PASS: TestProgressions (0.00s)
=== RUN   TestErrors
    testlib.go:32: test directory: "/tmp/testlib_3737085539"
_ domaininfo.go:117  DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN
_ domaininfo.go:67   DomainInfo.Reload reload: error: id \"d1\": proto: syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents
_ domaininfo.go:67   DomainInfo.Reload reload: error: id \"d1\": proto: syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents
--- PASS: TestErrors (0.00s)
=== RUN   TestDirectoryErrors
    testlib.go:32: test directory: "/tmp/testlib_266427037"
_ domaininfo.go:59   DomainInfo.Reload reload: error: open /tmp/testlib_266427037/db: no such file or directory
_ domaininfo.go:84   DomainInfo.write d1: error: open /tmp/testlib_266427037/db/.s:d13058171375: no such file or directory
--- PASS: TestDirectoryErrors (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/domaininfo	0.031s
=== RUN   TestUsernameNotSafe
--- PASS: TestUsernameNotSafe (0.00s)
=== RUN   TestAutodetect
    testlib.go:32: test directory: "/tmp/testlib_3114076517"
--- PASS: TestAutodetect (0.00s)
=== RUN   TestReload
--- PASS: TestReload (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/dovecot	0.020s
=== RUN   TestSplit
--- PASS: TestSplit (0.00s)
=== RUN   TestDomainIn
--- PASS: TestDomainIn (0.00s)
=== RUN   TestAddHeader
--- PASS: TestAddHeader (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/envelope	0.007s
=== RUN   TestHandler
--- PASS: TestHandler (0.00s)
=== RUN   TestMapLabelAccident
--- PASS: TestMapLabelAccident (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/expvarom	0.017s
=== RUN   TestNoNewline
--- PASS: TestNoNewline (0.00s)
=== RUN   TestBasic
    haproxy_test.go:69: testing 0: 
    haproxy_test.go:69: testing 1: lalala
    haproxy_test.go:69: testing 2: PROXY
    haproxy_test.go:69: testing 3: PROXY lalala
    haproxy_test.go:69: testing 4: PROXY UNKNOWN
    haproxy_test.go:69: testing 5: PROXY TCP4
    haproxy_test.go:69: testing 6: PROXY TCP4 a
    haproxy_test.go:69: testing 7: PROXY TCP4 a b
    haproxy_test.go:69: testing 8: PROXY TCP4 a b c
    haproxy_test.go:69: testing 9: PROXY TCP4 a b c d
    haproxy_test.go:69: testing 10: PROXY TCP4 1.1.1.1 b c d
    haproxy_test.go:69: testing 11: PROXY TCP4 1.1.1.1 2.2.2.2 c d
    haproxy_test.go:69: testing 12: PROXY TCP4 1.1.1.1 2.2.2.2 3333 d
    haproxy_test.go:69: testing 13: PROXY TCP4 1.1.1.1 2.2.2.2 3333 4444
    haproxy_test.go:69: testing 14: PROXY TCP6 a b c d
    haproxy_test.go:69: testing 15: PROXY TCP6 5::5 b c d
    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.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/haproxy	0.019s
=== RUN   TestBadServer
    asm_arm64.s:1223: FakeServer &{{0x40000cf280}}: accepted 
    asm_arm64.s:1223: FakeServer &{{0x40000cf280}}: readRequest: "" "" / EOF
    asm_arm64.s:1223: FakeServer &{{0x40000cf280}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-891288680/rpc.sock->@: write: broken pipe
    asm_arm64.s:1223: FakeServer &{{0x40000cf280}}: closing
    asm_arm64.s:1223: FakeServer &{{0x40000cf400}}: accepted 
    asm_arm64.s:1223: FakeServer &{{0x40000cf400}}: readRequest: "Echo" "" / <nil>
    asm_arm64.s:1223: FakeServer &{{0x40000cf400}}: writeMessage("xxx"): 3 <nil>
    asm_arm64.s:1223: FakeServer &{{0x40000cf400}}: closing
--- PASS: TestBadServer (0.01s)
=== RUN   TestBadSocket
--- PASS: TestBadSocket (0.00s)
=== RUN   TestEndToEnd
_ localrpc.go:63     LocalRPC.Server /tmp/rpc-test-1847648949/sock: Listening
=== RUN   TestEndToEnd/Echo
=== RUN   TestEndToEnd/Echo#01
=== RUN   TestEndToEnd/Hola
=== RUN   TestEndToEnd/HolaErr
_ 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-1847648949/sock: error: Accept error: accept unix /tmp/rpc-test-1847648949/sock: use of closed network connection
--- PASS: TestEndToEnd (0.01s)
    --- PASS: TestEndToEnd/Echo (0.00s)
    --- PASS: TestEndToEnd/Echo#01 (0.00s)
    --- PASS: TestEndToEnd/Hola (0.00s)
    --- PASS: TestEndToEnd/HolaErr (0.00s)
    --- PASS: TestEndToEnd/UnknownMethod (0.00s)
=== RUN   TestListenError
--- PASS: TestListenError (0.00s)
=== RUN   TestServerBadRequest
_ localrpc.go:139    LocalRPC.Handle pipe: error: -> 500 invalid semicolon separator in query
--- PASS: TestServerBadRequest (0.00s)
=== RUN   TestShortReadRequest
--- PASS: TestShortReadRequest (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/localrpc	0.042s
=== RUN   TestLogger
--- PASS: TestLogger (0.00s)
=== RUN   TestDefault
--- PASS: TestDefault (0.00s)
=== RUN   TestFailedLogger
--- PASS: TestFailedLogger (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/maillog	0.013s
=== RUN   TestContext
--- PASS: TestContext (0.00s)
=== RUN   TestHistogramBasic
--- PASS: TestHistogramBasic (0.00s)
=== RUN   TestHistogramEmpty
--- PASS: TestHistogramEmpty (0.00s)
=== RUN   TestHTTP
--- PASS: TestHTTP (0.01s)
=== RUN   TestHTTPLong
--- PASS: TestHTTPLong (0.00s)
=== RUN   TestHTTPErrors
--- PASS: TestHTTPErrors (0.02s)
=== RUN   TestHTTPUroboro
--- PASS: TestHTTPUroboro (0.02s)
=== RUN   TestHTTPDeep
--- PASS: TestHTTPDeep (0.01s)
=== RUN   TestStripZeros
--- PASS: TestStripZeros (0.00s)
=== RUN   TestRegisterHandler
--- PASS: TestRegisterHandler (0.00s)
=== RUN   TestBasic
--- PASS: TestBasic (0.00s)
=== RUN   TestLong
--- PASS: TestLong (0.00s)
=== RUN   TestIsError
--- PASS: TestIsError (0.00s)
=== RUN   TestFindViaRef
--- PASS: TestFindViaRef (0.00s)
=== RUN   TestMaxEvents
--- PASS: TestMaxEvents (0.00s)
=== RUN   TestFind
--- PASS: TestFind (0.00s)
=== RUN   TestFindParent
--- PASS: TestFindParent (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/nettrace	0.089s
=== RUN   TestUser
--- PASS: TestUser (0.00s)
=== RUN   TestDomain
--- PASS: TestDomain (0.00s)
=== RUN   TestAddr
--- PASS: TestAddr (0.00s)
=== RUN   TestDomainToUnicode
--- PASS: TestDomainToUnicode (0.00s)
=== RUN   TestToCRLF
--- PASS: TestToCRLF (0.00s)
=== RUN   FuzzUser
=== RUN   FuzzUser/263da65bb5a59369f294d26a64a36a989a9a36ed5c60950b123e395bedbe881c
=== RUN   FuzzUser/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1
=== RUN   FuzzUser/6d603c8b9fbe8b9aa021dbde499ec1b3a00922b9338c68b2984cd314c3d5e633
=== RUN   FuzzUser/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32
=== RUN   FuzzUser/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19
--- PASS: FuzzUser (0.00s)
    --- PASS: FuzzUser/263da65bb5a59369f294d26a64a36a989a9a36ed5c60950b123e395bedbe881c (0.00s)
    --- PASS: FuzzUser/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1 (0.00s)
    --- PASS: FuzzUser/6d603c8b9fbe8b9aa021dbde499ec1b3a00922b9338c68b2984cd314c3d5e633 (0.00s)
    --- PASS: FuzzUser/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32 (0.00s)
    --- PASS: FuzzUser/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 (0.00s)
=== RUN   FuzzDomain
=== RUN   FuzzDomain/263da65bb5a59369f294d26a64a36a989a9a36ed5c60950b123e395bedbe881c
=== RUN   FuzzDomain/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1
=== RUN   FuzzDomain/6d603c8b9fbe8b9aa021dbde499ec1b3a00922b9338c68b2984cd314c3d5e633
=== RUN   FuzzDomain/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32
=== RUN   FuzzDomain/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19
--- PASS: FuzzDomain (0.00s)
    --- PASS: FuzzDomain/263da65bb5a59369f294d26a64a36a989a9a36ed5c60950b123e395bedbe881c (0.00s)
    --- PASS: FuzzDomain/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1 (0.00s)
    --- PASS: FuzzDomain/6d603c8b9fbe8b9aa021dbde499ec1b3a00922b9338c68b2984cd314c3d5e633 (0.00s)
    --- PASS: FuzzDomain/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32 (0.00s)
    --- PASS: FuzzDomain/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 (0.00s)
=== RUN   FuzzAddr
=== RUN   FuzzAddr/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1
=== RUN   FuzzAddr/7aba1e0ef80990ccac3731800dbb0267c4c8b7156d4da3b8a5f1b57a570adfb8
=== RUN   FuzzAddr/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32
=== RUN   FuzzAddr/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70
=== RUN   FuzzAddr/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19
--- PASS: FuzzAddr (0.00s)
    --- PASS: FuzzAddr/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1 (0.00s)
    --- PASS: FuzzAddr/7aba1e0ef80990ccac3731800dbb0267c4c8b7156d4da3b8a5f1b57a570adfb8 (0.00s)
    --- PASS: FuzzAddr/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32 (0.00s)
    --- PASS: FuzzAddr/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70 (0.00s)
    --- PASS: FuzzAddr/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19 (0.00s)
=== RUN   FuzzDomainToUnicode
=== RUN   FuzzDomainToUnicode/31400a53be6363c91bf6585789663189fa30b16181c1d18f19708acccc85f4a1
=== RUN   FuzzDomainToUnicode/7aba1e0ef80990ccac3731800dbb0267c4c8b7156d4da3b8a5f1b57a570adfb8
=== RUN   FuzzDomainToUnicode/ccde73fe7b7352806a87cece8eb81867bdeb177019b69a4bb3c7bb5a277b9c32
=== RUN   FuzzDomainToUnicode/d8637022b61fb5c4df4e153063564accd6331debaafdd594405c320a5e9f2e70
=== RUN   FuzzDomainToUnicode/dc0204d8e2ab058a763873d2a5fede806e95235771ecdd96b56c906886822c19
--- 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.009s
=== RUN   TestBin
    testlib.go:32: test directory: "/tmp/testlib_364895336"
--- PASS: TestBin (0.00s)
=== RUN   TestText
    testlib.go:32: test directory: "/tmp/testlib_3671450255"
--- PASS: TestText (0.00s)
=== RUN   TestStore
    testlib.go:32: test directory: "/tmp/testlib_1579638881"
--- PASS: TestStore (0.00s)
=== RUN   TestFileErrors
    testlib.go:32: test directory: "/tmp/testlib_951789990"
--- PASS: TestFileErrors (0.00s)
=== RUN   TestMarshalErrors
    testlib.go:32: test directory: "/tmp/testlib_668006081"
--- PASS: TestMarshalErrors (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/protoio	0.016s
?   	blitiri.com.ar/go/chasquid/internal/protoio/testpb	[no test files]
=== RUN   TestDSN
    dsn_test.go:49: From: Mail Delivery System <postmaster-dsn@dsnDomain>
        To: <from@from.org>
        Subject: Mail delivery failed: returning message to sender
        Message-ID: <chasquid-dsn-gBgQijXw3ao@dsnDomain>
        Date: Wed, 08 Apr 2026 00:58:38 +0000
        In-Reply-To: <msgid-123@zaraza>
        References: <msgid-123@zaraza>
        X-Failed-Recipients: pepe@africa.org, ñaca@africa.org, 
        Auto-Submitted: auto-replied
        MIME-Version: 1.0
        Content-Type: multipart/report; report-type=delivery-status;
            boundary="x7Njdp1l1KM"
        
        
        --x7Njdp1l1KM
        Content-Type: text/plain; charset="utf-8"
        Content-Disposition: inline
        Content-Description: Notification
        Content-Transfer-Encoding: 8bit
        
        Delivery of your message to the following recipient(s) failed permanently:
        
          - pepe@africa.org
          - ñaca@africa.org
        
        
        Technical details:
        - "poe@rcpt" (EMAIL) failed permanently with error:
            oh! horror!
        - "muchos@rcpt" (EMAIL) failed permanently with error:
            550 5.7.1 [11:22:33:44::1] Our system has detected that this
            5.7.1 message is likely unsolicited mail. To reduce the amount of spam sent
            5.7.1 to BlahMail, this message has been blocked. Please visit
            5.7.1  https://support.blah/mail/?p=UnsolicitedMessageError
            5.7.1  for more information. a1b2c3a1b2c3a1b.123 - bsmtp
        - "newman@rcpt" (EMAIL) failed repeatedly and timed out, last error:
            oh! the humanity!
        
        
        --x7Njdp1l1KM
        Content-Type: message/global-delivery-status
        Content-Description: Delivery Report
        Content-Transfer-Encoding: 8bit
        
        Reporting-MTA: dns; dsnDomain
        
        Original-Recipient: utf-8; ñaca@africa.org
        Final-Recipient: utf-8; poe@rcpt
        Action: failed
        Status: 5.0.0
        Diagnostic-Code: smtp; oh! horror!
        
        Original-Recipient: utf-8; pepe@africa.org
        Final-Recipient: utf-8; muchos@rcpt
        Action: failed
        Status: 5.0.0
        Diagnostic-Code: smtp; 550 5.7.1 [11:22:33:44::1] Our system has detected that this
            5.7.1 message is likely unsolicited mail. To reduce the amount of spam sent
            5.7.1 to BlahMail, this message has been blocked. Please visit
            5.7.1  https://support.blah/mail/?p=UnsolicitedMessageError
            5.7.1  for more information. a1b2c3a1b2c3a1b.123 - bsmtp
        
        Original-Recipient: utf-8; ñaca@africa.org
        Final-Recipient: utf-8; newman@rcpt
        Action: failed
        Status: 4.0.0
        Diagnostic-Code: smtp; oh! the humanity!
        
        
        
        --x7Njdp1l1KM
        Content-Type: message/rfc822
        Content-Description: Undelivered Message
        Content-Transfer-Encoding: 8bit
        
        Message-ID: <msgid-123@zaraza>
        
        Data ñaca.
        
        
        --x7Njdp1l1KM--
        
--- PASS: TestDSN (0.00s)
=== RUN   TestBasic
    testlib.go:32: test directory: "/tmp/testlib_1071782253"
_ queue.go:308       Queue.SendLoop zhe23NBDnoI: from from
_ queue.go:367       Queue.SendLoop zhe23NBDnoI: nodomain sent
_ queue.go:367       Queue.SendLoop zhe23NBDnoI: am@loco sent
_ queue.go:367       Queue.SendLoop zhe23NBDnoI: x@remote sent
_ queue.go:342       Queue.SendLoop zhe23NBDnoI: all done
--- PASS: TestBasic (0.02s)
=== RUN   TestDSNOnTimeout
    testlib.go:32: test directory: "/tmp/testlib_1722498038"
_ queue.go:308       Queue.SendLoop Z7ST7QCPxEo: from from@loco
_ queue.go:467       Queue.SendLoop Z7ST7QCPxEo: queued DSN: 3MfVL3YJ42w
_ queue.go:342       Queue.SendLoop Z7ST7QCPxEo: all done
_ queue.go:308       Queue.SendLoop 3MfVL3YJ42w: from <>
_ queue.go:367       Queue.SendLoop 3MfVL3YJ42w: from@loco sent
_ queue.go:342       Queue.SendLoop 3MfVL3YJ42w: all done
--- PASS: TestDSNOnTimeout (0.00s)
=== RUN   TestAliases
    testlib.go:32: test directory: "/tmp/testlib_1541674076"
_ queue.go:308       Queue.SendLoop UoKRepUch-M: from from
_ queue.go:367       Queue.SendLoop UoKRepUch-M: ata@hualpa sent
_ queue.go:367       Queue.SendLoop UoKRepUch-M: pq@loco sent
--- PASS: TestAliases (0.00s)
=== RUN   TestFullQueue
_ queue.go:367       Queue.SendLoop UoKRepUch-M: rs@loco sent
    testlib.go:32: test directory: "/tmp/testlib_1899630110"
_ queue.go:342       Queue.SendLoop UoKRepUch-M: all done
_ queue.go:164       Queue.Put from: error: queue full
--- PASS: TestFullQueue (0.00s)
=== RUN   TestPipes
_ queue.go:308       Queue.SendLoop 9fD5cHGdGW4: from from
_ queue.go:367       Queue.SendLoop 9fD5cHGdGW4: to sent
    testlib.go:32: test directory: "/tmp/testlib_923508010"
_ queue.go:375       Queue.SendLoop 9fD5cHGdGW4: error: failed to write: open /tmp/testlib_1899630110/.m:9fD5cHGdGW44237049664: no such file or directory
_ queue.go:342       Queue.SendLoop 9fD5cHGdGW4: all done
E queue.go:230       failed to remove queue file "/tmp/testlib_1899630110/m:9fD5cHGdGW4": remove /tmp/testlib_1899630110/m:9fD5cHGdGW4: no such file or directory
--- PASS: TestPipes (0.00s)
=== RUN   TestBadPath
--- PASS: TestBadPath (0.00s)
=== RUN   TestNextDelay
--- PASS: TestNextDelay (0.00s)
=== RUN   TestSerialization
    testlib.go:32: test directory: "/tmp/testlib_2690020296"
_ queue.go:308       Queue.SendLoop F2tN6SUhUCc: from from@loco
_ queue.go:367       Queue.SendLoop F2tN6SUhUCc: to@to sent
_ queue.go:342       Queue.SendLoop F2tN6SUhUCc: all done
--- PASS: TestSerialization (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/queue	0.054s
=== RUN   TestWriteFile
    testlib.go:32: test directory: "/tmp/testlib_36065046"
--- PASS: TestWriteFile (0.00s)
=== RUN   TestWriteFileWithOp
    testlib.go:32: test directory: "/tmp/testlib_357581025"
--- PASS: TestWriteFileWithOp (0.00s)
=== RUN   TestWriteFileWithFailingOp
    testlib.go:32: test directory: "/tmp/testlib_2434416752"
--- PASS: TestWriteFileWithFailingOp (0.00s)
=== RUN   TestErrors
    testlib.go:32: test directory: "/tmp/testlib_1397371707"
--- PASS: TestErrors (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/safeio	0.017s
=== RUN   TestString
--- PASS: TestString (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/set	0.006s
=== RUN   TestIsPermanent
--- PASS: TestIsPermanent (0.00s)
=== RUN   TestIsASCII
--- PASS: TestIsASCII (0.00s)
=== RUN   TestBasic
--- PASS: TestBasic (0.00s)
=== RUN   TestSMTPUTF8
--- PASS: TestSMTPUTF8 (0.00s)
=== RUN   TestSMTPUTF8NotSupported
--- PASS: TestSMTPUTF8NotSupported (0.00s)
=== RUN   TestFallbackToIDNA
--- PASS: TestFallbackToIDNA (0.00s)
=== RUN   TestLineTooLong
--- PASS: TestLineTooLong (0.01s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/smtp	0.031s
_ server.go:300      Server listening on 127.0.0.1:34721 (SMTP)
2026-04-08 00:58:39.869752 daemon listening on 127.0.0.1:34721
_ server.go:300      Server listening on 127.0.0.1:33049 (submission)
2026-04-08 00:58:39.869838 daemon listening on 127.0.0.1:33049
_ server.go:300      Server listening on 127.0.0.1:34971 (submission+TLS)
2026-04-08 00:58:39.869857 daemon listening on 127.0.0.1:34971
=== RUN   TestSecLevel
_ conn.go:209        SMTP.Conn 127.0.0.1:41734: error: error completing TLS handshake: EOF
_ domaininfo.go:117  DomainInfo.Incoming slc: slc incoming level raised: TLS_CLIENT > PLAIN
_ domaininfo.go:109  DomainInfo.Incoming slc: error: slc incoming denied: PLAIN < TLS_CLIENT
_ conn.go:559        testconn testconn: error: security level check for slc failed (PLAIN)
--- PASS: TestSecLevel (0.00s)
=== RUN   TestIsHeader
--- PASS: TestIsHeader (0.00s)
=== RUN   TestAddrLiteral
--- PASS: TestAddrLiteral (0.00s)
=== RUN   TestSanitizeEHLODomain
--- PASS: TestSanitizeEHLODomain (0.00s)
=== RUN   TestReadUntilDot
--- PASS: TestReadUntilDot (0.00s)
=== RUN   TestReadUntilDotReadError
--- PASS: TestReadUntilDotReadError (0.00s)
=== RUN   TestSimple
_ conn.go:722        SMTP.Conn 127.0.0.1:37038: Queued from from@from to [to@localhost] - -DfjYY32UnA
2026-04-08 00:58:39.975337 -DfjYY32UnA from=from@from queued ip=127.0.0.1:37038 to=[to@localhost]
_ queue.go:308       Queue.SendLoop -DfjYY32UnA: from from@from
_ queue.go:367       Queue.SendLoop -DfjYY32UnA: testuser@localhost sent
2026-04-08 00:58:39.975655 -DfjYY32UnA from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop -DfjYY32UnA: all done
2026-04-08 00:58:39.975847 -DfjYY32UnA from=from@from all done
--- PASS: TestSimple (0.00s)
=== RUN   TestSimpleTLS
_ conn.go:722        SMTP.Conn 127.0.0.1:37050: Queued from from@from to [to@localhost] - Iulg2bnudIw
2026-04-08 00:58:39.979490 Iulg2bnudIw from=from@from queued ip=127.0.0.1:37050 to=[to@localhost]
_ queue.go:308       Queue.SendLoop Iulg2bnudIw: from from@from
_ queue.go:367       Queue.SendLoop Iulg2bnudIw: testuser@localhost sent
2026-04-08 00:58:39.979634 Iulg2bnudIw from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop Iulg2bnudIw: all done
2026-04-08 00:58:39.979901 Iulg2bnudIw from=from@from all done
--- PASS: TestSimpleTLS (0.00s)
=== RUN   TestManyEmails
_ conn.go:722        SMTP.Conn 127.0.0.1:37054: Queued from from@from to [to@localhost] - iaCXqaYNEsA
2026-04-08 00:58:39.983485 iaCXqaYNEsA from=from@from queued ip=127.0.0.1:37054 to=[to@localhost]
_ queue.go:308       Queue.SendLoop iaCXqaYNEsA: from from@from
_ queue.go:367       Queue.SendLoop iaCXqaYNEsA: testuser@localhost sent
2026-04-08 00:58:39.983596 iaCXqaYNEsA from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop iaCXqaYNEsA: all done
2026-04-08 00:58:39.983711 iaCXqaYNEsA from=from@from all done
_ conn.go:722        SMTP.Conn 127.0.0.1:37054: Queued from from@from to [to@localhost] - e2ZS89nTJIw
2026-04-08 00:58:39.984206 e2ZS89nTJIw from=from@from queued ip=127.0.0.1:37054 to=[to@localhost]
_ queue.go:308       Queue.SendLoop e2ZS89nTJIw: from from@from
_ queue.go:367       Queue.SendLoop e2ZS89nTJIw: testuser@localhost sent
2026-04-08 00:58:39.984293 e2ZS89nTJIw from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop e2ZS89nTJIw: all done
2026-04-08 00:58:39.984395 e2ZS89nTJIw from=from@from all done
_ conn.go:722        SMTP.Conn 127.0.0.1:37054: Queued from from@from to [to@localhost] - 0qy2jE4PROI
2026-04-08 00:58:39.984757 0qy2jE4PROI from=from@from queued ip=127.0.0.1:37054 to=[to@localhost]
_ queue.go:308       Queue.SendLoop 0qy2jE4PROI: from from@from
_ queue.go:367       Queue.SendLoop 0qy2jE4PROI: testuser@localhost sent
2026-04-08 00:58:39.984860 0qy2jE4PROI from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop 0qy2jE4PROI: all done
2026-04-08 00:58:39.984969 0qy2jE4PROI from=from@from all done
--- PASS: TestManyEmails (0.01s)
=== RUN   TestAuth
2026-04-08 00:58:40.090358 127.0.0.1:51024 auth succeeded for testuser@localhost
_ conn.go:722        SMTP.Conn 127.0.0.1:51024: Queued from testuser@localhost to [to@localhost] - 4zRbAsESvhE
2026-04-08 00:58:40.091053 4zRbAsESvhE from=testuser@localhost queued ip=127.0.0.1:51024 to=[to@localhost]
_ queue.go:308       Queue.SendLoop 4zRbAsESvhE: from testuser@localhost
_ queue.go:367       Queue.SendLoop 4zRbAsESvhE: testuser@localhost sent
2026-04-08 00:58:40.091162 4zRbAsESvhE from=testuser@localhost to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop 4zRbAsESvhE: all done
2026-04-08 00:58:40.091296 4zRbAsESvhE from=testuser@localhost all done
--- PASS: TestAuth (0.11s)
=== RUN   TestSubmissionWithoutAuth
_ conn.go:318        SMTP.Conn 127.0.0.1:51028: error: MAIL failed: 550  5.7.9 Mail to submission port must be authenticated
--- PASS: TestSubmissionWithoutAuth (0.00s)
=== RUN   TestAuthOnTLS
2026-04-08 00:58:40.198676 127.0.0.1:41750 auth succeeded for testuser@localhost
_ conn.go:722        SMTP.Conn 127.0.0.1:41750: Queued from testuser@localhost to [to@localhost] - KEstFAS34p4
2026-04-08 00:58:40.199283 KEstFAS34p4 from=testuser@localhost queued ip=127.0.0.1:41750 to=[to@localhost]
_ queue.go:308       Queue.SendLoop KEstFAS34p4: from testuser@localhost
_ queue.go:367       Queue.SendLoop KEstFAS34p4: testuser@localhost sent
2026-04-08 00:58:40.199424 KEstFAS34p4 from=testuser@localhost to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop KEstFAS34p4: all done
2026-04-08 00:58:40.199582 KEstFAS34p4 from=testuser@localhost all done
--- PASS: TestAuthOnTLS (0.11s)
=== RUN   TestAuthOnSMTP
2026-04-08 00:58:40.304296 127.0.0.1:37068 auth succeeded for testuser@localhost
_ conn.go:722        SMTP.Conn 127.0.0.1:37068: Queued from testuser@localhost to [to@localhost] - GgA6Beq_iNE
2026-04-08 00:58:40.305367 GgA6Beq_iNE from=testuser@localhost queued ip=127.0.0.1:37068 to=[to@localhost]
_ queue.go:308       Queue.SendLoop GgA6Beq_iNE: from testuser@localhost
_ queue.go:367       Queue.SendLoop GgA6Beq_iNE: testuser@localhost sent
2026-04-08 00:58:40.305511 GgA6Beq_iNE from=testuser@localhost to=testuser@localhost sent
--- PASS: TestAuthOnSMTP (0.11s)
=== RUN   TestBrokenAuth
_ queue.go:342       Queue.SendLoop GgA6Beq_iNE: all done
2026-04-08 00:58:40.305715 GgA6Beq_iNE from=testuser@localhost all done
_ conn.go:1193       SMTP.Conn 127.0.0.1:51042: error: error authenticating \"user\"@\"broken\": failed to auth
2026-04-08 00:58:40.419915 127.0.0.1:51042 auth failed for user@broken
_ conn.go:318        SMTP.Conn 127.0.0.1:51042: error: AUTH failed: 454  4.7.0 Temporary authentication failure
_ conn.go:318        SMTP.Conn 127.0.0.1:51042: error: unknown<\"*\"> failed: 500  5.5.1 Unknown command
--- PASS: TestBrokenAuth (0.11s)
=== RUN   TestWrongMailParsing
_ conn.go:318        SMTP.Conn 127.0.0.1:37074: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:37074: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:37074: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:37074: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:37088: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:37088: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:37088: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:37088: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:37102: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:37102: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:37102: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:37102: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:37110: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:37110: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:37110: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:37110: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:37120: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:37120: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:37120: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:37120: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:37130: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:37130: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:37130: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:37130: error: too many errors, breaking connection
--- PASS: TestWrongMailParsing (0.00s)
=== RUN   TestNullMailFrom
--- PASS: TestNullMailFrom (0.00s)
=== RUN   TestRcptBeforeMail
_ conn.go:318        SMTP.Conn 127.0.0.1:37148: error: RCPT failed: 503  5.5.1 Sender not yet given
--- PASS: TestRcptBeforeMail (0.00s)
=== RUN   TestRcptOption
--- PASS: TestRcptOption (0.00s)
=== RUN   TestRelayForbidden
2026-04-08 00:58:40.432156 127.0.0.1:37172 rejected from=from@somewhere to=[to@somewhere] - relay not allowed
_ conn.go:318        SMTP.Conn 127.0.0.1:37172: error: RCPT failed: 503  5.7.1 Relay not allowed
--- PASS: TestRelayForbidden (0.00s)
=== RUN   TestTooManyRecipients
2026-04-08 00:58:40.543873 127.0.0.1:51048 auth succeeded for testuser@localhost
_ conn.go:318        SMTP.Conn 127.0.0.1:51048: error: RCPT failed: 452  4.5.3 Too many recipients
--- PASS: TestTooManyRecipients (0.12s)
=== RUN   TestRcptBrokenExists
_ conn.go:622        SMTP.Conn 127.0.0.1:37178: error: error checking if user \"to@broken\" exists: failed to check if user exists
2026-04-08 00:58:40.557276 127.0.0.1:37178 rejected from=from@localhost to=[to@broken] - error checking if user exists: failed to check if user exists
_ conn.go:318        SMTP.Conn 127.0.0.1:37178: error: RCPT failed: 451  4.4.3 Temporary error checking address
--- PASS: TestRcptBrokenExists (0.01s)
=== RUN   TestRcptUserDoesNotExist
2026-04-08 00:58:40.563215 127.0.0.1:37190 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist
_ conn.go:318        SMTP.Conn 127.0.0.1:37190: error: RCPT failed: 550  5.1.1 Destination address is unknown (user does not exist)
--- PASS: TestRcptUserDoesNotExist (0.01s)
=== RUN   TestTooMuchData
_ conn.go:722        SMTP.Conn 127.0.0.1:37192: Queued from from@from to [to@localhost] - odmO75q8ZjY
2026-04-08 00:58:40.695426 odmO75q8ZjY from=from@from queued ip=127.0.0.1:37192 to=[to@localhost]
_ queue.go:308       Queue.SendLoop odmO75q8ZjY: from from@from
_ queue.go:367       Queue.SendLoop odmO75q8ZjY: testuser@localhost sent
2026-04-08 00:58:40.695561 odmO75q8ZjY from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop odmO75q8ZjY: all done
2026-04-08 00:58:40.711062 odmO75q8ZjY from=from@from all done
_ conn.go:722        SMTP.Conn 127.0.0.1:37192: Queued from from@from to [to@localhost] - RgOWWY4Pd1M
2026-04-08 00:58:40.833411 RgOWWY4Pd1M from=from@from queued ip=127.0.0.1:37192 to=[to@localhost]
_ queue.go:308       Queue.SendLoop RgOWWY4Pd1M: from from@from
_ queue.go:367       Queue.SendLoop RgOWWY4Pd1M: testuser@localhost sent
2026-04-08 00:58:40.833666 RgOWWY4Pd1M from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop RgOWWY4Pd1M: all done
2026-04-08 00:58:40.866241 RgOWWY4Pd1M from=from@from all done
_ conn.go:318        SMTP.Conn 127.0.0.1:37192: error: DATA failed: 552  5.3.4 Message too big
_ conn.go:722        SMTP.Conn 127.0.0.1:37192: Queued from from@from to [to@localhost] - N03pT3Z6lKU
2026-04-08 00:58:41.036637 N03pT3Z6lKU from=from@from queued ip=127.0.0.1:37192 to=[to@localhost]
_ queue.go:308       Queue.SendLoop N03pT3Z6lKU: from from@from
_ queue.go:367       Queue.SendLoop N03pT3Z6lKU: testuser@localhost sent
2026-04-08 00:58:41.036771 N03pT3Z6lKU from=from@from to=testuser@localhost sent
--- PASS: TestTooMuchData (0.47s)
=== RUN   TestSimpleCommands
_ conn.go:318        SMTP.Conn 127.0.0.1:37202: error: VRFY failed: 502  5.5.1 You have a strange feeling for a moment, then it passes.
_ conn.go:318        SMTP.Conn 127.0.0.1:37202: error: EXPN failed: 502  5.5.1 You feel disoriented for a moment.
--- PASS: TestSimpleCommands (0.00s)
=== RUN   TestLongLines
_ conn.go:318        SMTP.Conn 127.0.0.1:37206: error: unknown<\"\"> failed: 500  5.5.1 Unknown command
_ conn.go:348        SMTP.Conn 127.0.0.1:37206: error: exiting with error: line too long
--- PASS: TestLongLines (0.00s)
=== RUN   TestReset
--- PASS: TestReset (0.00s)
=== RUN   TestRepeatedStartTLS
_ conn.go:318        SMTP.Conn 127.0.0.1:37216: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
--- PASS: TestRepeatedStartTLS (0.00s)
=== RUN   TestStartTLSOnTLS
_ conn.go:318        SMTP.Conn 127.0.0.1:41752: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
--- PASS: TestStartTLSOnTLS (0.00s)
=== RUN   TestAddDKIMSigner
    testlib.go:32: test directory: "/tmp/testlib_4140972162"
_ queue.go:342       Queue.SendLoop N03pT3Z6lKU: all done
2026-04-08 00:58:41.049366 N03pT3Z6lKU from=from@from all done
--- PASS: TestAddDKIMSigner (0.01s)
=== RUN   FuzzConnection
--- PASS: FuzzConnection (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/smtpsrv	1.396s
=== RUN   TestParsePolicy
    sts_test.go:90: pol1: &{Version:STSv1 Mode:enforce MXs:[*.mail.example.com] MaxAge:34h17m36s}
--- PASS: TestParsePolicy (0.00s)
=== RUN   TestCheckPolicy
--- PASS: TestCheckPolicy (0.00s)
=== RUN   TestMatchDomain
--- PASS: TestMatchDomain (0.00s)
=== RUN   TestMXIsAllowed
--- PASS: TestMXIsAllowed (0.00s)
=== RUN   TestFetch
    sts_test.go:203: domain.com: &{Version:STSv1 Mode:enforce MXs:[*.mail.domain.com] MaxAge:1h0m0s}
    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)
=== RUN   TestPolicyTooBig
    sts_test.go:242: got error as expected: MTA-STS TXT record missing
--- PASS: TestPolicyTooBig (0.03s)
=== RUN   TestCacheBasics
    testlib.go:32: test directory: "/tmp/testlib_1321711281"
    sts_test.go:277: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:286: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:300: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:309: cache fetched domErr: <nil>
--- PASS: TestCacheBasics (0.00s)
=== RUN   TestCacheBadData
    testlib.go:32: test directory: "/tmp/testlib_3074643416"
    sts_test.go:349: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:363: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:372: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    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.00s)
=== RUN   TestCacheRefresh
    testlib.go:32: test directory: "/tmp/testlib_3749081603"
    sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s}
    sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s}
    sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 3m20s}
--- PASS: TestCacheRefresh (0.01s)
=== RUN   TestCacheSlashSafe
    testlib.go:32: test directory: "/tmp/testlib_1658031575"
    sts_test.go:464: recovered: domain contains slash
--- PASS: TestCacheSlashSafe (0.00s)
=== RUN   TestURLForDomain
--- PASS: TestURLForDomain (0.00s)
=== RUN   TestHasSTSRecord
--- PASS: TestHasSTSRecord (0.00s)
=== RUN   TestHTTPGet
--- PASS: TestHTTPGet (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/sts	0.078s
=== RUN   TestBasic
    testlib.go:32: test directory: "/tmp/testlib_688927438"
--- PASS: TestBasic (0.00s)
=== RUN   TestRemoveCheck
    testlib_test.go:33: recovered: invalid/dangerous directory
--- PASS: TestRemoveCheck (0.00s)
=== RUN   TestLeaveDirOnError
--- PASS: TestLeaveDirOnError (0.00s)
=== RUN   TestRewriteSafeguard
    testlib_test.go:60: recovered: invalid/dangerous path
--- PASS: TestRewriteSafeguard (0.00s)
=== RUN   TestRewrite
    testlib.go:32: test directory: "/tmp/testlib_2616372450"
--- PASS: TestRewrite (0.00s)
=== RUN   TestGetFreePort
--- PASS: TestGetFreePort (0.00s)
=== RUN   TestWaitFor
--- PASS: TestWaitFor (0.02s)
=== RUN   TestGenerateCert
    testlib.go:32: test directory: "/tmp/testlib_1563820797"
--- PASS: TestGenerateCert (0.11s)
=== RUN   TestGenerateCertBadDir
--- PASS: TestGenerateCertBadDir (0.15s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/testlib	0.305s
=== RUN   TestVersionName
--- PASS: TestVersionName (0.00s)
=== RUN   TestCipherSuiteName
--- PASS: TestCipherSuiteName (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/tlsconst	0.011s
?   	blitiri.com.ar/go/chasquid/internal/trace	[no test files]
=== RUN   TestEmptyLoad
    userdb_test.go:37: file: "/tmp/userdb_test4117337368"
    userdb_test.go:37: file: "/tmp/userdb_test3098966926"
--- PASS: TestEmptyLoad (0.00s)
=== RUN   TestWrite
    userdb_test.go:37: file: "/tmp/userdb_test896855018"
--- PASS: TestWrite (0.46s)
=== RUN   TestNew
--- PASS: TestNew (0.06s)
=== RUN   TestInvalidUsername
    userdb_test.go:37: file: "/tmp/userdb_test3906847109"
--- PASS: TestInvalidUsername (0.00s)
=== RUN   TestPlainScheme
    userdb_test.go:37: file: "/tmp/userdb_test62646432"
--- PASS: TestPlainScheme (0.00s)
=== RUN   TestDeniedScheme
    userdb_test.go:37: file: "/tmp/userdb_test1655007170"
--- PASS: TestDeniedScheme (0.00s)
=== RUN   TestReload
    userdb_test.go:37: file: "/tmp/userdb_test2029650761"
--- PASS: TestReload (0.00s)
=== RUN   TestRemoveUser
    userdb_test.go:37: file: "/tmp/userdb_test250974904"
--- PASS: TestRemoveUser (0.05s)
=== RUN   TestExists
    userdb_test.go:37: file: "/tmp/userdb_test633767425"
--- PASS: TestExists (0.07s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/userdb	0.649s
   create-stamp debian/debhelper-build-stamp
   dh_testroot -O--buildsystem=golang
   dh_prep -O--buildsystem=golang
   dh_installdirs -O--buildsystem=golang
   debian/rules override_dh_auto_install
make[1]: Entering directory '/build/reproducible-path/chasquid-1.15.0'
dh_auto_install -- --no-source
	cd obj-aarch64-linux-gnu && mkdir -p /build/reproducible-path/chasquid-1.15.0/debian/chasquid/usr
	cd obj-aarch64-linux-gnu && cp -r bin /build/reproducible-path/chasquid-1.15.0/debian/chasquid/usr
make[1]: Leaving directory '/build/reproducible-path/chasquid-1.15.0'
   dh_install -O--buildsystem=golang
   debian/rules override_dh_installdocs
make[1]: Entering directory '/build/reproducible-path/chasquid-1.15.0'
# Some entries in docs/ are symlinks; replace them with copies so
# dh_installdocs doesn't leave dangling links.
cp -r docs/ .tmpdocs/
cp README.md .tmpdocs/
( cd .tmpdocs/; for f in `find . -type l`; do \
	cp --remove-destination `readlink $f` $f; done )
dh_installdocs .tmpdocs/*
rm -r .tmpdocs/
make[1]: Leaving directory '/build/reproducible-path/chasquid-1.15.0'
   debian/rules override_dh_installchangelogs
make[1]: Entering directory '/build/reproducible-path/chasquid-1.15.0'
dh_installchangelogs -k docs/relnotes.md
make[1]: Leaving directory '/build/reproducible-path/chasquid-1.15.0'
   dh_installman -O--buildsystem=golang
   debian/rules override_dh_installsystemd
make[1]: Entering directory '/build/reproducible-path/chasquid-1.15.0'
dh_installsystemd --name chasquid chasquid.service
dh_installsystemd --name chasquid --no-enable chasquid-smtp.socket
dh_installsystemd --name chasquid --no-enable \
            chasquid-submission.socket
dh_installsystemd --name chasquid --no-enable \
            chasquid-submission_tls.socket
make[1]: Leaving directory '/build/reproducible-path/chasquid-1.15.0'
   dh_installsystemduser -O--buildsystem=golang
   dh_perl -O--buildsystem=golang
   dh_link -O--buildsystem=golang
   dh_strip_nondeterminism -O--buildsystem=golang
   dh_compress -O--buildsystem=golang
   dh_fixperms -O--buildsystem=golang
   dh_missing -O--buildsystem=golang
   dh_strip -a -O--buildsystem=golang
   dh_makeshlibs -a -O--buildsystem=golang
   dh_shlibdeps -a -O--buildsystem=golang
   dh_installdeb -O--buildsystem=golang
   dh_golang -O--buildsystem=golang
   dh_gencontrol -O--buildsystem=golang
dpkg-gencontrol: warning: package chasquid: substitution variable ${misc:Static-Built-Using} unused, but is defined
dpkg-gencontrol: warning: package chasquid: substitution variable ${misc:Static-Built-Using} unused, but is defined
   dh_md5sums -O--buildsystem=golang
   dh_builddeb -O--buildsystem=golang
dpkg-deb: building package 'chasquid-dbgsym' in '../chasquid-dbgsym_1.15.0-1_arm64.deb'.
dpkg-deb: building package 'chasquid' in '../chasquid_1.15.0-1_arm64.deb'.
 dpkg-genbuildinfo --build=binary -O../chasquid_1.15.0-1_arm64.buildinfo
 dpkg-genchanges --build=binary -O../chasquid_1.15.0-1_arm64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
dpkg-genchanges: info: including full source code in upload
I: copying local configuration
I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/B01_cleanup starting
I: user script /srv/workspace/pbuilder/3396088/tmp/hooks/B01_cleanup finished
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: cleaning the build env 
I: removing directory /srv/workspace/pbuilder/3396088 and its subdirectories
I: Current time: Wed Apr  8 14:59:01 +14 2026
I: pbuilder-time-stamp: 1775609941