I: pbuilder: network access will be disabled during build
I: Current time: Mon Apr  6 01:28:09 +14 2026
I: pbuilder-time-stamp: 1775388489
I: Building the build Environment
I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz]
I: copying local configuration
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/3221856/tmp/hooks/D01_modify_environment starting
debug: Running on codethink03-arm64.
I: Changing host+domainname to test build reproducibility
I: Adding a custom variable just for the fun of it...
I: Changing /bin/sh to bash
'/bin/sh' -> '/bin/bash'
lrwxrwxrwx 1 root root 9 Apr  5 11:28 /bin/sh -> /bin/bash
I: Setting pbuilder2's login shell to /bin/bash
I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other
I: user script /srv/workspace/pbuilder/3221856/tmp/hooks/D01_modify_environment finished
I: user script /srv/workspace/pbuilder/3221856/tmp/hooks/D02_print_environment starting
I: set
  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=unstable
  EUID=0
  FUNCNAME=([0]="Echo" [1]="main")
  GROUPS=()
  HOME=/root
  HOSTNAME=i-capture-the-hostname
  HOSTTYPE=aarch64
  HOST_ARCH=arm64
  IFS=' 	
  '
  INVOCATION_ID=c7885dde8e4846f6903d8d567741c05f
  LANG=C
  LANGUAGE=nl_BE:nl
  LC_ALL=C
  MACHTYPE=aarch64-unknown-linux-gnu
  MAIL=/var/mail/root
  OPTERR=1
  OPTIND=1
  OSTYPE=linux-gnu
  PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path
  PBCURRENTCOMMANDLINEOPERATION=build
  PBUILDER_OPERATION=build
  PBUILDER_PKGDATADIR=/usr/share/pbuilder
  PBUILDER_PKGLIBDIR=/usr/lib/pbuilder
  PBUILDER_SYSCONFDIR=/etc
  PIPESTATUS=([0]="0")
  POSIXLY_CORRECT=y
  PPID=3221856
  PS4='+ '
  PWD=/
  SHELL=/bin/bash
  SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix
  SHLVL=3
  SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.wqXNL8h6/pbuilderrc_HZDa --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.wqXNL8h6/b2 --logfile b2/build.log chasquid_1.15.0-1.dsc'
  SUDO_GID=109
  SUDO_UID=104
  SUDO_USER=jenkins
  TERM=unknown
  TZ=/usr/share/zoneinfo/Etc/GMT-14
  UID=0
  USER=root
  _='I: set'
  http_proxy=http://192.168.101.4:3128
I: uname -a
  Linux 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/3221856/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 ... 19892 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 unstable/main arm64 sensible-utils all 0.0.24 [24.8 kB]
