fastmail / authentication_milter

Email Authentication by SPF/DKIM/DMARC etc.
Other
113 stars 20 forks source link

cpan -i Mail::BIMI (OpenBSD) #158

Closed patch-work closed 2 months ago

patch-work commented 3 months ago
Reading '/root/.cpan/Metadata'
Database was generated on Thu, 16 May 2024 06:17:02 GMT
Running install for module 'Mail::BIMI'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.106)
Checksum for /root/.cpan/sources/authors/id/M/MB/MBRADSHAW/Mail-BIMI-3.20240402.tar.gz ok
CPAN: YAML loaded ok (v1.31)
CPAN: CPAN::Meta::Requirements loaded ok (v2.143)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
CPAN: Module::CoreList loaded ok (v5.20231129)
Configuring M/MB/MBRADSHAW/Mail-BIMI-3.20240402.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Mail::BIMI
Writing MYMETA.yml and MYMETA.json
MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
/usr/bin/perl Makefile.PL -- OK
Running make for M/MB/MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
cp lib/Mail/BIMI/Trait/CacheSerial.pm blib/lib/Mail/BIMI/Trait/CacheSerial.pm
cp lib/Mail/BIMI/Prelude.pm blib/lib/Mail/BIMI/Prelude.pm
cp lib/Mail/BIMI/App/Command/checkrecord.pm blib/lib/Mail/BIMI/App/Command/checkrecord.pm
cp lib/Mail/BIMI/Record/Authority.pm blib/lib/Mail/BIMI/Record/Authority.pm
cp lib/Mail/BIMI/App/Command/checkdomain.pm blib/lib/Mail/BIMI/App/Command/checkdomain.pm
cp lib/Mail/BIMI/Error.pm blib/lib/Mail/BIMI/Error.pm
cp lib/Mail/BIMI/App.pm blib/lib/Mail/BIMI/App.pm
cp lib/Mail/BIMI/Role/Cacheable.pm blib/lib/Mail/BIMI/Role/Cacheable.pm
cp lib/Mail/BIMI/Trait/CacheKey.pm blib/lib/Mail/BIMI/Trait/CacheKey.pm
cp lib/Mail/BIMI/Result.pm blib/lib/Mail/BIMI/Result.pm
cp lib/Mail/BIMI/Role/CacheBackend.pm blib/lib/Mail/BIMI/Role/CacheBackend.pm
cp lib/Mail/BIMI/App/Command/checkvmc.pm blib/lib/Mail/BIMI/App/Command/checkvmc.pm
cp lib/Mail/BIMI/Data/CA.pem blib/lib/Mail/BIMI/Data/CA.pem
cp lib/Mail/BIMI/Base.pm blib/lib/Mail/BIMI/Base.pm
cp lib/Mail/BIMI/CacheBackend/File.pm blib/lib/Mail/BIMI/CacheBackend/File.pm
cp lib/Mail/BIMI/Data/asn1.txt blib/lib/Mail/BIMI/Data/asn1.txt
cp lib/Mail/BIMI/Indicator.pm blib/lib/Mail/BIMI/Indicator.pm
cp lib/Mail/BIMI/App/Command/checksvg.pm blib/lib/Mail/BIMI/App/Command/checksvg.pm
cp lib/Mail/BIMI/Data/Tiny-1.2.rng blib/lib/Mail/BIMI/Data/Tiny-1.2.rng
cp lib/Mail/BIMI/VMC.pm blib/lib/Mail/BIMI/VMC.pm
cp lib/Mail/BIMI/Data/SVG_1.2_BIMI.rng blib/lib/Mail/BIMI/Data/SVG_1.2_BIMI.rng
cp lib/Mail/BIMI/CacheBackend/FastMmap.pm blib/lib/Mail/BIMI/CacheBackend/FastMmap.pm
cp lib/Mail/BIMI/VMC/Chain.pm blib/lib/Mail/BIMI/VMC/Chain.pm
cp lib/Mail/BIMI/Trait/Cacheable.pm blib/lib/Mail/BIMI/Trait/Cacheable.pm
cp lib/Mail/BIMI/App/Command/svgfromvmc.pm blib/lib/Mail/BIMI/App/Command/svgfromvmc.pm
cp lib/Mail/BIMI/Data/SVG_1.2_PS.rng blib/lib/Mail/BIMI/Data/SVG_1.2_PS.rng
cp lib/Mail/BIMI/Role/Data.pm blib/lib/Mail/BIMI/Role/Data.pm
cp lib/Mail/BIMI/VMC/Cert.pm blib/lib/Mail/BIMI/VMC/Cert.pm
cp lib/Mail/BIMI/CacheBackend/Null.pm blib/lib/Mail/BIMI/CacheBackend/Null.pm
cp lib/Mail/BIMI.pm blib/lib/Mail/BIMI.pm
cp lib/Mail/BIMI/Role/HasError.pm blib/lib/Mail/BIMI/Role/HasError.pm
cp lib/Mail/BIMI/Constants.pm blib/lib/Mail/BIMI/Constants.pm
cp lib/Mail/BIMI/Options.pm blib/lib/Mail/BIMI/Options.pm
cp lib/Mail/BIMI/Record.pm blib/lib/Mail/BIMI/Record.pm
cp lib/Mail/BIMI/Role/HasHTTPClient.pm blib/lib/Mail/BIMI/Role/HasHTTPClient.pm
cp lib/Mail/BIMI/Record/Location.pm blib/lib/Mail/BIMI/Record/Location.pm
cp bin/mailbimi blib/script/mailbimi
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/mailbimi
Manifying 1 pod document
Manifying 31 pod documents
MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
/usr/bin/make -- OK
CPAN: CPAN::DistnameInfo loaded ok (v0.12)
Running make test for MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-load.t ....................... 1/? # Testing Mail::BIMI 3.20240402, Perl 5.036003, /usr/bin/perl
t/00-load.t ....................... ok
t/01-bimi.t ....................... ok
t/01-dns-lookup-cname.t ........... 1/?
#   Failed test 'Test record validates'
#   at t/01-dns-lookup-cname.t line 31.
#     Structures begin differing at:
#          $got->[0] = '0'
#     $expected->[0] = '1'