Get: 2 http://deb.debian.org/debian unstable/main arm64 libmagic-mgc arm64 1:5.45-3+b1 [314 kB]
Get: 3 http://deb.debian.org/debian unstable/main arm64 libmagic1t64 arm64 1:5.45-3+b1 [102 kB]
Get: 4 http://deb.debian.org/debian unstable/main arm64 file arm64 1:5.45-3+b1 [43.4 kB]
Get: 5 http://deb.debian.org/debian unstable/main arm64 gettext-base arm64 0.23.1-1 [241 kB]
Get: 6 http://deb.debian.org/debian unstable/main arm64 libuchardet0 arm64 0.0.8-1+b2 [69.2 kB]
Get: 7 http://deb.debian.org/debian unstable/main arm64 groff-base arm64 1.23.0-7 [1129 kB]
Get: 8 http://deb.debian.org/debian unstable/main arm64 bsdextrautils arm64 2.40.4-5 [92.0 kB]
Get: 9 http://deb.debian.org/debian unstable/main arm64 libpipeline1 arm64 1.5.8-1 [40.2 kB]
Get: 10 http://deb.debian.org/debian unstable/main arm64 man-db arm64 2.13.0-1 [1404 kB]
Get: 11 http://deb.debian.org/debian unstable/main arm64 m4 arm64 1.4.19-5 [284 kB]
Get: 12 http://deb.debian.org/debian unstable/main arm64 autoconf all 2.72-3 [493 kB]
Get: 13 http://deb.debian.org/debian unstable/main arm64 autotools-dev all 20220109.1 [51.6 kB]
Get: 14 http://deb.debian.org/debian unstable/main arm64 automake all 1:1.17-3 [862 kB]
Get: 15 http://deb.debian.org/debian unstable/main arm64 autopoint all 0.23.1-1 [770 kB]
Get: 16 http://deb.debian.org/debian unstable/main arm64 binutils-gold-aarch64-linux-gnu arm64 2.44-1 [1704 kB]
Get: 17 http://deb.debian.org/debian unstable/main arm64 binutils-gold arm64 2.44-1 [202 kB]
Get: 18 http://deb.debian.org/debian unstable/main arm64 libdebhelper-perl all 13.24.1 [90.9 kB]
Get: 19 http://deb.debian.org/debian unstable/main arm64 libtool all 2.5.4-3 [539 kB]
Get: 20 http://deb.debian.org/debian unstable/main arm64 dh-autoreconf all 20 [17.1 kB]
Get: 21 http://deb.debian.org/debian unstable/main arm64 libarchive-zip-perl all 1.68-1 [104 kB]
Get: 22 http://deb.debian.org/debian unstable/main arm64 libfile-stripnondeterminism-perl all 1.14.1-2 [19.7 kB]
Get: 23 http://deb.debian.org/debian unstable/main arm64 dh-strip-nondeterminism all 1.14.1-2 [8620 B]
Get: 24 http://deb.debian.org/debian unstable/main arm64 libelf1t64 arm64 0.192-4 [189 kB]
Get: 25 http://deb.debian.org/debian unstable/main arm64 dwz arm64 0.15-1+b1 [102 kB]
Get: 26 http://deb.debian.org/debian unstable/main arm64 libunistring5 arm64 1.3-1 [449 kB]
Get: 27 http://deb.debian.org/debian unstable/main arm64 libicu72 arm64 72.1-6 [9239 kB]
Get: 28 http://deb.debian.org/debian unstable/main arm64 libxml2 arm64 2.12.7+dfsg+really2.9.14-0.2+b2 [630 kB]
Get: 29 http://deb.debian.org/debian unstable/main arm64 gettext arm64 0.23.1-1 [1610 kB]
Get: 30 http://deb.debian.org/debian unstable/main arm64 intltool-debian all 0.35.0+20060710.6 [22.9 kB]
Get: 31 http://deb.debian.org/debian unstable/main arm64 po-debconf all 1.0.21+nmu1 [248 kB]
Get: 32 http://deb.debian.org/debian unstable/main arm64 debhelper all 13.24.1 [920 kB]
Get: 33 http://deb.debian.org/debian unstable/main arm64 dh-golang all 1.63 [24.4 kB]
Get: 34 http://deb.debian.org/debian unstable/main arm64 golang-1.24-src all 1.24.0-2 [20.3 MB]
Get: 35 http://deb.debian.org/debian unstable/main arm64 golang-1.24-go arm64 1.24.0-2 [24.6 MB]
Get: 36 http://deb.debian.org/debian unstable/main arm64 golang-src all 2:1.24~2 [5136 B]
Get: 37 http://deb.debian.org/debian unstable/main arm64 golang-go arm64 2:1.24~2 [44.3 kB]
Get: 38 http://deb.debian.org/debian unstable/main arm64 golang-any arm64 2:1.24~2 [5216 B]
Get: 39 http://deb.debian.org/debian unstable/main arm64 golang-github-google-go-cmp-dev all 0.6.0-1 [86.6 kB]
Get: 40 http://deb.debian.org/debian unstable/main arm64 golang-golang-x-sys-dev all 0.22.0-1 [431 kB]
Get: 41 http://deb.debian.org/debian unstable/main arm64 golang-golang-x-term-dev all 0.22.0-1 [14.8 kB]
Get: 42 http://deb.debian.org/debian unstable/main arm64 golang-golang-x-text-dev all 0.22.0-1 [3995 kB]
Get: 43 http://deb.debian.org/debian unstable/main arm64 golang-golang-x-crypto-dev all 1:0.25.0-1 [1682 kB]
Get: 44 http://deb.debian.org/debian unstable/main arm64 golang-golang-x-net-dev all 1:0.27.0-1 [898 kB]
Get: 45 http://deb.debian.org/debian unstable/main arm64 golang-google-protobuf-dev all 1.36.5-1 [796 kB]
Get: 46 http://deb.debian.org/debian unstable/main arm64 golang-blitiri-go-log-dev all 1.1.0-1 [6724 B]
Get: 47 http://deb.debian.org/debian unstable/main arm64 golang-blitiri-go-spf-dev all 1.5.1-1 [37.2 kB]
Get: 48 http://deb.debian.org/debian unstable/main arm64 golang-blitiri-go-systemd-dev all 1.1.0-1 [6952 B]
Fetched 75.0 MB in 0s (184 MB/s)
Preconfiguring packages ...
Selecting previously unselected package sensible-utils.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 19892 files and directories currently installed.)
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.41-3) ...
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/3221856/tmp/hooks/A99_set_merged_usr starting
Not re-configuring usrmerge for unstable
I: user script /srv/workspace/pbuilder/3221856/tmp/hooks/A99_set_merged_usr finished
hostname: Name or service not known
I: Running cd /build/reproducible-path/chasquid-1.15.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S  > ../chasquid_1.15.0-1_source.changes
dpkg-buildpackage: info: source package chasquid
dpkg-buildpackage: info: source version 1.15.0-1
dpkg-buildpackage: info: source distribution unstable
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/profilerecord
internal/coverage/rtcov
internal/asan
internal/msan
internal/godebugs
internal/goarch
internal/goexperiment
encoding
internal/cpu
internal/runtime/math
cmp
internal/itoa
internal/abi
internal/runtime/syscall
math/bits
internal/byteorder
internal/goos
unicode/utf8
sync/atomic
internal/unsafeheader
unicode
log/internal
internal/nettrace
google.golang.org/protobuf/internal/flags
unicode/utf16
internal/chacha8rand
container/ring
crypto/internal/fips140/alias
container/list
google.golang.org/protobuf/internal/set
crypto/internal/fips140deps/byteorder
math
crypto/internal/fips140/subtle
crypto/internal/boring/sig
internal/bytealg
internal/runtime/atomic
internal/runtime/sys
crypto/internal/fips140deps/cpu
vendor/golang.org/x/crypto/cryptobyte/asn1
vendor/golang.org/x/crypto/internal/alias
blitiri.com.ar/go/chasquid/internal/set
internal/runtime/exithook
internal/stringslite
internal/race
internal/runtime/maps
internal/sync
runtime
internal/reflectlite
iter
weak
crypto/subtle
sync
slices
maps
errors
sort
internal/bisect
google.golang.org/protobuf/internal/pragma
internal/testlog
internal/singleflight
unique
io
internal/oserror
vendor/golang.org/x/net/dns/dnsmessage
strconv
math/rand/v2
runtime/cgo
path
syscall
internal/godebug
hash
strings
golang.org/x/text/internal/tag
bytes
crypto/internal/randutil
net/netip
crypto
hash/fnv
reflect
crypto/internal/fips140deps/godebug
math/rand
hash/crc32
bufio
html
regexp/syntax
crypto/internal/fips140
crypto/internal/impl
vendor/golang.org/x/text/transform
crypto/internal/fips140/sha3
crypto/internal/fips140/sha256
crypto/internal/fips140/sha512
crypto/tls/internal/fips140tls
net/http/internal/ascii
golang.org/x/text/transform
crypto/sha3
crypto/internal/fips140hash
internal/syscall/execenv
internal/syscall/unix
crypto/internal/fips140/hmac
time
golang.org/x/text/runes
golang.org/x/text/width
crypto/internal/fips140/check
crypto/internal/fips140/aes
crypto/internal/fips140/nistec/fiat
crypto/internal/fips140/edwards25519/field
crypto/internal/fips140/bigmod
crypto/internal/fips140/hkdf
crypto/internal/fips140/tls12
crypto/internal/fips140/tls13
regexp
crypto/internal/fips140/edwards25519
io/fs
internal/poll
context
internal/filepathlite
embed
crypto/internal/fips140/nistec
google.golang.org/protobuf/internal/editiondefaults
os
internal/fmtsort
encoding/binary
encoding/base64
vendor/golang.org/x/crypto/internal/poly1305
golang.org/x/sys/unix
fmt
blitiri.com.ar/go/chasquid/internal/safeio
internal/sysinfo
path/filepath
google.golang.org/protobuf/internal/detrand
encoding/pem
os/signal
crypto/internal/sysrand
crypto/internal/entropy
crypto/internal/fips140/drbg
os/exec
crypto/internal/fips140only
crypto/internal/fips140/ecdh
crypto/internal/fips140/aes/gcm
crypto/internal/fips140/ecdsa
crypto/internal/fips140/ed25519
crypto/internal/fips140/mlkem
crypto/internal/fips140/rsa
crypto/md5
crypto/rc4
net
crypto/cipher
flag
google.golang.org/protobuf/internal/errors
text/template/parse
log
go/token
compress/flate
google.golang.org/protobuf/internal/version
net/url
encoding/json
crypto/internal/boring
google.golang.org/protobuf/encoding/protowire
math/big
crypto/aes
crypto/des
crypto/ecdh
google.golang.org/protobuf/reflect/protoreflect
crypto/sha512
crypto/hmac
vendor/golang.org/x/crypto/chacha20
crypto/sha1
crypto/sha256
vendor/golang.org/x/text/unicode/bidi
compress/gzip
encoding/hex
vendor/golang.org/x/text/unicode/norm
vendor/golang.org/x/net/http2/hpack
mime
vendor/golang.org/x/crypto/chacha20poly1305
text/template
mime/quotedprintable
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/order
google.golang.org/protobuf/internal/encoding/text
google.golang.org/protobuf/reflect/protoregistry
google.golang.org/protobuf/runtime/protoiface
google.golang.org/protobuf/internal/descfmt
google.golang.org/protobuf/internal/descopts
google.golang.org/protobuf/internal/protolazy
golang.org/x/text/secure/bidirule
vendor/golang.org/x/net/idna
blitiri.com.ar/go/chasquid/internal/tlsconst
golang.org/x/text/internal/language/compact
golang.org/x/crypto/pbkdf2
internal/profile
html/template
text/tabwriter
crypto/rand
crypto/elliptic
crypto/internal/boring/bbig
google.golang.org/protobuf/proto
google.golang.org/protobuf/internal/encoding/defval
encoding/asn1
crypto/ed25519
crypto/internal/hpke
crypto/rsa
crypto/dsa
golang.org/x/text/language
golang.org/x/net/idna
golang.org/x/crypto/scrypt
runtime/pprof
runtime/trace
runtime/debug
golang.org/x/term
google.golang.org/protobuf/encoding/prototext
google.golang.org/protobuf/internal/filedesc
vendor/golang.org/x/crypto/cryptobyte
crypto/x509/pkix
golang.org/x/text/internal
golang.org/x/text/cases
testing
crypto/ecdsa
blitiri.com.ar/go/chasquid/internal/protoio
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
net/textproto
crypto/x509
blitiri.com.ar/go/chasquid/internal/haproxy
blitiri.com.ar/go/spf
blitiri.com.ar/go/systemd
vendor/golang.org/x/net/http/httpproxy
blitiri.com.ar/go/log
vendor/golang.org/x/net/http/httpguts
mime/multipart
blitiri.com.ar/go/chasquid/internal/dovecot
blitiri.com.ar/go/chasquid/cmd/mda-lmtp
net/mail
google.golang.org/protobuf/internal/filetype
google.golang.org/protobuf/runtime/protoimpl
blitiri.com.ar/go/chasquid/internal/config
blitiri.com.ar/go/chasquid/internal/userdb
blitiri.com.ar/go/chasquid/internal/protoio/testpb
blitiri.com.ar/go/chasquid/internal/dkim
crypto/tls
net/http/httptrace
net/smtp
blitiri.com.ar/go/chasquid/internal/testlib
net/http
blitiri.com.ar/go/chasquid/internal/smtp
expvar
golang.org/x/net/context/ctxhttp
net/http/pprof
blitiri.com.ar/go/chasquid/internal/nettrace
blitiri.com.ar/go/chasquid/internal/trace
blitiri.com.ar/go/chasquid/internal/domaininfo
blitiri.com.ar/go/chasquid/internal/localrpc
blitiri.com.ar/go/chasquid/internal/auth
blitiri.com.ar/go/chasquid/internal/maillog
blitiri.com.ar/go/chasquid/internal/expvarom
blitiri.com.ar/go/chasquid/cmd/chasquid-util
blitiri.com.ar/go/chasquid/internal/sts
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.035s
=== RUN   TestDecodeResponse
    auth_test.go:56: OK: "" failed with response pieces != 3, as per RFC
    auth_test.go:56: OK: "\x00" failed with response pieces != 3, as per RFC
    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.47s)
=== RUN   TestInterfaces
--- PASS: TestInterfaces (0.00s)
=== RUN   TestMultipleBackends
--- PASS: TestMultipleBackends (0.19s)
=== 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.682s
=== RUN   TestEmptyStruct
--- PASS: TestEmptyStruct (0.00s)
=== RUN   TestEmptyConfig
    testlib.go:32: test directory: "/tmp/testlib_3595664129"
--- PASS: TestEmptyConfig (0.00s)
=== RUN   TestFullConfig
    testlib.go:32: test directory: "/tmp/testlib_910204209"
--- PASS: TestFullConfig (0.00s)
=== RUN   TestErrorLoading
--- PASS: TestErrorLoading (0.00s)
=== RUN   TestBrokenConfig
    testlib.go:32: test directory: "/tmp/testlib_1840867922"
--- PASS: TestBrokenConfig (0.00s)
=== RUN   TestBrokenOverride
    testlib.go:32: test directory: "/tmp/testlib_2517187666"
--- PASS: TestBrokenOverride (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/config	0.022s
=== RUN   TestMDA
    testlib.go:32: test directory: "/tmp/testlib_1166652757"
--- PASS: TestMDA (0.00s)
=== RUN   TestMDATimeout
_ mda.go:73          Courier.MDA to@local: error: operation timed out
--- PASS: TestMDATimeout (0.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_2273667336"
    testlib.go:32: test directory: "/tmp/testlib_3070410934"
_ smtp.go:127        Courier.SMTP to@to: error: Could not dial: dial tcp: address ::::42989: too many colons in address
_ smtp.go:101        Courier.SMTP to@to: error: \":::\" returned transient error: Could not dial: dial tcp: address ::::42989: too many colons in address
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    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_224215634"
    testlib.go:32: test directory: "/tmp/testlib_1945656553"
    fakeserver_test.go:98: fakeServer got connection
_ smtp.go:138        Courier.SMTP to@to: error: Error saying hello: write tcp 127.0.0.1:37588->127.0.0.1:37261: i/o timeout
_ smtp.go:101        Courier.SMTP to@to: error: \"127.0.0.1\" returned transient error: Error saying hello: write tcp 127.0.0.1:37588->127.0.0.1:37261: i/o timeout
_ smtp.go:105        Courier.SMTP to@to: error: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:37588->127.0.0.1:37261: i/o timeout)
    smtp_test.go:140: failed as expected: all MXs returned transient failures (last: Error saying hello: write tcp 127.0.0.1:37588->127.0.0.1:37261: i/o timeout)
    fakeserver_test.go:105: fakeServer exiting: EOF
    testlib.go:32: test directory: "/tmp/testlib_504269876"
    testlib.go:32: test directory: "/tmp/testlib_2241948322"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
_ smtp.go:202        Courier.SMTP to@to: error: MAIL+RCPT 501 mail error
    smtp_test.go:140: failed as expected: MAIL+RCPT 501 mail error
    fakeserver_test.go:105: fakeServer exiting: EOF
    testlib.go:32: test directory: "/tmp/testlib_2941932873"
    testlib.go:32: test directory: "/tmp/testlib_1964429975"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    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_2425052958"
    testlib.go:32: test directory: "/tmp/testlib_743778379"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    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_509358629"
    testlib.go:32: test directory: "/tmp/testlib_1491508998"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "MAIL FROM:<me@me>"
    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.34s)
=== RUN   TestNoMXServer
    testlib.go:32: test directory: "/tmp/testlib_583148950"
_ smtp.go:82         Courier.SMTP to@to: error: Could not find mail server: <nil>
    smtp_test.go:158: got permanent failure, as expected: Could not find mail server: <nil>
--- PASS: TestNoMXServer (0.00s)
=== 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_1332141867"
    testlib.go:32: test directory: "/tmp/testlib_3006115455"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "STARTTLS"
    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_724074127"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
_ domaininfo.go:145  DomainInfo.Outgoing to: error: to outgoing denied: PLAIN < TLS_INSECURE
_ 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.24s)
=== RUN   TestTLSError
    testlib.go:32: test directory: "/tmp/testlib_1133474888"
    testlib.go:32: test directory: "/tmp/testlib_1666278582"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "STARTTLS"
_ smtp.go:171        Courier.SMTP to@to: error: TLS error, retrying without TLS: 500 starttls err
    fakeserver_test.go: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_3795094555"
    testlib.go:32: test directory: "/tmp/testlib_2935033755"
    fakeserver_test.go:98: fakeServer got connection
    fakeserver_test.go:109: fakeServer read: "EHLO hello"
    fakeserver_test.go:109: fakeServer read: "STARTTLS"
    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_1277969754"
    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.25s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/courier	2.150s