#   Failed test 'Auth results correct'
#   at t/01-dns-lookup-cname.t line 50.
#          got: 'bimi=temperror (Could not fetch SVG)'
#     expected: 'bimi=pass header.d=dnslookupcname.com header.selector=selector'
# Looks like you failed 2 tests of 4.
t/01-dns-lookup-cname.t ........... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/4 subtests
t/01-dns-lookup-fail.t ............ ok
t/01-dns-lookup-fallback-fail.t ... ok
t/01-dns-lookup-fallback-multi.t .. ok
t/01-dns-lookup-multi.t ........... ok
t/01-dns-lookup-no-record.t ....... ok
t/01-dns-lookup-spfall.t .......... Use of uninitialized value in pattern match (m//) at /usr/local/libdata/perl5/site_perl/Mail/SPF/Server.pm line 579.
t/01-dns-lookup-spfall.t .......... ok
t/01-dns-lookup-spfnall.t ......... Use of uninitialized value in pattern match (m//) at /usr/local/libdata/perl5/site_perl/Mail/SPF/Server.pm line 579.
t/01-dns-lookup-spfnall.t ......... 1/?
#   Failed test 'Auth results correcct'
#   at t/01-dns-lookup-spfnall.t line 49.
#          got: 'bimi=temperror (Could not fetch SVG)'
#     expected: 'bimi=pass header.d=dnslookupspfnall.com header.selector=default'

#   Failed test 'headers'
#   at t/01-dns-lookup-spfnall.t line 75.
#     Structures begin differing at:
#          $got->{BIMI-Location} = Does not exist
#     $expected->{BIMI-Location} = 'v=BIMI1;
#         l=https://fastmaildmarc.com/FM_BIMI.svg'
# Looks like you failed 2 tests of 2.
t/01-dns-lookup-spfnall.t ......... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests
t/01-dns-lookup.t ................. 1/?
#   Failed test 'Test record validates'
#   at t/01-dns-lookup.t line 31.
#     Structures begin differing at:
#          $got->[0] = '0'
#     $expected->[0] = '1'

#   Failed test 'Auth results correct'
#   at t/01-dns-lookup.t line 50.
#          got: 'bimi=temperror (Could not fetch SVG)'
#     expected: 'bimi=pass header.d=dnslookup.com header.selector=selector'

#   Failed test 'headers'
#   at t/01-dns-lookup.t line 76.
#     Structures begin differing at:
#          $got->{BIMI-Indicator} = Does not exist
#     $expected->{BIMI-Indicator} = 'PHN2ZyB2ZXJzaW9uPSIxLjIiIGJhc2VQcm9maWxlPSJ0aW55LXBzIiB4bWxucz0iaHR0cD
#         ovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiIHZp
#         ZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjx0aXRsZT5GTS1JY29uLVJHQjwvdGl0bGU+PGcgaW
#         Q9IkFydHdvcmsiPjxyZWN0IHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiIGZpbGw9IiNG
#         RkZGRkYiLz48cGF0aCBkPSJNMTIwLjE2LDUxMmMwLTIxNi40LDE3NS40My0zOTEuODQsMz
#         kxLjg0LTM5MS44NCwxMzYsMCwyNTUuNzEsNjkuMzQsMzI2LDE3NC41M2w3Ny4xOSwxNS4y
#         MSw5LjU4LTczLjA2Yy04OS0xMzMuMTgtMjQwLjU2LTIyMS00MTIuNzQtMjIxQzIzOCwxNS
#         44NywxNS44NywyMzgsMTUuODcsNTEyQTQ5My43OCw0OTMuNzgsMCwwLDAsOTkuMTksNzg3
#         LjIxbDc0LjcyLDkuNjhMMTg2LDcyOS4zNUEzOTAsMzkwLDAsMCwxLDEyMC4xNiw1MTJaIi
#         BmaWxsPSIjMDA2N2I5Ii8+PHBhdGggZD0iTTkyNiwyMzguNjRjLS40MS0uNjEtLjgzLTEu
#         Mi0xLjI0LTEuOEw4MzgsMjk0LjY5Yy40MS42LjgzLDEuMTksMS4yMywxLjhBMzg5LjkxLD
#         M4OS45MSwwLDAsMSw5MDMuODMsNTEyYzAsMjE2LjQtMTc1LjQzLDM5MS44NC0zOTEuODMs
#         MzkxLjg0LTEzNS4yMSwwLTI1NC40Mi02OC40OS0zMjQuODQtMTcyLjY2LS40MS0uNi0uNz
#         ktMS4yMi0xLjE5LTEuODNMOTkuMTksNzg3LjIxYy40MS42Ljc4LDEuMjIsMS4xOSwxLjgz
#         QzE4OS41MSw5MjEuMiwzNDAuNiwxMDA4LjEzLDUxMiwxMDA4LjEzYzI3NCwwLDQ5Ni4xMy
#         0yMjIuMTMsNDk2LjEzLTQ5Ni4xM0E0OTMuNjgsNDkzLjY4LDAsMCwwLDkyNiwyMzguNjRa
#         IiBmaWxsPSIjNjliM2U3Ii8+PHBhdGggZD0iTTUxMiw1MTIsMjc2LjE1LDM1NC43NlY2Nj
#         kuMjNoMGwxNDguMi00NS44NloiIGZpbGw9IiNmZmMxMDciLz48cGF0aCBkPSJNMjc2LjE1
#         LDY2OS4yNEg3MzEuMjdhMTYuNTgsMTYuNTgsMCwwLDAsMTYuNTgtMTYuNTlWMzU0Ljc2Wi
#         IgZmlsbD0iIzMzM2U0OCIvPjwvZz48L3N2Zz4K'
# Looks like you failed 3 tests of 5.
t/01-dns-lookup.t ................. Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/5 subtests
t/01-missing-domain.t ............. ok
t/01-record-fallback.t ............ ok
t/01-record-validation.t .......... 1/12
#   Failed test 'Valid record'
#   at t/01-record-validation.t line 15.
#     Structures begin differing at:
#          $got->[0] = '0'
#     $expected->[0] = '1'

#   Failed test 'Valid record with terminator'
#   at t/01-record-validation.t line 21.
#     Structures begin differing at:
#          $got->[0] = '0'
#     $expected->[0] = '1'
t/01-record-validation.t .......... 3/12
#   Failed test 'Valid record with a'
#   at t/01-record-validation.t line 27.
#     Structures begin differing at:
#          $got->[0] = '0'
#     $expected->[0] = '1'

#   Failed test 'Valid record with a and terminator'
#   at t/01-record-validation.t line 33.
#     Structures begin differing at:
#          $got->[0] = '0'
#     $expected->[0] = '1'

#   Failed test 'Valid record with a and WSP'
#   at t/01-record-validation.t line 39.
#     Structures begin differing at:
#          $got->[0] = '0'
#     $expected->[0] = '1'
# Looks like you failed 5 tests of 12.
t/01-record-validation.t .......... Dubious, test returned 5 (wstat 1280, 0x500)
Failed 5/12 subtests
t/01-resolver.t ................... ok
t/01-results-nobimi.t ............. ok
t/01-results-nodmarc.t ............ ok
t/01-results.t .................... 1/?
#   Failed test 'Pass'
#   at t/01-results.t line 40.
#          got: 'bimi=temperror (Could not fetch SVG)'
#     expected: 'bimi=pass header.d=results.com header.selector=default'
# Looks like you failed 1 test of 9.
t/01-results.t .................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/9 subtests
t/02-authority.t .................. ok
t/02-base.t ....................... ok
t/02-indicator.t .................. ok
t/03-data.t ....................... ok
t/03-dmarc-input.t ................ ok
t/03-serialized_errors.t .......... ok
t/03-verbose-output.t ............. ok
t/04-cache-file-error-handling.t .. Error reading from cache: Sereal: Error: Bad Sereal header: Not a valid Sereal document. at offset 1 of input at srl_decoder.c line 619 at /root/.cpan/build/Mail-BIMI-3.20240402-8/blib/lib/Mail/BIMI/CacheBackend/File.pm line 19.
t/04-cache-file-error-handling.t .. 1/? Cache is invalid at /root/.cpan/build/Mail-BIMI-3.20240402-8/blib/lib/Mail/BIMI/Role/Cacheable.pm line 76.
t/04-cache-file-error-handling.t .. ok
t/04-cache-hash.t ................. ok
t/04-cache-notnull.t .............. ok
t/04-cache-null.t ................. ok
t/05-cmd.t ........................ Name "Mail::BIMI::TestSuite::Resolver" used only once: possible typo at t/05-cmd.t line 25.
t/05-cmd.t ........................ skipped: CMD Output tests skipped
t/author-pod-syntax.t ............. skipped: these tests are for testing by the author

Test Summary Report
-------------------
t/01-dns-lookup-cname.t         (Wstat: 512 (exited 2) Tests: 4 Failed: 2)
Failed tests:  1, 4
Non-zero exit status: 2
t/01-dns-lookup-spfnall.t       (Wstat: 512 (exited 2) Tests: 2 Failed: 2)
Failed tests:  1-2
Non-zero exit status: 2
t/01-dns-lookup.t               (Wstat: 768 (exited 3) Tests: 5 Failed: 3)
Failed tests:  1, 4-5
Non-zero exit status: 3
t/01-record-validation.t        (Wstat: 1280 (exited 5) Tests: 12 Failed: 5)
Failed tests:  1-5
Non-zero exit status: 5
t/01-results.t                  (Wstat: 256 (exited 1) Tests: 9 Failed: 1)
Failed test:  1
Non-zero exit status: 1
Files=31, Tests=132, 196 wallclock secs ( 0.56 usr  0.32 sys + 167.67 cusr 23.16 csys = 191.71 CPU)
Result: FAIL
Failed 5/31 test programs. 13/132 subtests failed.
*** Error 255 in /root/.cpan/build/Mail-BIMI-3.20240402-8 (Makefile:1106 'test_dynamic')
MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
/usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
marcbradshaw commented 2 months ago

I have installed Mail::BIMI on OpenBSD using cpanm without seeing this test failure. There were some issues with Net::DNS::Paranoid which required a force install, I believe those are known by the author of that module. This looks like either a local DNS issue, or a local internet access issue.

patch-work commented 2 months ago

CPANM is not part of OpenBSD, so your verification does not comply.

The command to be executed is

cpan -i Mail::BIMI

which leads to the errors I have quoted.

I just repeated the test, and obtained the same errors.

marcbradshaw commented 2 months ago

the same is true with cpan, this is likely a local network issue, does the building host have internet access?

openbsd# cpan -i Mail::BIMI
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Sun, 16 Jun 2024 21:17:02 GMT
Running install for module 'Mail::BIMI'
Fetching with HTTP::Tiny:
https://cpan.org/authors/id/M/MB/MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
Fetching with HTTP::Tiny:
https://cpan.org/authors/id/M/MB/MBRADSHAW/CHECKSUMS
Checksum for /root/.cpan/sources/authors/id/M/MB/MBRADSHAW/Mail-BIMI-3.20240402.tar.gz ok
Configuring M/MB/MBRADSHAW/Mail-BIMI-3.20240402.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Mail::BIMI
Writing MYMETA.yml and MYMETA.json
  MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
  /usr/bin/perl Makefile.PL -- OK
Running make for M/MB/MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
cp lib/Mail/BIMI/Role/HasHTTPClient.pm blib/lib/Mail/BIMI/Role/HasHTTPClient.pm
cp lib/Mail/BIMI/VMC.pm blib/lib/Mail/BIMI/VMC.pm
cp lib/Mail/BIMI/Record.pm blib/lib/Mail/BIMI/Record.pm
cp lib/Mail/BIMI/App/Command/checkvmc.pm blib/lib/Mail/BIMI/App/Command/checkvmc.pm
cp lib/Mail/BIMI/App.pm blib/lib/Mail/BIMI/App.pm
cp lib/Mail/BIMI/Data/asn1.txt blib/lib/Mail/BIMI/Data/asn1.txt
cp lib/Mail/BIMI/Prelude.pm blib/lib/Mail/BIMI/Prelude.pm
cp lib/Mail/BIMI/App/Command/checksvg.pm blib/lib/Mail/BIMI/App/Command/checksvg.pm
cp lib/Mail/BIMI/Role/Cacheable.pm blib/lib/Mail/BIMI/Role/Cacheable.pm
cp lib/Mail/BIMI/Trait/CacheKey.pm blib/lib/Mail/BIMI/Trait/CacheKey.pm
cp lib/Mail/BIMI/App/Command/svgfromvmc.pm blib/lib/Mail/BIMI/App/Command/svgfromvmc.pm
cp lib/Mail/BIMI/CacheBackend/Null.pm blib/lib/Mail/BIMI/CacheBackend/Null.pm
cp lib/Mail/BIMI/Options.pm blib/lib/Mail/BIMI/Options.pm
cp lib/Mail/BIMI/Constants.pm blib/lib/Mail/BIMI/Constants.pm
cp lib/Mail/BIMI/VMC/Chain.pm blib/lib/Mail/BIMI/VMC/Chain.pm
cp lib/Mail/BIMI/Data/Tiny-1.2.rng blib/lib/Mail/BIMI/Data/Tiny-1.2.rng
cp lib/Mail/BIMI/Indicator.pm blib/lib/Mail/BIMI/Indicator.pm
cp lib/Mail/BIMI/Role/Data.pm blib/lib/Mail/BIMI/Role/Data.pm
cp lib/Mail/BIMI/App/Command/checkdomain.pm blib/lib/Mail/BIMI/App/Command/checkdomain.pm
cp lib/Mail/BIMI/Data/CA.pem blib/lib/Mail/BIMI/Data/CA.pem
cp lib/Mail/BIMI.pm blib/lib/Mail/BIMI.pm
cp lib/Mail/BIMI/VMC/Cert.pm blib/lib/Mail/BIMI/VMC/Cert.pm
cp lib/Mail/BIMI/Role/HasError.pm blib/lib/Mail/BIMI/Role/HasError.pm
cp lib/Mail/BIMI/Base.pm blib/lib/Mail/BIMI/Base.pm
cp lib/Mail/BIMI/CacheBackend/File.pm blib/lib/Mail/BIMI/CacheBackend/File.pm
cp lib/Mail/BIMI/Data/SVG_1.2_BIMI.rng blib/lib/Mail/BIMI/Data/SVG_1.2_BIMI.rng
cp lib/Mail/BIMI/App/Command/checkrecord.pm blib/lib/Mail/BIMI/App/Command/checkrecord.pm
cp lib/Mail/BIMI/Error.pm blib/lib/Mail/BIMI/Error.pm
cp lib/Mail/BIMI/Role/CacheBackend.pm blib/lib/Mail/BIMI/Role/CacheBackend.pm
cp lib/Mail/BIMI/Record/Authority.pm blib/lib/Mail/BIMI/Record/Authority.pm
cp lib/Mail/BIMI/Data/SVG_1.2_PS.rng blib/lib/Mail/BIMI/Data/SVG_1.2_PS.rng
cp lib/Mail/BIMI/Record/Location.pm blib/lib/Mail/BIMI/Record/Location.pm
cp lib/Mail/BIMI/Trait/CacheSerial.pm blib/lib/Mail/BIMI/Trait/CacheSerial.pm
cp lib/Mail/BIMI/CacheBackend/FastMmap.pm blib/lib/Mail/BIMI/CacheBackend/FastMmap.pm
cp lib/Mail/BIMI/Trait/Cacheable.pm blib/lib/Mail/BIMI/Trait/Cacheable.pm
cp lib/Mail/BIMI/Result.pm blib/lib/Mail/BIMI/Result.pm
cp bin/mailbimi blib/script/mailbimi
"/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/mailbimi
Manifying 1 pod document
Manifying 31 pod documents
  MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
  /usr/bin/make -- OK
The current configuration of allow_installing_outdated_dists is 'ask/no', but for this option we would need 'CPAN::DistnameInfo' installed. Please install 'CPAN::DistnameInfo' as soon as possible. As long as we are not equipped with 'CPAN::DistnameInfo' this option does not take effect
Running make test for MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-load.t ....................... 1/? # Testing Mail::BIMI 3.20240402, Perl 5.036003, /usr/bin/perl
t/00-load.t ....................... ok
t/01-bimi.t ....................... ok
t/01-dns-lookup-cname.t ........... ok
t/01-dns-lookup-fail.t ............ ok
t/01-dns-lookup-fallback-fail.t ... ok
t/01-dns-lookup-fallback-multi.t .. ok
t/01-dns-lookup-multi.t ........... ok
t/01-dns-lookup-no-record.t ....... ok
t/01-dns-lookup-spfall.t .......... Use of uninitialized value in pattern match (m//) at /usr/local/libdata/perl5/site_perl/Mail/SPF/Server.pm line 577.
t/01-dns-lookup-spfall.t .......... ok
t/01-dns-lookup-spfnall.t ......... Use of uninitialized value in pattern match (m//) at /usr/local/libdata/perl5/site_perl/Mail/SPF/Server.pm line 577.
t/01-dns-lookup-spfnall.t ......... ok
t/01-dns-lookup.t ................. ok
t/01-missing-domain.t ............. ok
t/01-record-fallback.t ............ ok
t/01-record-validation.t .......... ok
t/01-resolver.t ................... ok
t/01-results-nobimi.t ............. ok
t/01-results-nodmarc.t ............ ok
t/01-results.t .................... ok
t/02-authority.t .................. ok
t/02-base.t ....................... ok
t/02-indicator.t .................. ok
t/03-data.t ....................... ok
t/03-dmarc-input.t ................ ok
t/03-serialized_errors.t .......... ok
t/03-verbose-output.t ............. ok
t/04-cache-file-error-handling.t .. Error reading from cache: Sereal: Error: Bad Sereal header: Not a valid Sereal document. at offset 1 of input at srl_decoder.c line 619 at /root/.cpan/build/Mail-BIMI-3.20240402-0/blib/lib/Mail/BIMI/CacheBackend/File.pm line 19.
t/04-cache-file-error-handling.t .. 1/? Cache is invalid at /root/.cpan/build/Mail-BIMI-3.20240402-0/blib/lib/Mail/BIMI/Role/Cacheable.pm line 76.
t/04-cache-file-error-handling.t .. ok
t/04-cache-hash.t ................. ok
t/04-cache-notnull.t .............. ok
t/04-cache-null.t ................. ok
t/05-cmd.t ........................ Name "Mail::BIMI::TestSuite::Resolver" used only once: possible typo at t/05-cmd.t line 25.
t/05-cmd.t ........................ skipped: CMD Output tests skipped
t/author-pod-syntax.t ............. skipped: these tests are for testing by the author
All tests successful.
Files=31, Tests=132, 194 wallclock secs ( 0.61 usr  0.38 sys + 145.38 cusr 26.42 csys = 172.79 CPU)
Result: PASS
  MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
  /usr/bin/make test -- OK
Running make install for MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
Manifying 1 pod document
Manifying 31 pod documents
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/VMC.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Record.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/App.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Prelude.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Options.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Constants.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Indicator.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Base.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Error.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Result.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Role/HasHTTPClient.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Role/Cacheable.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Role/Data.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Role/HasError.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Role/CacheBackend.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/App/Command/checkvmc.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/App/Command/checksvg.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/App/Command/svgfromvmc.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/App/Command/checkdomain.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/App/Command/checkrecord.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Data/asn1.txt
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Data/Tiny-1.2.rng
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Data/CA.pem
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Data/SVG_1.2_BIMI.rng
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Data/SVG_1.2_PS.rng
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Trait/CacheKey.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Trait/CacheSerial.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Trait/Cacheable.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/CacheBackend/Null.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/CacheBackend/File.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/CacheBackend/FastMmap.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/VMC/Chain.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/VMC/Cert.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Record/Authority.pm
Installing /usr/local/libdata/perl5/site_perl/Mail/BIMI/Record/Location.pm
Installing /usr/local/man/man1/mailbimi.1
Installing /usr/local/man/man3p/Mail::BIMI.3p
Installing /usr/local/man/man3p/Mail::BIMI::App.3p
Installing /usr/local/man/man3p/Mail::BIMI::App::Command::checkdomain.3p
Installing /usr/local/man/man3p/Mail::BIMI::App::Command::checkrecord.3p
Installing /usr/local/man/man3p/Mail::BIMI::App::Command::checksvg.3p
Installing /usr/local/man/man3p/Mail::BIMI::App::Command::checkvmc.3p
Installing /usr/local/man/man3p/Mail::BIMI::App::Command::svgfromvmc.3p
Installing /usr/local/man/man3p/Mail::BIMI::Base.3p
Installing /usr/local/man/man3p/Mail::BIMI::CacheBackend::FastMmap.3p
Installing /usr/local/man/man3p/Mail::BIMI::CacheBackend::File.3p
Installing /usr/local/man/man3p/Mail::BIMI::CacheBackend::Null.3p
Installing /usr/local/man/man3p/Mail::BIMI::Constants.3p
Installing /usr/local/man/man3p/Mail::BIMI::Error.3p
Installing /usr/local/man/man3p/Mail::BIMI::Indicator.3p
Installing /usr/local/man/man3p/Mail::BIMI::Options.3p
Installing /usr/local/man/man3p/Mail::BIMI::Prelude.3p
Installing /usr/local/man/man3p/Mail::BIMI::Record.3p
Installing /usr/local/man/man3p/Mail::BIMI::Record::Authority.3p
Installing /usr/local/man/man3p/Mail::BIMI::Record::Location.3p
Installing /usr/local/man/man3p/Mail::BIMI::Result.3p
Installing /usr/local/man/man3p/Mail::BIMI::Role::CacheBackend.3p
Installing /usr/local/man/man3p/Mail::BIMI::Role::Cacheable.3p
Installing /usr/local/man/man3p/Mail::BIMI::Role::Data.3p
Installing /usr/local/man/man3p/Mail::BIMI::Role::HasError.3p
Installing /usr/local/man/man3p/Mail::BIMI::VMC.3p
Installing /usr/local/man/man3p/Mail::BIMI::Role::HasHTTPClient.3p
Installing /usr/local/man/man3p/Mail::BIMI::Trait::CacheKey.3p
Installing /usr/local/man/man3p/Mail::BIMI::Trait::CacheSerial.3p
Installing /usr/local/man/man3p/Mail::BIMI::Trait::Cacheable.3p
Installing /usr/local/man/man3p/Mail::BIMI::VMC::Cert.3p
Installing /usr/local/man/man3p/Mail::BIMI::VMC::Chain.3p
Installing /usr/local/bin/mailbimi
Appending installation info to /usr/libdata/perl5/amd64-openbsd/perllocal.pod
  MBRADSHAW/Mail-BIMI-3.20240402.tar.gz
  /usr/bin/make install  -- OK
openbsd#
wolfsage commented 2 months ago

This seems like your host is having trouble looking up or talking to https://fastmaildmarc.com

What do these print out: host fastmaildmarc.com dig fastmaildmarc.com curl -i https://fastmaildmarc.com/FM_BIMI.svg ping fastmaildmarc.com ?

wolfsage commented 2 months ago

(If I put "10.0.0.1 fastmaildmarc.com" in /etc/hosts I can reproduce your exact test failures)

patch-work commented 2 months ago
> host fastmaildmarc.com
fastmaildmarc.com has address 103.168.172.52
fastmaildmarc.com has address 103.168.172.37
fastmaildmarc.com mail is handled by 10 in1-smtp.messagingengine.com.
fastmaildmarc.com mail is handled by 20 in2-smtp.messagingengine.com.
> dig fastmaildmarc.com

; <<>> DiG 9.18.26 <<>> fastmaildmarc.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7550
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;fastmaildmarc.com.             IN      A

;; ANSWER SECTION:
fastmaildmarc.com.      3600    IN      A       103.168.172.52
fastmaildmarc.com.      3600    IN      A       103.168.172.37

;; Query time: 327 msec
;; SERVER: 192.168.1.6#53(192.168.1.6) (UDP)
;; WHEN: Tue Jun 18 00:38:32 CEST 2024
;; MSG SIZE  rcvd: 78
> curl -i https://fastmaildmarc.com/FM_BIMI.svg
curl: (7) Failed to connect to fastmaildmarc.com port 443 after 21 ms: Couldn't connect to server
> ping fastmaildmarc.com
ping: Warning: fastmaildmarc.com has multiple addresses; using 103.168.172.37
PING fastmaildmarc.com (103.168.172.37): 56 data bytes
64 bytes from 103.168.172.37: icmp_seq=0 ttl=46 time=158.376 ms
64 bytes from 103.168.172.37: icmp_seq=1 ttl=46 time=151.765 ms
64 bytes from 103.168.172.37: icmp_seq=2 ttl=46 time=140.764 ms
64 bytes from 103.168.172.37: icmp_seq=3 ttl=46 time=118.739 ms
patch-work commented 2 months ago

I can see https://fastmaildmarc.com/FM_BIMI.svg in the browser. However, curl fails for some reason.

patch-work commented 2 months ago
> curl --version
curl 8.7.1 (x86_64-unknown-openbsd7.5) libcurl/8.7.1 LibreSSL/3.9.0 zlib/1.3.1.1-motley nghttp2/1.58.0 ngtcp2/1.3.0 nghttp3/1.2.0
Release-Date: 2024-03-27
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HSTS HTTP2 HTTP3 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL threadsafe UnixSockets
patch-work commented 2 months ago

This is in my linux:

> curl -i https://fastmaildmarc.com/FM_BIMI.svg
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100  1026  100  1026    0     0   1499      0 --:--:-- --:--:-- --:--:--  1500

> curl --version
curl 8.6.0 (x86_64-redhat-linux-gnu) libcurl/8.6.0 OpenSSL/3.2.1 zlib/1.3.0.zlib-ng libidn2/2.3.7 nghttp2/1.59.0
Release-Date: 2024-01-31
Protocols: file ftp ftps http https ipfs ipns
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz SPNEGO SSL threadsafe UnixSockets
patch-work commented 2 months ago

So, it is curl on OpenBSD that's causing the problem.

patch-work commented 2 months ago
> curl -v -i https://fastmaildmarc.com/FM_BIMI.svg
* Host fastmaildmarc.com:443 was resolved.
* IPv6: (none)
* IPv4: 103.168.172.37, 103.168.172.52
*   Trying 103.168.172.37:443...
* Immediate connect fail for 103.168.172.37: Permission denied
*   Trying 103.168.172.52:443...
* Immediate connect fail for 103.168.172.52: Permission denied
* Failed to connect to fastmaildmarc.com port 443 after 20 ms: Couldn't connect to server
* Closing connection
curl: (7) Failed to connect to fastmaildmarc.com port 443 after 20 ms: Couldn't connect to server
marcbradshaw commented 2 months ago

I don't think curl is the cause, but it looks like a symptom of something deeper.

openbsd#  curl -i https://fastmaildmarc.com/FM_BIMI.svg
ksh: curl: not found
openbsd# pkg_add curl
quirks-7.14 signed on 2024-06-15T18:27:56Z
curl-8.7.1:nghttp2-1.58.0: ok
curl-8.7.1:nghttp3-1.2.0: ok
curl-8.7.1:ngtcp2-1.3.0: ok
curl-8.7.1: ok
openbsd#  curl -i https://fastmaildmarc.com/FM_BIMI.svg
HTTP/2 200
server: nginx
date: Mon, 17 Jun 2024 22:50:49 GMT
content-type: image/svg+xml
content-length: 1026
x-backend: web4
etag: "1fb1af75b5d7189a0be95ec52d612540f8c9703f"
content-disposition: inline
access-control-allow-origin: *
x-backend: web4
last-modified: Tue, 28 Jul 2020 11:59:35 GMT
x-frontend: frontend1
x-trace-id: ti_2a1e438d8be5c9b6796232c68b14596a

<svg version="1.2" baseProfile="tiny-ps" xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024"><title>FM-Icon-RGB</title><g id="Artwork"><rect width="1024" height="1024" fill="#FFFFFF"/><path d="M120.16,512c0-216.4,175.43-391.84,391.84-391.84,136,0,255.71,69.34,326,174.53l77.19,15.21,9.58-73.06c-89-133.18-240.56-221-412.74-221C238,15.87,15.87,238,15.87,512A493.78,493.78,0,0,0,99.19,787.21l74.72,9.68L186,729.35A390,390,0,0,1,120.16,512Z" fill="#0067b9"/><path d="M926,238.64c-.41-.61-.83-1.2-1.24-1.8L838,294.69c.41.6.83,1.19,1.23,1.8A389.91,389.91,0,0,1,903.83,512c0,216.4-175.43,391.84-391.83,391.84-135.21,0-254.42-68.49-324.84-172.66-.41-.6-.79-1.22-1.19-1.83L99.19,787.21c.41.6.78,1.22,1.19,1.83C189.51,921.2,340.6,1008.13,512,1008.13c274,0,496.13-222.13,496.13-496.13A493.68,493.68,0,0,0,926,238.64Z" fill="#69b3e7"/><path d="M512,512,276.15,354.76V669.23h0l148.2-45.86Z" fill="#ffc107"/><path d="M276.15,669.24H731.27a16.58,16.58,0,0,0,16.58-16.59V354.76Z" fill="#333e48"/></g></svg>
openbsd#
patch-work commented 2 months ago

I just tried on 3 other identical openbsd systems on three different networks. I had 1 failure and 2 successes. On my own network an old openbsd succeeded.

wolfsage commented 2 months ago

Immediate connect fail for 103.168.172.37: Permission denied sounds like a local firewall or similar....

wolfsage commented 2 months ago

What says telnet 103.168.172.37 443?

patch-work commented 2 months ago
> telnet 103.168.172.37 443
Trying 103.168.172.37...
telnet: connect to address 103.168.172.37: Permission denied
patch-work commented 2 months ago
> tcpdump -n -e -ttt -i pflog0

Jun 18 08:53:56.666269 rule 42/(match) block out on ix0: 192.168.1.4.33916 > 103.168.172.37.443: SWE 2103741675:2103741675(0) win 16384 <mss 1460,nop,nop,sackOK,nop,wscale 6,nop,nop,timestamp 2094507018[|tcp]> (DF) [tos 0x10]
Jun 18 08:54:04.339342 rule 42/(match) block out on ix0: 192.168.1.4.9522 > 103.168.172.37.443: SWE 2327124448:2327124448(0) win 16384 <mss 1460,nop,nop,sackOK,nop,wscale 6,nop,nop,timestamp 2453326244[|tcp]> (DF) [tos 0x10]

OK it is the firewall.

patch-work commented 2 months ago

It turns out that 103.160.0.0/11 (103.160.0.0-103.191.255.255) is in the bogon list.

robmueller commented 2 months ago

It turns out that 103.160.0.0/11 (103.160.0.0-103.191.255.255) is in the bogon list.

What bogon list are you using and have you checked it's up to date? Bogon lists change regularly. For instance the FireHOL fullbogons list notes:

It is important to realize that the fullbogons list is NOT a static list.

IP ranges are regularly added to, and more importantly, removed from the bogon lists. If you filter bogons, please try to make sure that you have a plan for keeping your filters up-to-date, or within a short space of time you will be filtering legitimate traffic and creating work for network administrators everywhere. This is especially true for the fullbogons list, which has significant changes every day.