=== 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:[0x40002a5ec0 0x40002a5f20]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         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:[0x40002cc780 0x40002cc7e0 0x40002cc840 0x40002cc8a0 0x40002cc900]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         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:[0x40002cd500]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=8; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         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:[0x40002cd920 0x40002cd980]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         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:[0x4000336000 0x4000336060]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         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:[0x40003366c0 0x4000336720]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         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:[0x4000336e40 0x4000336ea0 0x4000336f00]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
            d=example.com; s=selector; t=1709341950;
            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:[0x40003376e0 0x4000337740 0x40003377a0]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
            d=example.com; s=selector; t=1709368031;
            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:[0x40003a4060 0x40003a40c0]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
         d=football.example.com; i=@football.example.com;
         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:[0x40003a4780]}
    file_test.go:57: Want error: <nil>
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
            d=example.com; s=selector; t=1709466347;
            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=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    context.go:17: Resulting hash: "2TCw9jk4DuR0eiX2lprJYFZZeBoQPmcdJrwCgMd7RsU="
    context.go:17: Found DKIM-Signature header:  v=1; a=rsa-sha256; c=relaxed/relaxed;
        	d=example.com; s=test; t=1775388550;
        	h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id;
        	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
        	b=AxdjwoX5iK+NJlC0LNQD1Z4coWczu7VKPQ+1zF5UAZe8u+xYF5jwJ7UglbyDE5+gU4ONaA
        	  95fb+bpPtT5b2Oh9Szn7zzH+0scVS8L9/BeEugaDC5h8yxxhCeH30mmOySin5OLRDyW2Ue
        	  b+e8r2zmxpWeee/oiqTEHVyscCojB/jM1vr4t2IPTdKikZ6MuqTi7twv38OcNH/88GCGj+
        	  qOKhwvs+OEkJLhIIPEQuhTPWCBjzWmTe/yaXlQ70VlQcRPyqT6hHGfToPrbEvNUsoSuvd0
        	  sn+UeafSz9oMU8oIzSkQMKm7BsAe4fPY3y3RL3rd5cW3iROJAzCXLeJv3bBesQ==;
    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2mO2XPvHxIKFFk3d0Kv7PJ9+3K22UQccCTUHCEkWhMho+HD/3irKAEvhaevIER7CdwjHTnIUdPKAEFwitaqW7ciq3it9nGzOUSLfwba0XalkNwqqBqZmeavpGn4/Ajj81s3amrHrFMlxamC9GYuthicoNdVlIpumqHu64zbEqbLr5CZTeqtUd3Nxwx6S0P/5VVGATqhJUj8U0332RFgNAeHxgWf1BO0WPHtzaIGTMxz2W+YnCDf6cA4avj035ol5xfkUQ1CT1ZvkriGTHGIty1JdGhX6fq3qSXEtE+AcWpUxgaPszJTFtZtjFS9h1/cwv2T7hkZoqNrJHMbdSvrNywIDAQAB"
    context.go:17: Parsed public key: [rsa:30820122300d0609]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    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=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    context.go:17: Resulting hash: "2TCw9jk4DuR0eiX2lprJYFZZeBoQPmcdJrwCgMd7RsU="
    context.go:17: PK [rsa:30820122300d0609]: Verification succeeded
    context.go:17: Found 1 signatures, 1 valid
--- PASS: TestSignRSA (0.61s)
=== RUN   TestSignEd25519
    context.go:17: Signing for example.com / test with ed25519-sha256
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    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=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    context.go:17: Resulting hash: "An9Efun8nXyavDdxcEIbjLa5FIcIkW+M2pe2N/dXg0Q="
    context.go:17: Found DKIM-Signature header:  v=1; a=ed25519-sha256; c=relaxed/relaxed;
        	d=example.com; s=test; t=1775388550;
        	h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id;
        	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
        	b=MxIq51N9OkORME+/ermsHMiHyp99aTTVJkUAOODqwSeE42ClP0lvazJIXl+x3InV0HNWe4
        	  8BGnlo+ND2OzbhDA==;
    context.go:17: TXT record for "test._domainkey.example.com": "v=DKIM1; k=ed25519; p=ZR/GbOldD7d1PHPr7/XUH0rzkn5GsfySV+e+lKDy9yQ="
    context.go:17: Parsed public key: [ed25519:651fc66ce95d0fb7]
    context.go:17: Body hash matches: "2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8="
    context.go:17: Hashing header: "from:Joe SixPack <joe@football.example.com>\r\n"
    context.go:17: Hashing header: "subject:Is dinner ready?\r\n"
    context.go:17: Hashing header: "date:Fri, 11 Jul 2003 21:00:37 -0700 (PDT)\r\n"
    context.go:17: Hashing header: "to:Suzie Q <suzie@shopping.example.net>\r\n"
    context.go:17: Hashing header: "message-id:<20030712040037.46341.5F8J@football.example.com>\r\n"
    context.go:17: Hashing header: "dkim-signature:v=1; a=ed25519-sha256; c=relaxed/relaxed; d=example.com; s=test; t=1775388550; h=from:subject:date:to:message-id:from:subject:date:to:cc:message-id; bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=; b=;"
    context.go:17: Resulting hash: "An9Efun8nXyavDdxcEIbjLa5FIcIkW+M2pe2N/dXg0Q="
    context.go:17: PK [ed25519:651fc66ce95d0fb7]: Verification succeeded
    context.go:17: Found 1 signatures, 1 valid
--- PASS: TestSignEd25519 (0.01s)
=== 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.698s
=== RUN   TestBasic
    testlib.go:32: test directory: "/tmp/testlib_2718485207"
_ domaininfo.go:117  DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN
_ domaininfo.go:109  DomainInfo.Incoming d1: error: d1 incoming denied: TLS_INSECURE < TLS_SECURE
_ domaininfo.go:153  DomainInfo.Outgoing d1: d1 outgoing level raised: TLS_SECURE > PLAIN
_ 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_2149443842"
_ domaininfo.go:153  DomainInfo.Outgoing insecure: insecure outgoing level raised: TLS_INSECURE > PLAIN
_ domaininfo.go:117  DomainInfo.Incoming insecure: insecure incoming level raised: TLS_INSECURE > PLAIN
_ domaininfo.go:153  DomainInfo.Outgoing secure: secure outgoing level raised: TLS_SECURE > PLAIN
_ domaininfo.go:117  DomainInfo.Incoming secure: secure incoming level raised: TLS_SECURE > PLAIN
--- PASS: TestNewDomain (0.00s)
=== RUN   TestProgressions
    testlib.go:32: test directory: "/tmp/testlib_2744299973"
_ domaininfo.go:117  DomainInfo.Incoming pisis: pisis incoming level raised: TLS_INSECURE > PLAIN
_ domaininfo.go:153  DomainInfo.Outgoing pisis: pisis outgoing level raised: TLS_INSECURE > PLAIN
_ domaininfo.go:117  DomainInfo.Incoming pisis: pisis incoming level raised: TLS_SECURE > TLS_INSECURE
_ 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_294796215"
_ domaininfo.go:117  DomainInfo.Incoming d1: d1 incoming level raised: TLS_SECURE > PLAIN
_ domaininfo.go:67   DomainInfo.Reload reload: error: id \"d1\": proto: syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents
_ domaininfo.go:67   DomainInfo.Reload reload: error: id \"d1\": proto: syntax error (line 1:1): invalid field name: invalid-text-protobuf-contents
--- PASS: TestErrors (0.00s)
=== RUN   TestDirectoryErrors
    testlib.go:32: test directory: "/tmp/testlib_2230442110"
_ domaininfo.go:59   DomainInfo.Reload reload: error: open /tmp/testlib_2230442110/db: no such file or directory
_ domaininfo.go:84   DomainInfo.write d1: error: open /tmp/testlib_2230442110/db/.s:d1159431484: no such file or directory
--- PASS: TestDirectoryErrors (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/domaininfo	0.031s
=== RUN   TestUsernameNotSafe
--- PASS: TestUsernameNotSafe (0.00s)
=== RUN   TestAutodetect
    testlib.go:32: test directory: "/tmp/testlib_2715562492"
--- PASS: TestAutodetect (0.00s)
=== RUN   TestReload
--- PASS: TestReload (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/dovecot	0.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.016s
=== 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.011s
=== RUN   TestBadServer
    asm_arm64.s:1223: FakeServer &{{0x4000166e80}}: accepted 
    asm_arm64.s:1223: FakeServer &{{0x4000166e80}}: readRequest: "" "" / EOF
    asm_arm64.s:1223: FakeServer &{{0x4000166e80}}: writeMessage("xxx"): 0 write unix /tmp/rpc-test-4124196216/rpc.sock->@: write: broken pipe
    asm_arm64.s:1223: FakeServer &{{0x4000166e80}}: closing
    asm_arm64.s:1223: FakeServer &{{0x4000167000}}: accepted 
    asm_arm64.s:1223: FakeServer &{{0x4000167000}}: readRequest: "Echo" "" / <nil>
    asm_arm64.s:1223: FakeServer &{{0x4000167000}}: writeMessage("xxx"): 3 <nil>
    asm_arm64.s:1223: FakeServer &{{0x4000167000}}: closing
--- PASS: TestBadServer (0.01s)
=== RUN   TestBadSocket
--- PASS: TestBadSocket (0.00s)
=== RUN   TestEndToEnd
_ localrpc.go:63     LocalRPC.Server /tmp/rpc-test-416592885/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-416592885/sock: error: Accept error: accept unix /tmp/rpc-test-416592885/sock: use of closed network connection
--- PASS: TestEndToEnd (0.01s)
    --- PASS: TestEndToEnd/Echo (0.00s)
    --- PASS: TestEndToEnd/Echo#01 (0.00s)
    --- 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.044s
=== 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.014s
=== 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.01s)
=== RUN   TestHTTPErrors
--- PASS: TestHTTPErrors (0.02s)
=== RUN   TestHTTPUroboro
--- PASS: TestHTTPUroboro (0.01s)
=== 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.069s
=== 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.010s
=== RUN   TestBin
    testlib.go:32: test directory: "/tmp/testlib_3762785461"
--- PASS: TestBin (0.00s)
=== RUN   TestText
    testlib.go:32: test directory: "/tmp/testlib_1418711667"
--- PASS: TestText (0.00s)
=== RUN   TestStore
    testlib.go:32: test directory: "/tmp/testlib_236605376"
--- PASS: TestStore (0.00s)
=== RUN   TestFileErrors
    testlib.go:32: test directory: "/tmp/testlib_3537345663"
--- PASS: TestFileErrors (0.00s)
=== RUN   TestMarshalErrors
    testlib.go:32: test directory: "/tmp/testlib_783411292"
--- 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-ge7FxnDlon8@dsnDomain>
        Date: Sun, 05 Apr 2026 11:29:12 +0000
        In-Reply-To: <msgid-123@zaraza>
        References: <msgid-123@zaraza>
        X-Failed-Recipients: pepe@africa.org, ñaca@africa.org, 
        Auto-Submitted: auto-replied
        MIME-Version: 1.0
        Content-Type: multipart/report; report-type=delivery-status;
            boundary="kSK5zUOadq4"
        
        
        --kSK5zUOadq4
        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!
        
        
        --kSK5zUOadq4
        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!
        
        
        
        --kSK5zUOadq4
        Content-Type: message/rfc822
        Content-Description: Undelivered Message
        Content-Transfer-Encoding: 8bit
        
        Message-ID: <msgid-123@zaraza>
        
        Data ñaca.
        
        
        --kSK5zUOadq4--
        
--- PASS: TestDSN (0.00s)
=== RUN   TestBasic
    testlib.go:32: test directory: "/tmp/testlib_1854714090"
_ queue.go:308       Queue.SendLoop nh2m6AP2r8g: from from
_ queue.go:367       Queue.SendLoop nh2m6AP2r8g: am@loco sent
_ queue.go:367       Queue.SendLoop nh2m6AP2r8g: x@remote sent
_ queue.go:367       Queue.SendLoop nh2m6AP2r8g: nodomain sent
_ queue.go:342       Queue.SendLoop nh2m6AP2r8g: all done
--- PASS: TestBasic (0.02s)
=== RUN   TestDSNOnTimeout
    testlib.go:32: test directory: "/tmp/testlib_3848908369"
_ queue.go:308       Queue.SendLoop kr_k4Wd3wF8: from from@loco
_ queue.go:467       Queue.SendLoop kr_k4Wd3wF8: queued DSN: RHGdxk3N3CQ
_ queue.go:342       Queue.SendLoop kr_k4Wd3wF8: all done
_ queue.go:308       Queue.SendLoop RHGdxk3N3CQ: from <>
_ queue.go:367       Queue.SendLoop RHGdxk3N3CQ: from@loco sent
--- PASS: TestDSNOnTimeout (0.00s)
_ queue.go:375       Queue.SendLoop RHGdxk3N3CQ: error: failed to write: rename /tmp/testlib_3848908369/.m:RHGdxk3N3CQ1294895805 /tmp/testlib_3848908369/m:RHGdxk3N3CQ: no such file or directory
=== RUN   TestAliases
_ queue.go:342       Queue.SendLoop RHGdxk3N3CQ: all done
E queue.go:230       failed to remove queue file "/tmp/testlib_3848908369/m:RHGdxk3N3CQ": remove /tmp/testlib_3848908369/m:RHGdxk3N3CQ: no such file or directory
    testlib.go:32: test directory: "/tmp/testlib_1529550097"
_ queue.go:308       Queue.SendLoop HObzwOxprg8: from from
_ queue.go:367       Queue.SendLoop HObzwOxprg8: ata@hualpa sent
_ queue.go:375       Queue.SendLoop HObzwOxprg8: error: failed to write: rename /tmp/testlib_1529550097/.m:HObzwOxprg855828049 /tmp/testlib_1529550097/m:HObzwOxprg8: no such file or directory
--- PASS: TestAliases (0.00s)
_ queue.go:367       Queue.SendLoop HObzwOxprg8: pq@loco sent
=== RUN   TestFullQueue
    testlib.go:32: test directory: "/tmp/testlib_2475488246"
_ queue.go:375       Queue.SendLoop HObzwOxprg8: error: failed to write: open /tmp/testlib_1529550097/.m:HObzwOxprg83263483160: no such file or directory
_ queue.go:367       Queue.SendLoop HObzwOxprg8: rs@loco sent
_ queue.go:375       Queue.SendLoop HObzwOxprg8: error: failed to write: open /tmp/testlib_1529550097/.m:HObzwOxprg82583167036: no such file or directory
_ queue.go:342       Queue.SendLoop HObzwOxprg8: all done
E queue.go:230       failed to remove queue file "/tmp/testlib_1529550097/m:HObzwOxprg8": remove /tmp/testlib_1529550097/m:HObzwOxprg8: no such file or directory
_ queue.go:164       Queue.Put from: error: queue full
--- PASS: TestFullQueue (0.00s)
_ queue.go:308       Queue.SendLoop TNT9kFmOgmw: from from
_ queue.go:367       Queue.SendLoop TNT9kFmOgmw: to sent
=== RUN   TestPipes
    testlib.go:32: test directory: "/tmp/testlib_1687978486"
_ queue.go:375       Queue.SendLoop TNT9kFmOgmw: error: failed to write: open /tmp/testlib_2475488246/.m:TNT9kFmOgmw372080792: no such file or directory
_ queue.go:342       Queue.SendLoop TNT9kFmOgmw: all done
E queue.go:230       failed to remove queue file "/tmp/testlib_2475488246/m:TNT9kFmOgmw": remove /tmp/testlib_2475488246/m:TNT9kFmOgmw: no such file or directory
--- PASS: TestPipes (0.00s)
=== RUN   TestBadPath
--- PASS: TestBadPath (0.00s)
=== RUN   TestNextDelay
--- PASS: TestNextDelay (0.00s)
=== RUN   TestSerialization
    testlib.go:32: test directory: "/tmp/testlib_2363119620"
_ queue.go:308       Queue.SendLoop L41r-n78__E: from from@loco
_ queue.go:367       Queue.SendLoop L41r-n78__E: to@to sent
--- PASS: TestSerialization (0.00s)
_ queue.go:375       Queue.SendLoop L41r-n78__E: error: failed to write: rename /tmp/testlib_2363119620/.m:L41r-n78__E2061834255 /tmp/testlib_2363119620/m:L41r-n78__E: no such file or directory
PASS
_ queue.go:342       Queue.SendLoop L41r-n78__E: all done
E queue.go:230       failed to remove queue file "/tmp/testlib_2363119620/m:L41r-n78__E": remove /tmp/testlib_2363119620/m:L41r-n78__E: no such file or directory
ok  	blitiri.com.ar/go/chasquid/internal/queue	0.053s
=== RUN   TestWriteFile
    testlib.go:32: test directory: "/tmp/testlib_1187962868"
--- PASS: TestWriteFile (0.00s)
=== RUN   TestWriteFileWithOp
    testlib.go:32: test directory: "/tmp/testlib_1154988021"
--- PASS: TestWriteFileWithOp (0.00s)
=== RUN   TestWriteFileWithFailingOp
    testlib.go:32: test directory: "/tmp/testlib_2391371469"
--- PASS: TestWriteFileWithFailingOp (0.00s)
=== RUN   TestErrors
    testlib.go:32: test directory: "/tmp/testlib_4179540891"
--- PASS: TestErrors (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/safeio	0.016s
=== RUN   TestString
--- PASS: TestString (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/set	0.007s
=== 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.02s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/smtp	0.033s
_ server.go:300      Server listening on 127.0.0.1:36035 (SMTP)
2026-04-05 11:29:13.114564 daemon listening on 127.0.0.1:36035
_ server.go:300      Server listening on 127.0.0.1:35415 (submission)
2026-04-05 11:29:13.114715 daemon listening on 127.0.0.1:35415
_ server.go:300      Server listening on 127.0.0.1:46481 (submission+TLS)
2026-04-05 11:29:13.114767 daemon listening on 127.0.0.1:46481
=== RUN   TestSecLevel
_ conn.go:209        SMTP.Conn 127.0.0.1:49136: error: error completing TLS handshake: EOF
_ domaininfo.go:117  DomainInfo.Incoming slc: slc incoming level raised: TLS_CLIENT > PLAIN
_ domaininfo.go:109  DomainInfo.Incoming slc: error: slc incoming denied: PLAIN < TLS_CLIENT
_ conn.go:559        testconn testconn: error: security level check for slc failed (PLAIN)
--- 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:36348: Queued from from@from to [to@localhost] - YTEE6tyav6I
2026-04-05 11:29:13.219291 YTEE6tyav6I from=from@from queued ip=127.0.0.1:36348 to=[to@localhost]
_ queue.go:308       Queue.SendLoop YTEE6tyav6I: from from@from
_ queue.go:367       Queue.SendLoop YTEE6tyav6I: testuser@localhost sent
2026-04-05 11:29:13.219631 YTEE6tyav6I from=from@from to=testuser@localhost sent
--- PASS: TestSimple (0.00s)
=== RUN   TestSimpleTLS
_ queue.go:342       Queue.SendLoop YTEE6tyav6I: all done
2026-04-05 11:29:13.220019 YTEE6tyav6I from=from@from all done
_ conn.go:722        SMTP.Conn 127.0.0.1:36350: Queued from from@from to [to@localhost] - KnUzOtkbbu4
2026-04-05 11:29:13.226181 KnUzOtkbbu4 from=from@from queued ip=127.0.0.1:36350 to=[to@localhost]
_ queue.go:308       Queue.SendLoop KnUzOtkbbu4: from from@from
_ queue.go:367       Queue.SendLoop KnUzOtkbbu4: testuser@localhost sent
2026-04-05 11:29:13.226373 KnUzOtkbbu4 from=from@from to=testuser@localhost sent
--- PASS: TestSimpleTLS (0.01s)
_ queue.go:342       Queue.SendLoop KnUzOtkbbu4: all done
2026-04-05 11:29:13.226617 KnUzOtkbbu4 from=from@from all done
=== RUN   TestManyEmails
_ conn.go:722        SMTP.Conn 127.0.0.1:36356: Queued from from@from to [to@localhost] - eo6rVS04DWA
2026-04-05 11:29:13.232590 eo6rVS04DWA from=from@from queued ip=127.0.0.1:36356 to=[to@localhost]
_ queue.go:308       Queue.SendLoop eo6rVS04DWA: from from@from
_ queue.go:367       Queue.SendLoop eo6rVS04DWA: testuser@localhost sent
2026-04-05 11:29:13.232774 eo6rVS04DWA from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop eo6rVS04DWA: all done
2026-04-05 11:29:13.233019 eo6rVS04DWA from=from@from all done
_ conn.go:722        SMTP.Conn 127.0.0.1:36356: Queued from from@from to [to@localhost] - livsXRTSKW0
2026-04-05 11:29:13.233681 livsXRTSKW0 from=from@from queued ip=127.0.0.1:36356 to=[to@localhost]
_ queue.go:308       Queue.SendLoop livsXRTSKW0: from from@from
_ queue.go:367       Queue.SendLoop livsXRTSKW0: testuser@localhost sent
2026-04-05 11:29:13.233838 livsXRTSKW0 from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop livsXRTSKW0: all done
2026-04-05 11:29:13.234035 livsXRTSKW0 from=from@from all done
_ conn.go:722        SMTP.Conn 127.0.0.1:36356: Queued from from@from to [to@localhost] - hM85emqUYZo
2026-04-05 11:29:13.234672 hM85emqUYZo from=from@from queued ip=127.0.0.1:36356 to=[to@localhost]
_ queue.go:308       Queue.SendLoop hM85emqUYZo: from from@from
_ queue.go:367       Queue.SendLoop hM85emqUYZo: testuser@localhost sent
2026-04-05 11:29:13.234851 hM85emqUYZo from=from@from to=testuser@localhost sent
--- PASS: TestManyEmails (0.01s)
=== RUN   TestAuth
_ queue.go:342       Queue.SendLoop hM85emqUYZo: all done
2026-04-05 11:29:13.235084 hM85emqUYZo from=from@from all done
2026-04-05 11:29:13.344693 127.0.0.1:59794 auth succeeded for testuser@localhost
_ conn.go:722        SMTP.Conn 127.0.0.1:59794: Queued from testuser@localhost to [to@localhost] - LmtBY4bn_YM
2026-04-05 11:29:13.345745 LmtBY4bn_YM from=testuser@localhost queued ip=127.0.0.1:59794 to=[to@localhost]
_ queue.go:308       Queue.SendLoop LmtBY4bn_YM: from testuser@localhost
_ queue.go:367       Queue.SendLoop LmtBY4bn_YM: testuser@localhost sent
2026-04-05 11:29:13.345861 LmtBY4bn_YM from=testuser@localhost to=testuser@localhost sent
--- PASS: TestAuth (0.11s)
_ queue.go:342       Queue.SendLoop LmtBY4bn_YM: all done
2026-04-05 11:29:13.346033 LmtBY4bn_YM from=testuser@localhost all done
=== RUN   TestSubmissionWithoutAuth
_ conn.go:318        SMTP.Conn 127.0.0.1:59810: error: MAIL failed: 550  5.7.9 Mail to submission port must be authenticated
--- PASS: TestSubmissionWithoutAuth (0.01s)
=== RUN   TestAuthOnTLS
2026-04-05 11:29:13.457581 127.0.0.1:49144 auth succeeded for testuser@localhost
_ conn.go:722        SMTP.Conn 127.0.0.1:49144: Queued from testuser@localhost to [to@localhost] - wxyOxEiBMo4
2026-04-05 11:29:13.458512 wxyOxEiBMo4 from=testuser@localhost queued ip=127.0.0.1:49144 to=[to@localhost]
_ queue.go:308       Queue.SendLoop wxyOxEiBMo4: from testuser@localhost
_ queue.go:367       Queue.SendLoop wxyOxEiBMo4: testuser@localhost sent
2026-04-05 11:29:13.458730 wxyOxEiBMo4 from=testuser@localhost to=testuser@localhost sent
--- PASS: TestAuthOnTLS (0.11s)
_ queue.go:342       Queue.SendLoop wxyOxEiBMo4: all done
2026-04-05 11:29:13.458992 wxyOxEiBMo4 from=testuser@localhost all done
=== RUN   TestAuthOnSMTP
2026-04-05 11:29:13.566622 127.0.0.1:36358 auth succeeded for testuser@localhost
_ conn.go:722        SMTP.Conn 127.0.0.1:36358: Queued from testuser@localhost to [to@localhost] - t5C2T5BK-ZM
2026-04-05 11:29:13.567654 t5C2T5BK-ZM from=testuser@localhost queued ip=127.0.0.1:36358 to=[to@localhost]
_ queue.go:308       Queue.SendLoop t5C2T5BK-ZM: from testuser@localhost
_ queue.go:367       Queue.SendLoop t5C2T5BK-ZM: testuser@localhost sent
2026-04-05 11:29:13.567849 t5C2T5BK-ZM from=testuser@localhost to=testuser@localhost sent
--- PASS: TestAuthOnSMTP (0.11s)
=== RUN   TestBrokenAuth
_ queue.go:342       Queue.SendLoop t5C2T5BK-ZM: all done
2026-04-05 11:29:13.568128 t5C2T5BK-ZM from=testuser@localhost all done
_ conn.go:1193       SMTP.Conn 127.0.0.1:59822: error: error authenticating \"user\"@\"broken\": failed to auth
2026-04-05 11:29:13.680560 127.0.0.1:59822 auth failed for user@broken
_ conn.go:318        SMTP.Conn 127.0.0.1:59822: error: AUTH failed: 454  4.7.0 Temporary authentication failure
_ conn.go:318        SMTP.Conn 127.0.0.1:59822: error: unknown<\"*\"> failed: 500  5.5.1 Unknown command
--- PASS: TestBrokenAuth (0.11s)
=== RUN   TestWrongMailParsing
_ conn.go:318        SMTP.Conn 127.0.0.1:36362: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:36362: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:36362: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:36362: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:36370: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:36370: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:36370: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:36370: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:36376: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:36376: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:36376: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:36376: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:36390: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:36390: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:36390: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:36390: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:36394: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:36394: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:36394: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:36394: error: too many errors, breaking connection
_ conn.go:318        SMTP.Conn 127.0.0.1:36400: error: MAIL failed: 501  5.1.7 Sender address malformed
_ conn.go:318        SMTP.Conn 127.0.0.1:36400: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:318        SMTP.Conn 127.0.0.1:36400: error: RCPT failed: 501  5.1.3 Malformed destination address
_ conn.go:325        SMTP.Conn 127.0.0.1:36400: error: too many errors, breaking connection
--- PASS: TestWrongMailParsing (0.01s)
=== RUN   TestNullMailFrom
--- PASS: TestNullMailFrom (0.00s)
=== RUN   TestRcptBeforeMail
_ conn.go:318        SMTP.Conn 127.0.0.1:36430: error: RCPT failed: 503  5.5.1 Sender not yet given
--- PASS: TestRcptBeforeMail (0.00s)
=== RUN   TestRcptOption
--- PASS: TestRcptOption (0.01s)
=== RUN   TestRelayForbidden
2026-04-05 11:29:13.695420 127.0.0.1:36446 rejected from=from@somewhere to=[to@somewhere] - relay not allowed
_ conn.go:318        SMTP.Conn 127.0.0.1:36446: error: RCPT failed: 503  5.7.1 Relay not allowed
--- PASS: TestRelayForbidden (0.00s)
=== RUN   TestTooManyRecipients
2026-04-05 11:29:13.802601 127.0.0.1:59830 auth succeeded for testuser@localhost
_ conn.go:318        SMTP.Conn 127.0.0.1:59830: error: RCPT failed: 452  4.5.3 Too many recipients
--- PASS: TestTooManyRecipients (0.11s)
=== RUN   TestRcptBrokenExists
_ conn.go:622        SMTP.Conn 127.0.0.1:36452: error: error checking if user \"to@broken\" exists: failed to check if user exists
2026-04-05 11:29:13.813203 127.0.0.1:36452 rejected from=from@localhost to=[to@broken] - error checking if user exists: failed to check if user exists
_ conn.go:318        SMTP.Conn 127.0.0.1:36452: error: RCPT failed: 451  4.4.3 Temporary error checking address
--- PASS: TestRcptBrokenExists (0.00s)
=== RUN   TestRcptUserDoesNotExist
2026-04-05 11:29:13.816991 127.0.0.1:36466 rejected from=from@localhost to=[doesnotexist@localhost] - local user does not exist
_ conn.go:318        SMTP.Conn 127.0.0.1:36466: error: RCPT failed: 550  5.1.1 Destination address is unknown (user does not exist)
--- PASS: TestRcptUserDoesNotExist (0.00s)
=== RUN   TestTooMuchData
_ conn.go:722        SMTP.Conn 127.0.0.1:36472: Queued from from@from to [to@localhost] - SMD2X1Ie-zY
2026-04-05 11:29:13.957431 SMD2X1Ie-zY from=from@from queued ip=127.0.0.1:36472 to=[to@localhost]
_ queue.go:308       Queue.SendLoop SMD2X1Ie-zY: from from@from
_ queue.go:367       Queue.SendLoop SMD2X1Ie-zY: testuser@localhost sent
2026-04-05 11:29:13.957623 SMD2X1Ie-zY from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop SMD2X1Ie-zY: all done
2026-04-05 11:29:13.989474 SMD2X1Ie-zY from=from@from all done
_ conn.go:722        SMTP.Conn 127.0.0.1:36472: Queued from from@from to [to@localhost] - -Eplxvf2ips
2026-04-05 11:29:14.114811 -Eplxvf2ips from=from@from queued ip=127.0.0.1:36472 to=[to@localhost]
_ queue.go:308       Queue.SendLoop -Eplxvf2ips: from from@from
_ queue.go:367       Queue.SendLoop -Eplxvf2ips: testuser@localhost sent
2026-04-05 11:29:14.115007 -Eplxvf2ips from=from@from to=testuser@localhost sent
_ queue.go:342       Queue.SendLoop -Eplxvf2ips: all done
2026-04-05 11:29:14.148646 -Eplxvf2ips from=from@from all done
_ conn.go:318        SMTP.Conn 127.0.0.1:36472: error: DATA failed: 552  5.3.4 Message too big
_ conn.go:722        SMTP.Conn 127.0.0.1:36472: Queued from from@from to [to@localhost] - 45tjuNZtRgQ
2026-04-05 11:29:14.400966 45tjuNZtRgQ from=from@from queued ip=127.0.0.1:36472 to=[to@localhost]
_ queue.go:308       Queue.SendLoop 45tjuNZtRgQ: from from@from
_ queue.go:367       Queue.SendLoop 45tjuNZtRgQ: testuser@localhost sent
2026-04-05 11:29:14.401150 45tjuNZtRgQ from=from@from to=testuser@localhost sent
--- PASS: TestTooMuchData (0.58s)
=== RUN   TestSimpleCommands
_ conn.go:318        SMTP.Conn 127.0.0.1:36486: error: VRFY failed: 502  5.5.1 You have a strange feeling for a moment, then it passes.
_ conn.go:318        SMTP.Conn 127.0.0.1:36486: error: EXPN failed: 502  5.5.1 You feel disoriented for a moment.
--- PASS: TestSimpleCommands (0.00s)
=== RUN   TestLongLines
_ conn.go:318        SMTP.Conn 127.0.0.1:36492: error: unknown<\"\"> failed: 500  5.5.1 Unknown command
_ conn.go:348        SMTP.Conn 127.0.0.1:36492: error: exiting with error: line too long
--- PASS: TestLongLines (0.00s)
=== RUN   TestReset
--- PASS: TestReset (0.00s)
=== RUN   TestRepeatedStartTLS
_ conn.go:318        SMTP.Conn 127.0.0.1:36510: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
--- PASS: TestRepeatedStartTLS (0.01s)
=== RUN   TestStartTLSOnTLS
_ conn.go:318        SMTP.Conn 127.0.0.1:49152: error: STARTTLS failed: 503  5.5.1 You are already wearing that!
--- PASS: TestStartTLSOnTLS (0.01s)
=== RUN   TestAddDKIMSigner
    testlib.go:32: test directory: "/tmp/testlib_1738394483"
--- PASS: TestAddDKIMSigner (0.01s)
=== RUN   FuzzConnection
--- PASS: FuzzConnection (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/smtpsrv	1.598s
=== RUN   TestParsePolicy
    sts_test.go:90: pol1: &{Version:STSv1 Mode:enforce MXs:[*.mail.example.com] MaxAge:34h17m36s}
--- PASS: TestParsePolicy (0.00s)
=== 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.00s)
=== RUN   TestPolicyTooBig
    sts_test.go:242: got error as expected: MTA-STS TXT record missing
--- PASS: TestPolicyTooBig (0.01s)
=== RUN   TestCacheBasics
    testlib.go:32: test directory: "/tmp/testlib_1422086330"
    sts_test.go:277: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:286: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:300: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:309: cache fetched domErr: <nil>
--- PASS: TestCacheBasics (0.00s)
=== RUN   TestCacheBadData
    testlib.go:32: test directory: "/tmp/testlib_1370693015"
    sts_test.go:349: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:363: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    sts_test.go:372: cache fetched domain.com: &{STSv1 enforce [*.mail.domain.com] 1h0m0s}
    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_1642049663"
    sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s}
    sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 1m40s}
    sts_test.go:389: Fetch "refresh-test": &{STSv1 enforce [mx] 3m20s}
--- PASS: TestCacheRefresh (0.01s)
=== RUN   TestCacheSlashSafe
    testlib.go:32: test directory: "/tmp/testlib_500807180"
    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.060s
=== RUN   TestBasic
    testlib.go:32: test directory: "/tmp/testlib_575725600"
--- 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_3536158775"
--- PASS: TestRewrite (0.00s)
=== RUN   TestGetFreePort
--- PASS: TestGetFreePort (0.00s)
=== RUN   TestWaitFor
--- PASS: TestWaitFor (0.02s)
=== RUN   TestGenerateCert
    testlib.go:32: test directory: "/tmp/testlib_3588692084"
--- PASS: TestGenerateCert (0.18s)
=== RUN   TestGenerateCertBadDir
--- PASS: TestGenerateCertBadDir (0.05s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/testlib	0.271s
=== RUN   TestVersionName
--- PASS: TestVersionName (0.00s)
=== RUN   TestCipherSuiteName
--- PASS: TestCipherSuiteName (0.00s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/tlsconst	0.008s
?   	blitiri.com.ar/go/chasquid/internal/trace	[no test files]
=== RUN   TestEmptyLoad
    userdb_test.go:37: file: "/tmp/userdb_test2764432761"
    userdb_test.go:37: file: "/tmp/userdb_test536140787"
--- PASS: TestEmptyLoad (0.00s)
=== RUN   TestWrite
    userdb_test.go:37: file: "/tmp/userdb_test1554074399"
--- PASS: TestWrite (0.69s)
=== RUN   TestNew
--- PASS: TestNew (0.09s)
=== RUN   TestInvalidUsername
    userdb_test.go:37: file: "/tmp/userdb_test1786648898"
--- PASS: TestInvalidUsername (0.00s)
=== RUN   TestPlainScheme
    userdb_test.go:37: file: "/tmp/userdb_test1648641794"
--- PASS: TestPlainScheme (0.00s)
=== RUN   TestDeniedScheme
    userdb_test.go:37: file: "/tmp/userdb_test3093772396"
--- PASS: TestDeniedScheme (0.00s)
=== RUN   TestReload
    userdb_test.go:37: file: "/tmp/userdb_test2597005097"
--- PASS: TestReload (0.00s)
=== RUN   TestRemoveUser
    userdb_test.go:37: file: "/tmp/userdb_test1393765806"
--- PASS: TestRemoveUser (0.10s)
=== RUN   TestExists
    userdb_test.go:37: file: "/tmp/userdb_test57548323"
--- PASS: TestExists (0.06s)
PASS
ok  	blitiri.com.ar/go/chasquid/internal/userdb	0.964s
   create-stamp debian/debhelper-build-stamp
   dh_testroot -O--buildsystem=golang
   dh_prep -O--buildsystem=golang
   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/3221856/tmp/hooks/B01_cleanup starting
I: user script /srv/workspace/pbuilder/3221856/tmp/hooks/B01_cleanup finished
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: cleaning the build env 
I: removing directory /srv/workspace/pbuilder/3221856 and its subdirectories
I: Current time: Mon Apr  6 01:29:35 +14 2026
I: pbuilder-time-stamp: 1775388575