>>> Unpacking source... >>> Unpacking Mail-SPF-Query-1.999.1.tar.gz to /var/tmp/portage/portage/dev-perl/Mail-SPF-Query-1.999.1/work >>> Source unpacked. >>> Compiling source in /var/tmp/portage/portage/dev-perl/Mail-SPF-Query-1.999.1/work/Mail-SPF-Query-1.999.1 ... /var/tmp/portage/portage/dev-perl/Mail-SPF-Query-1.999.1/work/Mail-SPF-Query-1.999.1 * Using ExtUtils::MakeMaker Checking if your kit is complete... Looks good Writing Makefile for Mail::SPF::Query cp lib/Mail/SPF/Query.pm blib/lib/Mail/SPF/Query.pm cp bin/spfd blib/script/spfd /usr/bin/perl5.8.8 "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spfd cp bin/spfquery blib/script/spfquery /usr/bin/perl5.8.8 "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spfquery Manifying blib/man1/spfd.1 Manifying blib/man1/spfquery.1 >>> Source compiled. PERL_DL_NONLAZY=1 /usr/bin/perl5.8.8 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00_all....# Test 60 got: "error" (t/00_all.t at line 127 fail #57) # Expected: "pass" # t/00_all.t line 127 is: my $ok = ok($result, $expected_result); # Detailed debug log for test(s) 60: # | 40.spf1-test.mailzone.com new: ipv4=192.0.2.100, sender=40.spf1-test.mailzone.com, helo=40.spf1-test.mailzone.com # | postmaster 40.spf1-test.mailzone.com localpart is postmaster # || postmaster 40.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com myquery: doing TXT query on 40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 40.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 40.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} -all # || postmaster 40.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} -all # || postmaster 40.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # || postmaster 40.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 40.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) -all() # || postmaster 40.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=100.2.0.192 # || postmaster 40.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 40.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 100.2.0.192.in-addr._spf.40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com mechanism exists: looking up 100.2.0.192.in-addr._spf.40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com myquery: doing A query on 100.2.0.192.in-addr._spf.40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com myquery: 100.2.0.192.in-addr._spf.40.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 40.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 40.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # || postmaster 40.spf1-test.mailzone.com returning temporary error: DNS error while looking up 100.2.0.192.in-addr._spf.40.spf1-test.mailzone.com A: REFUSED # || postmaster 40.spf1-test.mailzone.com header_comment: spf_source = domain of 40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 61 got: "error" (t/00_all.t at line 127 fail #58) # Expected: "pass" # Detailed debug log for test(s) 61: # | 40.spf1-test.mailzone.com new: ipv4=192.0.2.101, sender=40.spf1-test.mailzone.com, helo=40.spf1-test.mailzone.com # | postmaster 40.spf1-test.mailzone.com localpart is postmaster # || postmaster 40.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com myquery: doing TXT query on 40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 40.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 40.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} -all # || postmaster 40.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} -all # || postmaster 40.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # || postmaster 40.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 40.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) -all() # || postmaster 40.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=101.2.0.192 # || postmaster 40.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 40.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 101.2.0.192.in-addr._spf.40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com mechanism exists: looking up 101.2.0.192.in-addr._spf.40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com myquery: doing A query on 101.2.0.192.in-addr._spf.40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com myquery: 101.2.0.192.in-addr._spf.40.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 40.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 40.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # || postmaster 40.spf1-test.mailzone.com returning temporary error: DNS error while looking up 101.2.0.192.in-addr._spf.40.spf1-test.mailzone.com A: REFUSED # || postmaster 40.spf1-test.mailzone.com header_comment: spf_source = domain of 40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 62 got: "error" (t/00_all.t at line 127 fail #59) # Expected: "fail" # Detailed debug log for test(s) 62: # | 40.spf1-test.mailzone.com new: ipv4=192.0.2.102, sender=40.spf1-test.mailzone.com, helo=40.spf1-test.mailzone.com # | postmaster 40.spf1-test.mailzone.com localpart is postmaster # || postmaster 40.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com myquery: doing TXT query on 40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 40.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 40.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} -all # || postmaster 40.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} -all # || postmaster 40.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # || postmaster 40.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 40.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) -all() # || postmaster 40.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=102.2.0.192 # || postmaster 40.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 40.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 102.2.0.192.in-addr._spf.40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com mechanism exists: looking up 102.2.0.192.in-addr._spf.40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com myquery: doing A query on 102.2.0.192.in-addr._spf.40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com myquery: 102.2.0.192.in-addr._spf.40.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 40.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 40.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # || postmaster 40.spf1-test.mailzone.com returning temporary error: DNS error while looking up 102.2.0.192.in-addr._spf.40.spf1-test.mailzone.com A: REFUSED # || postmaster 40.spf1-test.mailzone.com header_comment: spf_source = domain of 40.spf1-test.mailzone.com # || postmaster 40.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 63 got: "error" (t/00_all.t at line 127 fail #60) # Expected: "fail" # Detailed debug log for test(s) 63: # | 41.spf1-test.mailzone.com new: ipv4=192.0.2.100, sender=41.spf1-test.mailzone.com, helo=41.spf1-test.mailzone.com # | postmaster 41.spf1-test.mailzone.com localpart is postmaster # || postmaster 41.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com myquery: doing TXT query on 41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 41.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 41.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.spf1-test.mailzone.com -all # || postmaster 41.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.spf1-test.mailzone.com -all # || postmaster 41.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 41.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.spf1-test.mailzone.com) -all() # || postmaster 41.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.spf1-test.mailzone.com) for domain=41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=100.2.0.192 # || postmaster 41.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 41.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.spf1-test.mailzone.com -> 100.2.0.192.in-addr._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com mechanism exists: looking up 100.2.0.192.in-addr._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com myquery: doing A query on 100.2.0.192.in-addr._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com myquery: 100.2.0.192.in-addr._spf.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 41.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 41.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.spf1-test.mailzone.com) returned # || postmaster 41.spf1-test.mailzone.com returning temporary error: DNS error while looking up 100.2.0.192.in-addr._spf.spf1-test.mailzone.com A: REFUSED # || postmaster 41.spf1-test.mailzone.com header_comment: spf_source = domain of 41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 64 got: "error" (t/00_all.t at line 127 fail #61) # Expected: "pass" # Detailed debug log for test(s) 64: # | 41.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=41.spf1-test.mailzone.com, helo=41.spf1-test.mailzone.com # | postmaster 41.spf1-test.mailzone.com localpart is postmaster # || postmaster 41.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com myquery: doing TXT query on 41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 41.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 41.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.spf1-test.mailzone.com -all # || postmaster 41.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.spf1-test.mailzone.com -all # || postmaster 41.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 41.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.spf1-test.mailzone.com) -all() # || postmaster 41.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.spf1-test.mailzone.com) for domain=41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # || postmaster 41.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 41.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.spf1-test.mailzone.com -> 110.2.0.192.in-addr._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 41.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 41.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.spf1-test.mailzone.com) returned # || postmaster 41.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.spf1-test.mailzone.com A: REFUSED # || postmaster 41.spf1-test.mailzone.com header_comment: spf_source = domain of 41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 65 got: "error" (t/00_all.t at line 127 fail #62) # Expected: "pass" # Detailed debug log for test(s) 65: # | 41.spf1-test.mailzone.com new: ipv4=192.0.2.111, sender=41.spf1-test.mailzone.com, helo=41.spf1-test.mailzone.com # | postmaster 41.spf1-test.mailzone.com localpart is postmaster # || postmaster 41.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com myquery: doing TXT query on 41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 41.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 41.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.spf1-test.mailzone.com -all # || postmaster 41.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.spf1-test.mailzone.com -all # || postmaster 41.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 41.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.spf1-test.mailzone.com) -all() # || postmaster 41.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.spf1-test.mailzone.com) for domain=41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=111.2.0.192 # || postmaster 41.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 41.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.spf1-test.mailzone.com -> 111.2.0.192.in-addr._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com mechanism exists: looking up 111.2.0.192.in-addr._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com myquery: doing A query on 111.2.0.192.in-addr._spf.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com myquery: 111.2.0.192.in-addr._spf.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 41.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 41.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.spf1-test.mailzone.com) returned # || postmaster 41.spf1-test.mailzone.com returning temporary error: DNS error while looking up 111.2.0.192.in-addr._spf.spf1-test.mailzone.com A: REFUSED # || postmaster 41.spf1-test.mailzone.com header_comment: spf_source = domain of 41.spf1-test.mailzone.com # || postmaster 41.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 66 got: "error" (t/00_all.t at line 127 fail #63) # Expected: "fail" # Detailed debug log for test(s) 66: # | 42.spf1-test.mailzone.com new: ipv4=192.0.2.100, sender=42.spf1-test.mailzone.com, helo=42.spf1-test.mailzone.com # | postmaster 42.spf1-test.mailzone.com localpart is postmaster # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # || postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # || postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=100.2.0.192 # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 100.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 100.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: doing A query on 100.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: 100.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # || postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 100.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # || postmaster 42.spf1-test.mailzone.com header_comment: spf_source = domain of 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 67 got: "error" (t/00_all.t at line 127 fail #64) # Expected: "pass" # Detailed debug log for test(s) 67: # | 42.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42.spf1-test.mailzone.com, helo=42.spf1-test.mailzone.com # | postmaster 42.spf1-test.mailzone.com localpart is postmaster # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # || postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # || postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # || postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # || postmaster 42.spf1-test.mailzone.com header_comment: spf_source = domain of 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 68 got: "error" (t/00_all.t at line 127 fail #65) # Expected: "pass" # Detailed debug log for test(s) 68: # | 42.spf1-test.mailzone.com new: ipv4=192.0.2.130, sender=42.spf1-test.mailzone.com, helo=42.spf1-test.mailzone.com # | postmaster 42.spf1-test.mailzone.com localpart is postmaster # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # || postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # || postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=130.2.0.192 # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: doing A query on 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # || postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # || postmaster 42.spf1-test.mailzone.com header_comment: spf_source = domain of 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 69 got: "error" (t/00_all.t at line 127 fail #66) # Expected: "pass" # Detailed debug log for test(s) 69: # | 42.spf1-test.mailzone.com new: ipv4=192.0.2.131, sender=42.spf1-test.mailzone.com, helo=42.spf1-test.mailzone.com # | postmaster 42.spf1-test.mailzone.com localpart is postmaster # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # || postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # || postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # || postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=131.2.0.192 # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 131.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 131.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: doing A query on 131.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com myquery: 131.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # || postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 131.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # || postmaster 42.spf1-test.mailzone.com header_comment: spf_source = domain of 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 78 got: "error" (t/00_all.t at line 127 fail #75) # Expected: "fail" # Detailed debug log for test(s) 78: # | 51.spf1-test.mailzone.com new: ipv4=192.0.2.200, sender=51.spf1-test.mailzone.com, helo=51.spf1-test.mailzone.com # | postmaster 51.spf1-test.mailzone.com localpart is postmaster # || postmaster 51.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 51.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com myquery: doing TXT query on 51.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 51.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 51.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: include:42.spf1-test.mailzone.com -all # || postmaster 51.spf1-test.mailzone.com lookup: TXT include:42.spf1-test.mailzone.com -all # || postmaster 51.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=42.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 51.spf1-test.mailzone.com lookup: mec mechanisms=+include(42.spf1-test.mailzone.com) -all() # || postmaster 51.spf1-test.mailzone.com evaluate_mechanism: +include(42.spf1-test.mailzone.com) for domain=51.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com clone: new object: # || postmaster 42.spf1-test.mailzone.com clone: default_record = # || postmaster 42.spf1-test.mailzone.com clone: local = # || postmaster 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8618dfc) # || postmaster 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 42.spf1-test.mailzone.com clone: debug = 1 # || postmaster 42.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 42.spf1-test.mailzone.com clone: helo = 51.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x86236f4) # || postmaster 42.spf1-test.mailzone.com clone: guess = # || postmaster 42.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.200 # || postmaster 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x86236d0) # || postmaster 42.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 42.spf1-test.mailzone.com clone: trusted = # || postmaster 42.spf1-test.mailzone.com clone: orig_domain = 51.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 42.spf1-test.mailzone.com clone: Reversed_IP = 200.2.0.192 # || postmaster 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8623eb0) # || postmaster 42.spf1-test.mailzone.com clone: spf_source = domain of 51.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sender = 51.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8623acc) # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=200.2.0.192 # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing A query on 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 51.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| postmaster 51.spf1-test.mailzone.com evaluate_mechanism: +include(42.spf1-test.mailzone.com) returned error DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 51.spf1-test.mailzone.com saving result error to cache point and returning. # ||| postmaster 51.spf1-test.mailzone.com header_comment: spf_source = domain of 51.spf1-test.mailzone.com # ||| postmaster 51.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 79 got: "error" (t/00_all.t at line 127 fail #76) # Expected: "pass" # Detailed debug log for test(s) 79: # | 51.spf1-test.mailzone.com new: ipv4=192.0.2.130, sender=51.spf1-test.mailzone.com, helo=51.spf1-test.mailzone.com # | postmaster 51.spf1-test.mailzone.com localpart is postmaster # || postmaster 51.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 51.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com myquery: doing TXT query on 51.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 51.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 51.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: include:42.spf1-test.mailzone.com -all # || postmaster 51.spf1-test.mailzone.com lookup: TXT include:42.spf1-test.mailzone.com -all # || postmaster 51.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=42.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 51.spf1-test.mailzone.com lookup: mec mechanisms=+include(42.spf1-test.mailzone.com) -all() # || postmaster 51.spf1-test.mailzone.com evaluate_mechanism: +include(42.spf1-test.mailzone.com) for domain=51.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || postmaster 51.spf1-test.mailzone.com clone: new object: # || postmaster 42.spf1-test.mailzone.com clone: default_record = # || postmaster 42.spf1-test.mailzone.com clone: local = # || postmaster 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8623d18) # || postmaster 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 42.spf1-test.mailzone.com clone: debug = 1 # || postmaster 42.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 42.spf1-test.mailzone.com clone: helo = 51.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8615f24) # || postmaster 42.spf1-test.mailzone.com clone: guess = # || postmaster 42.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.130 # || postmaster 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x862c528) # || postmaster 42.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 42.spf1-test.mailzone.com clone: trusted = # || postmaster 42.spf1-test.mailzone.com clone: orig_domain = 51.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 42.spf1-test.mailzone.com clone: Reversed_IP = 130.2.0.192 # || postmaster 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8618f94) # || postmaster 42.spf1-test.mailzone.com clone: spf_source = domain of 51.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sender = 51.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: debuglog = CODE(0x86182b0) # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=130.2.0.192 # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing A query on 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 51.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| postmaster 51.spf1-test.mailzone.com evaluate_mechanism: +include(42.spf1-test.mailzone.com) returned error DNS error while looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 51.spf1-test.mailzone.com saving result error to cache point and returning. # ||| postmaster 51.spf1-test.mailzone.com header_comment: spf_source = domain of 51.spf1-test.mailzone.com # ||| postmaster 51.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 80 got: "error" (t/00_all.t at line 127 fail #77) # Expected: "fail" # Detailed debug log for test(s) 80: # | 52.spf1-test.mailzone.com new: ipv4=192.0.2.200, sender=52.spf1-test.mailzone.com, helo=52.spf1-test.mailzone.com # | postmaster 52.spf1-test.mailzone.com localpart is postmaster # || postmaster 52.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 52.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com myquery: doing TXT query on 52.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 52.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 52.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: include:53.spf1-test.mailzone.com -all # || postmaster 52.spf1-test.mailzone.com lookup: TXT include:53.spf1-test.mailzone.com -all # || postmaster 52.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=53.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 52.spf1-test.mailzone.com lookup: mec mechanisms=+include(53.spf1-test.mailzone.com) -all() # || postmaster 52.spf1-test.mailzone.com evaluate_mechanism: +include(53.spf1-test.mailzone.com) for domain=52.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com mechanism include: recursing into 53.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com clone: new object: # || postmaster 53.spf1-test.mailzone.com clone: default_record = # || postmaster 53.spf1-test.mailzone.com clone: local = # || postmaster 53.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8615a44) # || postmaster 53.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 53.spf1-test.mailzone.com clone: domain = 53.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 53.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 53.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 53.spf1-test.mailzone.com clone: debug = 1 # || postmaster 53.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 53.spf1-test.mailzone.com clone: helo = 52.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623e2c) # || postmaster 53.spf1-test.mailzone.com clone: guess = # || postmaster 53.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 53.spf1-test.mailzone.com clone: ipv4 = 192.0.2.200 # || postmaster 53.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x8623d24) # || postmaster 53.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 53.spf1-test.mailzone.com clone: trusted = # || postmaster 53.spf1-test.mailzone.com clone: orig_domain = 52.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 53.spf1-test.mailzone.com clone: Reversed_IP = 200.2.0.192 # || postmaster 53.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8618d18) # || postmaster 53.spf1-test.mailzone.com clone: spf_source = domain of 52.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: sender = 52.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: debuglog = CODE(0x8618b50) # ||| postmaster 53.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 53.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com myquery: doing TXT query on 53.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 53.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| postmaster 53.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: include:42.spf1-test.mailzone.com -all # ||| postmaster 53.spf1-test.mailzone.com lookup: TXT include:42.spf1-test.mailzone.com -all # ||| postmaster 53.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=42.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| postmaster 53.spf1-test.mailzone.com lookup: mec mechanisms=+include(42.spf1-test.mailzone.com) -all() # ||| postmaster 53.spf1-test.mailzone.com evaluate_mechanism: +include(42.spf1-test.mailzone.com) for domain=53.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com clone: new object: # ||| postmaster 42.spf1-test.mailzone.com clone: local = # ||| postmaster 42.spf1-test.mailzone.com clone: default_record = # ||| postmaster 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8615a44) # ||| postmaster 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # ||| postmaster 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # ||| postmaster 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # ||| postmaster 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # ||| postmaster 42.spf1-test.mailzone.com clone: debug = 1 # ||| postmaster 42.spf1-test.mailzone.com clone: lookup_count = 1 # ||| postmaster 42.spf1-test.mailzone.com clone: helo = 52.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8624324) # ||| postmaster 42.spf1-test.mailzone.com clone: guess = # ||| postmaster 42.spf1-test.mailzone.com clone: localpart = postmaster # ||| postmaster 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.200 # ||| postmaster 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x8623b08) # ||| postmaster 42.spf1-test.mailzone.com clone: default_explanation = explanation # ||| postmaster 42.spf1-test.mailzone.com clone: trusted = # ||| postmaster 42.spf1-test.mailzone.com clone: orig_domain = 52.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: Reversed_IP = 200.2.0.192 # ||| postmaster 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # ||| postmaster 42.spf1-test.mailzone.com clone: sender = 52.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: spf_source = domain of 52.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8618d18) # ||| postmaster 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8618b50) # |||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # |||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # |||| postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # |||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # |||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # |||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # |||| postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # |||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=200.2.0.192 # |||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # |||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com myquery: doing A query on 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com myquery: 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # |||| postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # |||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # |||| postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # |||| postmaster 53.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # |||| postmaster 53.spf1-test.mailzone.com evaluate_mechanism: +include(42.spf1-test.mailzone.com) returned error DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # |||| postmaster 53.spf1-test.mailzone.com saving result error to cache point and returning. # |||| postmaster 52.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # |||| postmaster 52.spf1-test.mailzone.com evaluate_mechanism: +include(53.spf1-test.mailzone.com) returned error DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # |||| postmaster 52.spf1-test.mailzone.com saving result error to cache point and returning. # |||| postmaster 52.spf1-test.mailzone.com header_comment: spf_source = domain of 52.spf1-test.mailzone.com # |||| postmaster 52.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 81 got: "error" (t/00_all.t at line 127 fail #78) # Expected: "pass" # Detailed debug log for test(s) 81: # | 52.spf1-test.mailzone.com new: ipv4=192.0.2.130, sender=52.spf1-test.mailzone.com, helo=52.spf1-test.mailzone.com # | postmaster 52.spf1-test.mailzone.com localpart is postmaster # || postmaster 52.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 52.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com myquery: doing TXT query on 52.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 52.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 52.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: include:53.spf1-test.mailzone.com -all # || postmaster 52.spf1-test.mailzone.com lookup: TXT include:53.spf1-test.mailzone.com -all # || postmaster 52.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=53.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 52.spf1-test.mailzone.com lookup: mec mechanisms=+include(53.spf1-test.mailzone.com) -all() # || postmaster 52.spf1-test.mailzone.com evaluate_mechanism: +include(53.spf1-test.mailzone.com) for domain=52.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com mechanism include: recursing into 53.spf1-test.mailzone.com # || postmaster 52.spf1-test.mailzone.com clone: new object: # || postmaster 53.spf1-test.mailzone.com clone: default_record = # || postmaster 53.spf1-test.mailzone.com clone: local = # || postmaster 53.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8618358) # || postmaster 53.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 53.spf1-test.mailzone.com clone: domain = 53.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 53.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 53.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 53.spf1-test.mailzone.com clone: debug = 1 # || postmaster 53.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 53.spf1-test.mailzone.com clone: helo = 52.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623bc8) # || postmaster 53.spf1-test.mailzone.com clone: guess = # || postmaster 53.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 53.spf1-test.mailzone.com clone: ipv4 = 192.0.2.130 # || postmaster 53.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x862cd74) # || postmaster 53.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 53.spf1-test.mailzone.com clone: trusted = # || postmaster 53.spf1-test.mailzone.com clone: orig_domain = 52.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 53.spf1-test.mailzone.com clone: Reversed_IP = 130.2.0.192 # || postmaster 53.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8623d84) # || postmaster 53.spf1-test.mailzone.com clone: spf_source = domain of 52.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: sender = 52.spf1-test.mailzone.com # || postmaster 53.spf1-test.mailzone.com clone: debuglog = CODE(0x8623490) # ||| postmaster 53.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 53.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com myquery: doing TXT query on 53.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 53.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| postmaster 53.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: include:42.spf1-test.mailzone.com -all # ||| postmaster 53.spf1-test.mailzone.com lookup: TXT include:42.spf1-test.mailzone.com -all # ||| postmaster 53.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=42.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| postmaster 53.spf1-test.mailzone.com lookup: mec mechanisms=+include(42.spf1-test.mailzone.com) -all() # ||| postmaster 53.spf1-test.mailzone.com evaluate_mechanism: +include(42.spf1-test.mailzone.com) for domain=53.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # ||| postmaster 53.spf1-test.mailzone.com clone: new object: # ||| postmaster 42.spf1-test.mailzone.com clone: local = # ||| postmaster 42.spf1-test.mailzone.com clone: default_record = # ||| postmaster 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8618358) # ||| postmaster 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # ||| postmaster 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # ||| postmaster 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # ||| postmaster 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # ||| postmaster 42.spf1-test.mailzone.com clone: debug = 1 # ||| postmaster 42.spf1-test.mailzone.com clone: lookup_count = 1 # ||| postmaster 42.spf1-test.mailzone.com clone: helo = 52.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x862cf90) # ||| postmaster 42.spf1-test.mailzone.com clone: guess = # ||| postmaster 42.spf1-test.mailzone.com clone: localpart = postmaster # ||| postmaster 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.130 # ||| postmaster 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x862c21c) # ||| postmaster 42.spf1-test.mailzone.com clone: default_explanation = explanation # ||| postmaster 42.spf1-test.mailzone.com clone: trusted = # ||| postmaster 42.spf1-test.mailzone.com clone: orig_domain = 52.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: Reversed_IP = 130.2.0.192 # ||| postmaster 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # ||| postmaster 42.spf1-test.mailzone.com clone: sender = 52.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: spf_source = domain of 52.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8623d84) # ||| postmaster 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8623490) # |||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # |||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # |||| postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # |||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # |||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # |||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # |||| postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # |||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=130.2.0.192 # |||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # |||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com myquery: doing A query on 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # |||| postmaster 42.spf1-test.mailzone.com myquery: 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # |||| postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # |||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # |||| postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # |||| postmaster 53.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # |||| postmaster 53.spf1-test.mailzone.com evaluate_mechanism: +include(42.spf1-test.mailzone.com) returned error DNS error while looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # |||| postmaster 53.spf1-test.mailzone.com saving result error to cache point and returning. # |||| postmaster 52.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # |||| postmaster 52.spf1-test.mailzone.com evaluate_mechanism: +include(53.spf1-test.mailzone.com) returned error DNS error while looking up 130.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # |||| postmaster 52.spf1-test.mailzone.com saving result error to cache point and returning. # |||| postmaster 52.spf1-test.mailzone.com header_comment: spf_source = domain of 52.spf1-test.mailzone.com # |||| postmaster 52.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 89 got: "error" (t/00_all.t at line 127 fail #86) # Expected: "fail" # Detailed debug log for test(s) 89: # | 70.spf1-test.mailzone.com new: ipv4=192.0.2.103, sender=droid@70.spf1-test.mailzone.com, helo=70.spf1-test.mailzone.com # | droid 70.spf1-test.mailzone.com localpart is droid # || droid 70.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 70.spf1-test.mailzone.com # || droid 70.spf1-test.mailzone.com myquery: doing TXT query on 70.spf1-test.mailzone.com # || droid 70.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 70.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || droid 70.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || droid 70.spf1-test.mailzone.com lookup: TXT exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || droid 70.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{lr+=}.lp._spf.spf1-test.mailzone.com # || droid 70.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || droid 70.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) -all() # || droid 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) for domain=70.spf1-test.mailzone.com # || droid 70.spf1-test.mailzone.com macro_substitute_item: lr+=: field=l, num=, reverse=r, delim=+=, newval=droid # || droid 70.spf1-test.mailzone.com macro_substitute: %{lr+=}.lp._spf.spf1-test.mailzone.com -> droid.lp._spf.spf1-test.mailzone.com # || droid 70.spf1-test.mailzone.com mechanism exists: looking up droid.lp._spf.spf1-test.mailzone.com # || droid 70.spf1-test.mailzone.com myquery: doing A query on droid.lp._spf.spf1-test.mailzone.com # || droid 70.spf1-test.mailzone.com myquery: droid.lp._spf.spf1-test.mailzone.com A lookup error: REFUSED # || droid 70.spf1-test.mailzone.com myquery: will set error condition. # || droid 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) returned # || droid 70.spf1-test.mailzone.com returning temporary error: DNS error while looking up droid.lp._spf.spf1-test.mailzone.com A: REFUSED # || droid 70.spf1-test.mailzone.com header_comment: spf_source = domain of droid@70.spf1-test.mailzone.com # || droid 70.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 90 got: "error" (t/00_all.t at line 127 fail #87) # Expected: "pass" # Detailed debug log for test(s) 90: # | 70.spf1-test.mailzone.com new: ipv4=192.0.2.103, sender=bob+1@70.spf1-test.mailzone.com, helo=70.spf1-test.mailzone.com # | bob+1 70.spf1-test.mailzone.com localpart is bob+1 # || bob+1 70.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 70.spf1-test.mailzone.com # || bob+1 70.spf1-test.mailzone.com myquery: doing TXT query on 70.spf1-test.mailzone.com # || bob+1 70.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 70.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || bob+1 70.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || bob+1 70.spf1-test.mailzone.com lookup: TXT exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || bob+1 70.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{lr+=}.lp._spf.spf1-test.mailzone.com # || bob+1 70.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || bob+1 70.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) -all() # || bob+1 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) for domain=70.spf1-test.mailzone.com # || bob+1 70.spf1-test.mailzone.com macro_substitute_item: lr+=: field=l, num=, reverse=r, delim=+=, newval=1.bob # || bob+1 70.spf1-test.mailzone.com macro_substitute: %{lr+=}.lp._spf.spf1-test.mailzone.com -> 1.bob.lp._spf.spf1-test.mailzone.com # || bob+1 70.spf1-test.mailzone.com mechanism exists: looking up 1.bob.lp._spf.spf1-test.mailzone.com # || bob+1 70.spf1-test.mailzone.com myquery: doing A query on 1.bob.lp._spf.spf1-test.mailzone.com # || bob+1 70.spf1-test.mailzone.com myquery: 1.bob.lp._spf.spf1-test.mailzone.com A lookup error: REFUSED # || bob+1 70.spf1-test.mailzone.com myquery: will set error condition. # || bob+1 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) returned # || bob+1 70.spf1-test.mailzone.com returning temporary error: DNS error while looking up 1.bob.lp._spf.spf1-test.mailzone.com A: REFUSED # || bob+1 70.spf1-test.mailzone.com header_comment: spf_source = domain of bob+1@70.spf1-test.mailzone.com # || bob+1 70.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 91 got: "error" (t/00_all.t at line 127 fail #88) # Expected: "pass" # Detailed debug log for test(s) 91: # | 70.spf1-test.mailzone.com new: ipv4=192.0.2.103, sender=bob+2@70.spf1-test.mailzone.com, helo=70.spf1-test.mailzone.com # | bob+2 70.spf1-test.mailzone.com localpart is bob+2 # || bob+2 70.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 70.spf1-test.mailzone.com # || bob+2 70.spf1-test.mailzone.com myquery: doing TXT query on 70.spf1-test.mailzone.com # || bob+2 70.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 70.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || bob+2 70.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || bob+2 70.spf1-test.mailzone.com lookup: TXT exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || bob+2 70.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{lr+=}.lp._spf.spf1-test.mailzone.com # || bob+2 70.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || bob+2 70.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) -all() # || bob+2 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) for domain=70.spf1-test.mailzone.com # || bob+2 70.spf1-test.mailzone.com macro_substitute_item: lr+=: field=l, num=, reverse=r, delim=+=, newval=2.bob # || bob+2 70.spf1-test.mailzone.com macro_substitute: %{lr+=}.lp._spf.spf1-test.mailzone.com -> 2.bob.lp._spf.spf1-test.mailzone.com # || bob+2 70.spf1-test.mailzone.com mechanism exists: looking up 2.bob.lp._spf.spf1-test.mailzone.com # || bob+2 70.spf1-test.mailzone.com myquery: doing A query on 2.bob.lp._spf.spf1-test.mailzone.com # || bob+2 70.spf1-test.mailzone.com myquery: 2.bob.lp._spf.spf1-test.mailzone.com A lookup error: REFUSED # || bob+2 70.spf1-test.mailzone.com myquery: will set error condition. # || bob+2 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) returned # || bob+2 70.spf1-test.mailzone.com returning temporary error: DNS error while looking up 2.bob.lp._spf.spf1-test.mailzone.com A: REFUSED # || bob+2 70.spf1-test.mailzone.com header_comment: spf_source = domain of bob+2@70.spf1-test.mailzone.com # || bob+2 70.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 92 got: "error" (t/00_all.t at line 127 fail #89) # Expected: "pass" # Detailed debug log for test(s) 92: # | 70.spf1-test.mailzone.com new: ipv4=192.0.2.103, sender=bob@70.spf1-test.mailzone.com, helo=70.spf1-test.mailzone.com # | bob 70.spf1-test.mailzone.com localpart is bob # || bob 70.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 70.spf1-test.mailzone.com # || bob 70.spf1-test.mailzone.com myquery: doing TXT query on 70.spf1-test.mailzone.com # || bob 70.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 70.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || bob 70.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || bob 70.spf1-test.mailzone.com lookup: TXT exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || bob 70.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{lr+=}.lp._spf.spf1-test.mailzone.com # || bob 70.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || bob 70.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) -all() # || bob 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) for domain=70.spf1-test.mailzone.com # || bob 70.spf1-test.mailzone.com macro_substitute_item: lr+=: field=l, num=, reverse=r, delim=+=, newval=bob # || bob 70.spf1-test.mailzone.com macro_substitute: %{lr+=}.lp._spf.spf1-test.mailzone.com -> bob.lp._spf.spf1-test.mailzone.com # || bob 70.spf1-test.mailzone.com mechanism exists: looking up bob.lp._spf.spf1-test.mailzone.com # || bob 70.spf1-test.mailzone.com myquery: doing A query on bob.lp._spf.spf1-test.mailzone.com # || bob 70.spf1-test.mailzone.com myquery: bob.lp._spf.spf1-test.mailzone.com A lookup error: REFUSED # || bob 70.spf1-test.mailzone.com myquery: will set error condition. # || bob 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) returned # || bob 70.spf1-test.mailzone.com returning temporary error: DNS error while looking up bob.lp._spf.spf1-test.mailzone.com A: REFUSED # || bob 70.spf1-test.mailzone.com header_comment: spf_source = domain of bob@70.spf1-test.mailzone.com # || bob 70.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 93 got: "error" (t/00_all.t at line 127 fail #90) # Expected: "fail" # Detailed debug log for test(s) 93: # | 70.spf1-test.mailzone.com new: ipv4=192.0.2.103, sender=joe+1@70.spf1-test.mailzone.com, helo=70.spf1-test.mailzone.com # | joe+1 70.spf1-test.mailzone.com localpart is joe+1 # || joe+1 70.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 70.spf1-test.mailzone.com # || joe+1 70.spf1-test.mailzone.com myquery: doing TXT query on 70.spf1-test.mailzone.com # || joe+1 70.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 70.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || joe+1 70.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || joe+1 70.spf1-test.mailzone.com lookup: TXT exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || joe+1 70.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{lr+=}.lp._spf.spf1-test.mailzone.com # || joe+1 70.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || joe+1 70.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) -all() # || joe+1 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) for domain=70.spf1-test.mailzone.com # || joe+1 70.spf1-test.mailzone.com macro_substitute_item: lr+=: field=l, num=, reverse=r, delim=+=, newval=1.joe # || joe+1 70.spf1-test.mailzone.com macro_substitute: %{lr+=}.lp._spf.spf1-test.mailzone.com -> 1.joe.lp._spf.spf1-test.mailzone.com # || joe+1 70.spf1-test.mailzone.com mechanism exists: looking up 1.joe.lp._spf.spf1-test.mailzone.com # || joe+1 70.spf1-test.mailzone.com myquery: doing A query on 1.joe.lp._spf.spf1-test.mailzone.com # || joe+1 70.spf1-test.mailzone.com myquery: 1.joe.lp._spf.spf1-test.mailzone.com A lookup error: REFUSED # || joe+1 70.spf1-test.mailzone.com myquery: will set error condition. # || joe+1 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) returned # || joe+1 70.spf1-test.mailzone.com returning temporary error: DNS error while looking up 1.joe.lp._spf.spf1-test.mailzone.com A: REFUSED # || joe+1 70.spf1-test.mailzone.com header_comment: spf_source = domain of joe+1@70.spf1-test.mailzone.com # || joe+1 70.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 94 got: "error" (t/00_all.t at line 127 fail #91) # Expected: "fail" # Detailed debug log for test(s) 94: # | 70.spf1-test.mailzone.com new: ipv4=192.0.2.103, sender=joe-2@70.spf1-test.mailzone.com, helo=70.spf1-test.mailzone.com # | joe-2 70.spf1-test.mailzone.com localpart is joe-2 # || joe-2 70.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 70.spf1-test.mailzone.com # || joe-2 70.spf1-test.mailzone.com myquery: doing TXT query on 70.spf1-test.mailzone.com # || joe-2 70.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 70.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || joe-2 70.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || joe-2 70.spf1-test.mailzone.com lookup: TXT exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || joe-2 70.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{lr+=}.lp._spf.spf1-test.mailzone.com # || joe-2 70.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || joe-2 70.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) -all() # || joe-2 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) for domain=70.spf1-test.mailzone.com # || joe-2 70.spf1-test.mailzone.com macro_substitute_item: lr+=: field=l, num=, reverse=r, delim=+=, newval=joe-2 # || joe-2 70.spf1-test.mailzone.com macro_substitute: %{lr+=}.lp._spf.spf1-test.mailzone.com -> joe-2.lp._spf.spf1-test.mailzone.com # || joe-2 70.spf1-test.mailzone.com mechanism exists: looking up joe-2.lp._spf.spf1-test.mailzone.com # || joe-2 70.spf1-test.mailzone.com myquery: doing A query on joe-2.lp._spf.spf1-test.mailzone.com # || joe-2 70.spf1-test.mailzone.com myquery: joe-2.lp._spf.spf1-test.mailzone.com A lookup error: REFUSED # || joe-2 70.spf1-test.mailzone.com myquery: will set error condition. # || joe-2 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) returned # || joe-2 70.spf1-test.mailzone.com returning temporary error: DNS error while looking up joe-2.lp._spf.spf1-test.mailzone.com A: REFUSED # || joe-2 70.spf1-test.mailzone.com header_comment: spf_source = domain of joe-2@70.spf1-test.mailzone.com # || joe-2 70.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 95 got: "error" (t/00_all.t at line 127 fail #92) # Expected: "fail" # Detailed debug log for test(s) 95: # | 70.spf1-test.mailzone.com new: ipv4=192.0.2.103, sender=moe-1@70.spf1-test.mailzone.com, helo=70.spf1-test.mailzone.com # | moe-1 70.spf1-test.mailzone.com localpart is moe-1 # || moe-1 70.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 70.spf1-test.mailzone.com # || moe-1 70.spf1-test.mailzone.com myquery: doing TXT query on 70.spf1-test.mailzone.com # || moe-1 70.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 70.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || moe-1 70.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || moe-1 70.spf1-test.mailzone.com lookup: TXT exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || moe-1 70.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{lr+=}.lp._spf.spf1-test.mailzone.com # || moe-1 70.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || moe-1 70.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) -all() # || moe-1 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) for domain=70.spf1-test.mailzone.com # || moe-1 70.spf1-test.mailzone.com macro_substitute_item: lr+=: field=l, num=, reverse=r, delim=+=, newval=moe-1 # || moe-1 70.spf1-test.mailzone.com macro_substitute: %{lr+=}.lp._spf.spf1-test.mailzone.com -> moe-1.lp._spf.spf1-test.mailzone.com # || moe-1 70.spf1-test.mailzone.com mechanism exists: looking up moe-1.lp._spf.spf1-test.mailzone.com # || moe-1 70.spf1-test.mailzone.com myquery: doing A query on moe-1.lp._spf.spf1-test.mailzone.com # || moe-1 70.spf1-test.mailzone.com myquery: moe-1.lp._spf.spf1-test.mailzone.com A lookup error: REFUSED # || moe-1 70.spf1-test.mailzone.com myquery: will set error condition. # || moe-1 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) returned # || moe-1 70.spf1-test.mailzone.com returning temporary error: DNS error while looking up moe-1.lp._spf.spf1-test.mailzone.com A: REFUSED # || moe-1 70.spf1-test.mailzone.com header_comment: spf_source = domain of moe-1@70.spf1-test.mailzone.com # || moe-1 70.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 96 got: "error" (t/00_all.t at line 127 fail #93) # Expected: "pass" # Detailed debug log for test(s) 96: # | 70.spf1-test.mailzone.com new: ipv4=192.0.2.103, sender=70.spf1-test.mailzone.com, helo=70.spf1-test.mailzone.com # | postmaster 70.spf1-test.mailzone.com localpart is postmaster # || postmaster 70.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 70.spf1-test.mailzone.com # || postmaster 70.spf1-test.mailzone.com myquery: doing TXT query on 70.spf1-test.mailzone.com # || postmaster 70.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 70.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 70.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || postmaster 70.spf1-test.mailzone.com lookup: TXT exists:%{lr+=}.lp._spf.spf1-test.mailzone.com -all # || postmaster 70.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{lr+=}.lp._spf.spf1-test.mailzone.com # || postmaster 70.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 70.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) -all() # || postmaster 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) for domain=70.spf1-test.mailzone.com # || postmaster 70.spf1-test.mailzone.com macro_substitute_item: lr+=: field=l, num=, reverse=r, delim=+=, newval=postmaster # || postmaster 70.spf1-test.mailzone.com macro_substitute: %{lr+=}.lp._spf.spf1-test.mailzone.com -> postmaster.lp._spf.spf1-test.mailzone.com # || postmaster 70.spf1-test.mailzone.com mechanism exists: looking up postmaster.lp._spf.spf1-test.mailzone.com # || postmaster 70.spf1-test.mailzone.com myquery: doing A query on postmaster.lp._spf.spf1-test.mailzone.com # || postmaster 70.spf1-test.mailzone.com myquery: postmaster.lp._spf.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 70.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 70.spf1-test.mailzone.com evaluate_mechanism: +exists(%{lr+=}.lp._spf.spf1-test.mailzone.com) returned # || postmaster 70.spf1-test.mailzone.com returning temporary error: DNS error while looking up postmaster.lp._spf.spf1-test.mailzone.com A: REFUSED # || postmaster 70.spf1-test.mailzone.com header_comment: spf_source = domain of 70.spf1-test.mailzone.com # || postmaster 70.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 97 got: "error" (t/00_all.t at line 127 fail #94) # Expected: "fail" # Detailed debug log for test(s) 97: # | 80.spf1-test.mailzone.com new: ipv4=64.236.24.4, sender=80.spf1-test.mailzone.com, helo=80.spf1-test.mailzone.com # | postmaster 80.spf1-test.mailzone.com localpart is postmaster # || postmaster 80.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: doing TXT query on 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 80.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 80.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: a mx exists:%{ir}.%{v}._spf.80.spf1-test.mailzone.com ptr -all # || postmaster 80.spf1-test.mailzone.com lookup: TXT a mx exists:%{ir}.%{v}._spf.80.spf1-test.mailzone.com ptr -all # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=a, rhs= # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=ptr, rhs= # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 80.spf1-test.mailzone.com lookup: mec mechanisms=+a() +mx() +exists(%{ir}.%{v}._spf.80.spf1-test.mailzone.com) +ptr() -all() # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +a() for domain=80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: doing A query on 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com mechanism a: 208.210.124.180 # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +a() returned # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: doing MX query on 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.80.spf1-test.mailzone.com) for domain=80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=4.24.236.64 # || postmaster 80.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 80.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.80.spf1-test.mailzone.com -> 4.24.236.64.in-addr._spf.80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com mechanism exists: looking up 4.24.236.64.in-addr._spf.80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: doing A query on 4.24.236.64.in-addr._spf.80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: 4.24.236.64.in-addr._spf.80.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 80.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.80.spf1-test.mailzone.com) returned # || postmaster 80.spf1-test.mailzone.com returning temporary error: DNS error while looking up 4.24.236.64.in-addr._spf.80.spf1-test.mailzone.com A: REFUSED # || postmaster 80.spf1-test.mailzone.com header_comment: spf_source = domain of 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 99 got: "error" (t/00_all.t at line 127 fail #96) # Expected: "pass" # Detailed debug log for test(s) 99: # | 80.spf1-test.mailzone.com new: ipv4=192.0.2.80, sender=80.spf1-test.mailzone.com, helo=80.spf1-test.mailzone.com # | postmaster 80.spf1-test.mailzone.com localpart is postmaster # || postmaster 80.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: doing TXT query on 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 80.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 80.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: a mx exists:%{ir}.%{v}._spf.80.spf1-test.mailzone.com ptr -all # || postmaster 80.spf1-test.mailzone.com lookup: TXT a mx exists:%{ir}.%{v}._spf.80.spf1-test.mailzone.com ptr -all # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=a, rhs= # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=ptr, rhs= # || postmaster 80.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 80.spf1-test.mailzone.com lookup: mec mechanisms=+a() +mx() +exists(%{ir}.%{v}._spf.80.spf1-test.mailzone.com) +ptr() -all() # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +a() for domain=80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: doing A query on 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com mechanism a: 208.210.124.180 # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +a() returned # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: doing MX query on 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.80.spf1-test.mailzone.com) for domain=80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=80.2.0.192 # || postmaster 80.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # || postmaster 80.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.80.spf1-test.mailzone.com -> 80.2.0.192.in-addr._spf.80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com mechanism exists: looking up 80.2.0.192.in-addr._spf.80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: doing A query on 80.2.0.192.in-addr._spf.80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com myquery: 80.2.0.192.in-addr._spf.80.spf1-test.mailzone.com A lookup error: REFUSED # || postmaster 80.spf1-test.mailzone.com myquery: will set error condition. # || postmaster 80.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.80.spf1-test.mailzone.com) returned # || postmaster 80.spf1-test.mailzone.com returning temporary error: DNS error while looking up 80.2.0.192.in-addr._spf.80.spf1-test.mailzone.com A: REFUSED # || postmaster 80.spf1-test.mailzone.com header_comment: spf_source = domain of 80.spf1-test.mailzone.com # || postmaster 80.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 179 got: "error" (t/00_all.t at line 127 fail #142) # Expected: "fail" # Test 180 got: "explanation: DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED" (t/00_all.t at line 129 fail #6) # Expected: "explanation" # t/00_all.t line 129 is: $ok = ok($smtp_comment, $expected_smtp_comment ) && $ok; # Test 181 got: "encountered temporary error during SPF processing of domain of 10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #6) # Expected: "domain of 10.spf1-test.mailzone.com does not designate 192.0.2.200 as permitted sender" # t/00_all.t line 130 is: $ok = ok($header_comment, $expected_header_comment) && $ok; # Detailed debug log for test(s) 179,180,181: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.200, sender=10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | postmaster 10.spf1-test.mailzone.com localpart is postmaster # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || postmaster 10.spf1-test.mailzone.com lookup: TXT mx -all # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || postmaster 10.spf1-test.mailzone.com clone: new object: # || postmaster 10.spf1-test.mailzone.com clone: local = include:42.%{d3} # || postmaster 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8618c1c) # || postmaster 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 10.spf1-test.mailzone.com clone: debug = 1 # || postmaster 10.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x862c600) # || postmaster 10.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.200 # || postmaster 10.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 10.spf1-test.mailzone.com clone: trusted = # || postmaster 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 10.spf1-test.mailzone.com clone: Reversed_IP = 200.2.0.192 # || postmaster 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8615e70) # || postmaster 10.spf1-test.mailzone.com clone: spf_source = domain of 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: sender = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: debuglog = CODE(0x85faab0) # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:42.%{d3} ?all # || postmaster 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:42.%{d3} ?all # || postmaster 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=42.%{d3} # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || postmaster 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(42.%{d3}) ?all() # || postmaster 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com macro_substitute: 42.%{d3} -> 42.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(42.%{d3}) -all() # || postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +include(42.%{d3}) for domain=10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com macro_substitute: 42.%{d3} -> 42.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: new object: # || postmaster 42.spf1-test.mailzone.com clone: default_record = # || postmaster 42.spf1-test.mailzone.com clone: local = # || postmaster 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8618c1c) # || postmaster 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 42.spf1-test.mailzone.com clone: debug = 1 # || postmaster 42.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x862c600) # || postmaster 42.spf1-test.mailzone.com clone: guess = # || postmaster 42.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.200 # || postmaster 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x8618340) # || postmaster 42.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 42.spf1-test.mailzone.com clone: trusted = # || postmaster 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 42.spf1-test.mailzone.com clone: Reversed_IP = 200.2.0.192 # || postmaster 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8615e70) # || postmaster 42.spf1-test.mailzone.com clone: spf_source = domain of 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sender = 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: debuglog = CODE(0x85faab0) # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=200.2.0.192 # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing A query on 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +include(42.%{d3}) returned error DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| postmaster 10.spf1-test.mailzone.com header_comment: spf_source = domain of 10.spf1-test.mailzone.com # ||| postmaster 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 182 got: "error" (t/00_all.t at line 127 fail #143) # Expected: "pass" # Test 184 got: "encountered temporary error during SPF processing of domain of 10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #7) # Expected: "local policy" # Detailed debug log for test(s) 182,183,184: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.200, sender=10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | postmaster 10.spf1-test.mailzone.com localpart is postmaster # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || postmaster 10.spf1-test.mailzone.com lookup: TXT mx -all # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || postmaster 10.spf1-test.mailzone.com clone: new object: # || postmaster 10.spf1-test.mailzone.com clone: local = include:42.%{d3} +all # || postmaster 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x862421c) # || postmaster 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 10.spf1-test.mailzone.com clone: debug = 1 # || postmaster 10.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623ae4) # || postmaster 10.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.200 # || postmaster 10.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 10.spf1-test.mailzone.com clone: trusted = # || postmaster 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 10.spf1-test.mailzone.com clone: Reversed_IP = 200.2.0.192 # || postmaster 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x86243a8) # || postmaster 10.spf1-test.mailzone.com clone: spf_source = domain of 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: sender = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:42.%{d3} +all ?all # || postmaster 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:42.%{d3} +all ?all # || postmaster 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=42.%{d3} # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || postmaster 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(42.%{d3}) +all() ?all() # || postmaster 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com macro_substitute: 42.%{d3} -> 42.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(42.%{d3}) +all() -all() # || postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +include(42.%{d3}) for domain=10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com macro_substitute: 42.%{d3} -> 42.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: new object: # || postmaster 42.spf1-test.mailzone.com clone: default_record = # || postmaster 42.spf1-test.mailzone.com clone: local = # || postmaster 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x862421c) # || postmaster 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 42.spf1-test.mailzone.com clone: debug = 1 # || postmaster 42.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623ae4) # || postmaster 42.spf1-test.mailzone.com clone: guess = # || postmaster 42.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.200 # || postmaster 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x86153cc) # || postmaster 42.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 42.spf1-test.mailzone.com clone: trusted = # || postmaster 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 42.spf1-test.mailzone.com clone: Reversed_IP = 200.2.0.192 # || postmaster 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x86243a8) # || postmaster 42.spf1-test.mailzone.com clone: spf_source = domain of 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sender = 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=200.2.0.192 # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing A query on 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +include(42.%{d3}) returned error DNS error while looking up 200.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| postmaster 10.spf1-test.mailzone.com header_comment: spf_source = domain of 10.spf1-test.mailzone.com # ||| postmaster 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 185 got: "error" (t/00_all.t at line 127 fail #144) # Expected: "pass" # Test 187 got: "encountered temporary error during SPF processing of domain of 10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #8) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 185,186,187: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | postmaster 10.spf1-test.mailzone.com localpart is postmaster # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || postmaster 10.spf1-test.mailzone.com lookup: TXT mx -all # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || postmaster 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || postmaster 10.spf1-test.mailzone.com clone: new object: # || postmaster 10.spf1-test.mailzone.com clone: local = include:42.%{d3} +all # || postmaster 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x862e510) # || postmaster 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 10.spf1-test.mailzone.com clone: debug = 1 # || postmaster 10.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x861804c) # || postmaster 10.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || postmaster 10.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 10.spf1-test.mailzone.com clone: trusted = # || postmaster 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || postmaster 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x86409dc) # || postmaster 10.spf1-test.mailzone.com clone: spf_source = domain of 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: sender = 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || postmaster 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:42.%{d3} +all ?all # || postmaster 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:42.%{d3} +all ?all # || postmaster 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=42.%{d3} # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || postmaster 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || postmaster 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(42.%{d3}) +all() ?all() # || postmaster 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com macro_substitute: 42.%{d3} -> 42.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(42.%{d3}) +all() -all() # || postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +include(42.%{d3}) for domain=10.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com macro_substitute: 42.%{d3} -> 42.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || postmaster 10.spf1-test.mailzone.com clone: new object: # || postmaster 42.spf1-test.mailzone.com clone: default_record = # || postmaster 42.spf1-test.mailzone.com clone: local = # || postmaster 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x862e510) # || postmaster 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || postmaster 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || postmaster 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || postmaster 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || postmaster 42.spf1-test.mailzone.com clone: debug = 1 # || postmaster 42.spf1-test.mailzone.com clone: lookup_count = 1 # || postmaster 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x861804c) # || postmaster 42.spf1-test.mailzone.com clone: guess = # || postmaster 42.spf1-test.mailzone.com clone: localpart = postmaster # || postmaster 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || postmaster 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x86234fc) # || postmaster 42.spf1-test.mailzone.com clone: default_explanation = explanation # || postmaster 42.spf1-test.mailzone.com clone: trusted = # || postmaster 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || postmaster 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || postmaster 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x86409dc) # || postmaster 42.spf1-test.mailzone.com clone: spf_source = domain of 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: sender = 10.spf1-test.mailzone.com # || postmaster 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| postmaster 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| postmaster 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| postmaster 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| postmaster 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| postmaster 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| postmaster 42.spf1-test.mailzone.com myquery: will set error condition. # ||| postmaster 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| postmaster 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| postmaster 10.spf1-test.mailzone.com evaluate_mechanism: +include(42.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| postmaster 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| postmaster 10.spf1-test.mailzone.com header_comment: spf_source = domain of 10.spf1-test.mailzone.com # ||| postmaster 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 188 got: "error" (t/00_all.t at line 127 fail #145) # Expected: "pass" # Test 190 got: "encountered temporary error during SPF processing of domain of 42-27@10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #9) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 188,189,190: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42-27@10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | 42-27 10.spf1-test.mailzone.com localpart is 42-27 # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || 42-27 10.spf1-test.mailzone.com lookup: TXT mx -all # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || 42-27 10.spf1-test.mailzone.com clone: new object: # || 42-27 10.spf1-test.mailzone.com clone: local = include:%{l1r-}.%{d3} +all # || 42-27 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x85ec308) # || 42-27 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42-27 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42-27 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42-27 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42-27 10.spf1-test.mailzone.com clone: debug = 1 # || 42-27 10.spf1-test.mailzone.com clone: lookup_count = 1 # || 42-27 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623d9c) # || 42-27 10.spf1-test.mailzone.com clone: localpart = 42-27 # || 42-27 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42-27 10.spf1-test.mailzone.com clone: default_explanation = explanation # || 42-27 10.spf1-test.mailzone.com clone: trusted = # || 42-27 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42-27 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42-27 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8623658) # || 42-27 10.spf1-test.mailzone.com clone: spf_source = domain of 42-27@10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: sender = 42-27@10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:%{l1r-}.%{d3} +all ?all # || 42-27 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:%{l1r-}.%{d3} +all ?all # || 42-27 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=%{l1r-}.%{d3} # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(%{l1r-}.%{d3}) +all() ?all() # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: l1r-: field=l, num=1, reverse=r, delim=\-, newval=42 # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute: %{l1r-}.%{d3} -> 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(%{l1r-}.%{d3}) +all() -all() # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r-}.%{d3}) for domain=10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: l1r-: field=l, num=1, reverse=r, delim=\-, newval=42 # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute: %{l1r-}.%{d3} -> 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: new object: # || 42-27 42.spf1-test.mailzone.com clone: default_record = # || 42-27 42.spf1-test.mailzone.com clone: local = # || 42-27 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x85ec308) # || 42-27 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42-27 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42-27 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42-27 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42-27 42.spf1-test.mailzone.com clone: debug = 1 # || 42-27 42.spf1-test.mailzone.com clone: lookup_count = 1 # || 42-27 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623d9c) # || 42-27 42.spf1-test.mailzone.com clone: guess = # || 42-27 42.spf1-test.mailzone.com clone: localpart = 42-27 # || 42-27 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42-27 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x86184cc) # || 42-27 42.spf1-test.mailzone.com clone: default_explanation = explanation # || 42-27 42.spf1-test.mailzone.com clone: trusted = # || 42-27 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42-27 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42-27 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8623658) # || 42-27 42.spf1-test.mailzone.com clone: spf_source = domain of 42-27@10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: sender = 42-27@10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| 42-27 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| 42-27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| 42-27 42.spf1-test.mailzone.com myquery: will set error condition. # ||| 42-27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| 42-27 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42-27 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r-}.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42-27 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| 42-27 10.spf1-test.mailzone.com header_comment: spf_source = domain of 42-27@10.spf1-test.mailzone.com # ||| 42-27 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 191 got: "error" (t/00_all.t at line 127 fail #146) # Expected: "pass" # Test 193 got: "encountered temporary error during SPF processing of domain of 42-27@10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #10) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 191,192,193: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42-27@10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | 42-27 10.spf1-test.mailzone.com localpart is 42-27 # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || 42-27 10.spf1-test.mailzone.com lookup: TXT mx -all # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || 42-27 10.spf1-test.mailzone.com clone: new object: # || 42-27 10.spf1-test.mailzone.com clone: local = include:%{l1r0-9}.%{d3} +all # || 42-27 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x860f378) # || 42-27 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42-27 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42-27 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42-27 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42-27 10.spf1-test.mailzone.com clone: debug = 1 # || 42-27 10.spf1-test.mailzone.com clone: lookup_count = 1 # || 42-27 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623b2c) # || 42-27 10.spf1-test.mailzone.com clone: localpart = 42-27 # || 42-27 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42-27 10.spf1-test.mailzone.com clone: default_explanation = explanation # || 42-27 10.spf1-test.mailzone.com clone: trusted = # || 42-27 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42-27 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42-27 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x862c708) # || 42-27 10.spf1-test.mailzone.com clone: spf_source = domain of 42-27@10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: sender = 42-27@10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:%{l1r0-9}.%{d3} +all ?all # || 42-27 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:%{l1r0-9}.%{d3} +all ?all # || 42-27 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=%{l1r0-9}.%{d3} # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(%{l1r0-9}.%{d3}) +all() ?all() # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: l1r0-9: field=l, num=1, reverse=r, delim=0\-9, newval=42 # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute: %{l1r0-9}.%{d3} -> 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(%{l1r0-9}.%{d3}) +all() -all() # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r0-9}.%{d3}) for domain=10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: l1r0-9: field=l, num=1, reverse=r, delim=0\-9, newval=42 # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute: %{l1r0-9}.%{d3} -> 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: new object: # || 42-27 42.spf1-test.mailzone.com clone: default_record = # || 42-27 42.spf1-test.mailzone.com clone: local = # || 42-27 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x860f378) # || 42-27 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42-27 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42-27 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42-27 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42-27 42.spf1-test.mailzone.com clone: debug = 1 # || 42-27 42.spf1-test.mailzone.com clone: lookup_count = 1 # || 42-27 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623b2c) # || 42-27 42.spf1-test.mailzone.com clone: guess = # || 42-27 42.spf1-test.mailzone.com clone: localpart = 42-27 # || 42-27 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42-27 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x8618154) # || 42-27 42.spf1-test.mailzone.com clone: default_explanation = explanation # || 42-27 42.spf1-test.mailzone.com clone: trusted = # || 42-27 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42-27 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42-27 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x862c708) # || 42-27 42.spf1-test.mailzone.com clone: spf_source = domain of 42-27@10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: sender = 42-27@10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| 42-27 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| 42-27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| 42-27 42.spf1-test.mailzone.com myquery: will set error condition. # ||| 42-27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| 42-27 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42-27 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r0-9}.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42-27 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| 42-27 10.spf1-test.mailzone.com header_comment: spf_source = domain of 42-27@10.spf1-test.mailzone.com # ||| 42-27 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 194 got: "error" (t/00_all.t at line 127 fail #147) # Expected: "pass" # Test 196 got: "encountered temporary error during SPF processing of domain of 42-27@10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #11) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 194,195,196: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42-27@10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | 42-27 10.spf1-test.mailzone.com localpart is 42-27 # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || 42-27 10.spf1-test.mailzone.com lookup: TXT mx -all # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || 42-27 10.spf1-test.mailzone.com clone: new object: # || 42-27 10.spf1-test.mailzone.com clone: local = include:%{l1r^-}.%{d3} +all # || 42-27 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x854f8f0) # || 42-27 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42-27 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42-27 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42-27 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42-27 10.spf1-test.mailzone.com clone: debug = 1 # || 42-27 10.spf1-test.mailzone.com clone: lookup_count = 1 # || 42-27 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623ad8) # || 42-27 10.spf1-test.mailzone.com clone: localpart = 42-27 # || 42-27 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42-27 10.spf1-test.mailzone.com clone: default_explanation = explanation # || 42-27 10.spf1-test.mailzone.com clone: trusted = # || 42-27 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42-27 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42-27 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8640ab4) # || 42-27 10.spf1-test.mailzone.com clone: spf_source = domain of 42-27@10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: sender = 42-27@10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:%{l1r^-}.%{d3} +all ?all # || 42-27 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:%{l1r^-}.%{d3} +all ?all # || 42-27 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=%{l1r^-}.%{d3} # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(%{l1r^-}.%{d3}) +all() ?all() # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: l1r^-: field=l, num=1, reverse=r, delim=\^\-, newval=42 # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute: %{l1r^-}.%{d3} -> 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(%{l1r^-}.%{d3}) +all() -all() # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r^-}.%{d3}) for domain=10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: l1r^-: field=l, num=1, reverse=r, delim=\^\-, newval=42 # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute: %{l1r^-}.%{d3} -> 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: new object: # || 42-27 42.spf1-test.mailzone.com clone: default_record = # || 42-27 42.spf1-test.mailzone.com clone: local = # || 42-27 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x854f8f0) # || 42-27 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42-27 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42-27 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42-27 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42-27 42.spf1-test.mailzone.com clone: debug = 1 # || 42-27 42.spf1-test.mailzone.com clone: lookup_count = 1 # || 42-27 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8623ad8) # || 42-27 42.spf1-test.mailzone.com clone: guess = # || 42-27 42.spf1-test.mailzone.com clone: localpart = 42-27 # || 42-27 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42-27 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x8615e10) # || 42-27 42.spf1-test.mailzone.com clone: default_explanation = explanation # || 42-27 42.spf1-test.mailzone.com clone: trusted = # || 42-27 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42-27 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42-27 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8640ab4) # || 42-27 42.spf1-test.mailzone.com clone: spf_source = domain of 42-27@10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: sender = 42-27@10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| 42-27 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| 42-27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| 42-27 42.spf1-test.mailzone.com myquery: will set error condition. # ||| 42-27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| 42-27 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42-27 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r^-}.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42-27 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| 42-27 10.spf1-test.mailzone.com header_comment: spf_source = domain of 42-27@10.spf1-test.mailzone.com # ||| 42-27 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 197 got: "error" (t/00_all.t at line 127 fail #148) # Expected: "pass" # Test 199 got: "encountered temporary error during SPF processing of domain of 42di27@10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #12) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 197,198,199: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42di27@10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | 42di27 10.spf1-test.mailzone.com localpart is 42di27 # || 42di27 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || 42di27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || 42di27 10.spf1-test.mailzone.com lookup: TXT mx -all # || 42di27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || 42di27 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || 42di27 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || 42di27 10.spf1-test.mailzone.com clone: new object: # || 42di27 10.spf1-test.mailzone.com clone: local = include:%{l1r:digit:}.%{d3} +all # || 42di27 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8618604) # || 42di27 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42di27 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42di27 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42di27 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42di27 10.spf1-test.mailzone.com clone: debug = 1 # || 42di27 10.spf1-test.mailzone.com clone: lookup_count = 1 # || 42di27 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x85ec3ec) # || 42di27 10.spf1-test.mailzone.com clone: localpart = 42di27 # || 42di27 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42di27 10.spf1-test.mailzone.com clone: default_explanation = explanation # || 42di27 10.spf1-test.mailzone.com clone: trusted = # || 42di27 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42di27 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42di27 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x862fd30) # || 42di27 10.spf1-test.mailzone.com clone: spf_source = domain of 42di27@10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com clone: sender = 42di27@10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || 42di27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:%{l1r:digit:}.%{d3} +all ?all # || 42di27 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:%{l1r:digit:}.%{d3} +all ?all # || 42di27 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || 42di27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=%{l1r:digit:}.%{d3} # || 42di27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || 42di27 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || 42di27 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(%{l1r:digit:}.%{d3}) +all() ?all() # || 42di27 10.spf1-test.mailzone.com macro_substitute_item: l1r:digit:: field=l, num=1, reverse=r, delim=\:digit\:, newval=42 # || 42di27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com macro_substitute: %{l1r:digit:}.%{d3} -> 42.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(%{l1r:digit:}.%{d3}) +all() -all() # || 42di27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || 42di27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r:digit:}.%{d3}) for domain=10.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com macro_substitute_item: l1r:digit:: field=l, num=1, reverse=r, delim=\:digit\:, newval=42 # || 42di27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com macro_substitute: %{l1r:digit:}.%{d3} -> 42.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || 42di27 10.spf1-test.mailzone.com clone: new object: # || 42di27 42.spf1-test.mailzone.com clone: default_record = # || 42di27 42.spf1-test.mailzone.com clone: local = # || 42di27 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8618604) # || 42di27 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42di27 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || 42di27 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42di27 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42di27 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42di27 42.spf1-test.mailzone.com clone: debug = 1 # || 42di27 42.spf1-test.mailzone.com clone: lookup_count = 1 # || 42di27 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42di27 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x85ec3ec) # || 42di27 42.spf1-test.mailzone.com clone: guess = # || 42di27 42.spf1-test.mailzone.com clone: localpart = 42di27 # || 42di27 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42di27 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x861614c) # || 42di27 42.spf1-test.mailzone.com clone: default_explanation = explanation # || 42di27 42.spf1-test.mailzone.com clone: trusted = # || 42di27 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42di27 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42di27 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42di27 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x862fd30) # || 42di27 42.spf1-test.mailzone.com clone: spf_source = domain of 42di27@10.spf1-test.mailzone.com # || 42di27 42.spf1-test.mailzone.com clone: sender = 42di27@10.spf1-test.mailzone.com # || 42di27 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| 42di27 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| 42di27 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| 42di27 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| 42di27 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42di27 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42di27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| 42di27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| 42di27 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| 42di27 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| 42di27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| 42di27 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| 42di27 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| 42di27 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| 42di27 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42di27 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42di27 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42di27 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| 42di27 42.spf1-test.mailzone.com myquery: will set error condition. # ||| 42di27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| 42di27 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42di27 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| 42di27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r:digit:}.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42di27 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| 42di27 10.spf1-test.mailzone.com header_comment: spf_source = domain of 42di27@10.spf1-test.mailzone.com # ||| 42di27 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 200 got: "error" (t/00_all.t at line 127 fail #149) # Expected: "pass" # Test 202 got: "encountered temporary error during SPF processing of domain of 42:27@10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #13) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 200,201,202: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42:27@10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | 42:27 10.spf1-test.mailzone.com localpart is 42:27 # || 42:27 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || 42:27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || 42:27 10.spf1-test.mailzone.com lookup: TXT mx -all # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || 42:27 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || 42:27 10.spf1-test.mailzone.com clone: new object: # || 42:27 10.spf1-test.mailzone.com clone: local = include:%{l1r:digit:}.%{d3} +all # || 42:27 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8618e98) # || 42:27 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42:27 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42:27 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42:27 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42:27 10.spf1-test.mailzone.com clone: debug = 1 # || 42:27 10.spf1-test.mailzone.com clone: lookup_count = 1 # || 42:27 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8640bbc) # || 42:27 10.spf1-test.mailzone.com clone: localpart = 42:27 # || 42:27 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42:27 10.spf1-test.mailzone.com clone: default_explanation = explanation # || 42:27 10.spf1-test.mailzone.com clone: trusted = # || 42:27 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42:27 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42:27 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x86407cc) # || 42:27 10.spf1-test.mailzone.com clone: spf_source = domain of 42:27@10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: sender = 42:27@10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || 42:27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:%{l1r:digit:}.%{d3} +all ?all # || 42:27 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:%{l1r:digit:}.%{d3} +all ?all # || 42:27 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=%{l1r:digit:}.%{d3} # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || 42:27 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(%{l1r:digit:}.%{d3}) +all() ?all() # || 42:27 10.spf1-test.mailzone.com macro_substitute_item: l1r:digit:: field=l, num=1, reverse=r, delim=\:digit\:, newval=42 # || 42:27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com macro_substitute: %{l1r:digit:}.%{d3} -> 42.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(%{l1r:digit:}.%{d3}) +all() -all() # || 42:27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || 42:27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r:digit:}.%{d3}) for domain=10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com macro_substitute_item: l1r:digit:: field=l, num=1, reverse=r, delim=\:digit\:, newval=42 # || 42:27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com macro_substitute: %{l1r:digit:}.%{d3} -> 42.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: new object: # || 42:27 42.spf1-test.mailzone.com clone: default_record = # || 42:27 42.spf1-test.mailzone.com clone: local = # || 42:27 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8618e98) # || 42:27 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42:27 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42:27 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42:27 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42:27 42.spf1-test.mailzone.com clone: debug = 1 # || 42:27 42.spf1-test.mailzone.com clone: lookup_count = 1 # || 42:27 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8640bbc) # || 42:27 42.spf1-test.mailzone.com clone: guess = # || 42:27 42.spf1-test.mailzone.com clone: localpart = 42:27 # || 42:27 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42:27 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x8640a3c) # || 42:27 42.spf1-test.mailzone.com clone: default_explanation = explanation # || 42:27 42.spf1-test.mailzone.com clone: trusted = # || 42:27 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42:27 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42:27 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x86407cc) # || 42:27 42.spf1-test.mailzone.com clone: spf_source = domain of 42:27@10.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: sender = 42:27@10.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| 42:27 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| 42:27 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42:27 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42:27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| 42:27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| 42:27 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| 42:27 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| 42:27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| 42:27 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| 42:27 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| 42:27 42.spf1-test.mailzone.com myquery: will set error condition. # ||| 42:27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| 42:27 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42:27 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| 42:27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r:digit:}.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42:27 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| 42:27 10.spf1-test.mailzone.com header_comment: spf_source = domain of 42:27@10.spf1-test.mailzone.com # ||| 42:27 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 203 got: "error" (t/00_all.t at line 127 fail #150) # Expected: "pass" # Test 205 got: "encountered temporary error during SPF processing of domain of 42:27@10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #14) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 203,204,205: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42:27@10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | 42:27 10.spf1-test.mailzone.com localpart is 42:27 # || 42:27 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || 42:27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || 42:27 10.spf1-test.mailzone.com lookup: TXT mx -all # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || 42:27 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || 42:27 10.spf1-test.mailzone.com clone: new object: # || 42:27 10.spf1-test.mailzone.com clone: local = include:%{l1r$foo:}.%{d3} +all # || 42:27 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x862fe14) # || 42:27 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42:27 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42:27 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42:27 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42:27 10.spf1-test.mailzone.com clone: debug = 1 # || 42:27 10.spf1-test.mailzone.com clone: lookup_count = 1 # || 42:27 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8641054) # || 42:27 10.spf1-test.mailzone.com clone: localpart = 42:27 # || 42:27 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42:27 10.spf1-test.mailzone.com clone: default_explanation = explanation # || 42:27 10.spf1-test.mailzone.com clone: trusted = # || 42:27 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42:27 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42:27 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8640fac) # || 42:27 10.spf1-test.mailzone.com clone: spf_source = domain of 42:27@10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: sender = 42:27@10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || 42:27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:%{l1r$foo:}.%{d3} +all ?all # || 42:27 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:%{l1r$foo:}.%{d3} +all ?all # || 42:27 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=%{l1r$foo:}.%{d3} # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || 42:27 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || 42:27 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(%{l1r$foo:}.%{d3}) +all() ?all() # || 42:27 10.spf1-test.mailzone.com macro_substitute_item: l1r$foo:: field=l, num=1, reverse=r, delim=$foo\:, newval=42 # || 42:27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com macro_substitute: %{l1r$foo:}.%{d3} -> 42.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(%{l1r$foo:}.%{d3}) +all() -all() # || 42:27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || 42:27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r$foo:}.%{d3}) for domain=10.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com macro_substitute_item: l1r$foo:: field=l, num=1, reverse=r, delim=$foo\:, newval=42 # || 42:27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com macro_substitute: %{l1r$foo:}.%{d3} -> 42.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || 42:27 10.spf1-test.mailzone.com clone: new object: # || 42:27 42.spf1-test.mailzone.com clone: default_record = # || 42:27 42.spf1-test.mailzone.com clone: local = # || 42:27 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x862fe14) # || 42:27 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42:27 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42:27 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42:27 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42:27 42.spf1-test.mailzone.com clone: debug = 1 # || 42:27 42.spf1-test.mailzone.com clone: lookup_count = 1 # || 42:27 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8641054) # || 42:27 42.spf1-test.mailzone.com clone: guess = # || 42:27 42.spf1-test.mailzone.com clone: localpart = 42:27 # || 42:27 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42:27 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x8618478) # || 42:27 42.spf1-test.mailzone.com clone: default_explanation = explanation # || 42:27 42.spf1-test.mailzone.com clone: trusted = # || 42:27 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42:27 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42:27 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8640fac) # || 42:27 42.spf1-test.mailzone.com clone: spf_source = domain of 42:27@10.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: sender = 42:27@10.spf1-test.mailzone.com # || 42:27 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| 42:27 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| 42:27 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42:27 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42:27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| 42:27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| 42:27 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| 42:27 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| 42:27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| 42:27 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| 42:27 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42:27 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| 42:27 42.spf1-test.mailzone.com myquery: will set error condition. # ||| 42:27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| 42:27 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42:27 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| 42:27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r$foo:}.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42:27 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| 42:27 10.spf1-test.mailzone.com header_comment: spf_source = domain of 42:27@10.spf1-test.mailzone.com # ||| 42:27 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 206 got: "error" (t/00_all.t at line 127 fail #151) # Expected: "pass" # Test 208 got: "encountered temporary error during SPF processing of domain of 42\\27@10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #15) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 206,207,208: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42\27@10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | 42\27 10.spf1-test.mailzone.com localpart is 42\27 # || 42\27 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || 42\27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || 42\27 10.spf1-test.mailzone.com lookup: TXT mx -all # || 42\27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || 42\27 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || 42\27 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || 42\27 10.spf1-test.mailzone.com clone: new object: # || 42\27 10.spf1-test.mailzone.com clone: local = include:%{l1r$fo\o:}.%{d3} +all # || 42\27 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8605da8) # || 42\27 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42\27 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42\27 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42\27 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42\27 10.spf1-test.mailzone.com clone: debug = 1 # || 42\27 10.spf1-test.mailzone.com clone: lookup_count = 1 # || 42\27 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x863060c) # || 42\27 10.spf1-test.mailzone.com clone: localpart = 42\27 # || 42\27 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42\27 10.spf1-test.mailzone.com clone: default_explanation = explanation # || 42\27 10.spf1-test.mailzone.com clone: trusted = # || 42\27 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42\27 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42\27 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x864061c) # || 42\27 10.spf1-test.mailzone.com clone: spf_source = domain of 42\27@10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com clone: sender = 42\27@10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || 42\27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:%{l1r$fo\o:}.%{d3} +all ?all # || 42\27 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:%{l1r$fo\o:}.%{d3} +all ?all # || 42\27 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || 42\27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=%{l1r$fo\o:}.%{d3} # || 42\27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || 42\27 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || 42\27 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(%{l1r$fo\o:}.%{d3}) +all() ?all() # || 42\27 10.spf1-test.mailzone.com macro_substitute_item: l1r$fo\o:: field=l, num=1, reverse=r, delim=$fo\\o\:, newval=42 # || 42\27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com macro_substitute: %{l1r$fo\o:}.%{d3} -> 42.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(%{l1r$fo\o:}.%{d3}) +all() -all() # || 42\27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || 42\27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r$fo\o:}.%{d3}) for domain=10.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com macro_substitute_item: l1r$fo\o:: field=l, num=1, reverse=r, delim=$fo\\o\:, newval=42 # || 42\27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com macro_substitute: %{l1r$fo\o:}.%{d3} -> 42.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || 42\27 10.spf1-test.mailzone.com clone: new object: # || 42\27 42.spf1-test.mailzone.com clone: default_record = # || 42\27 42.spf1-test.mailzone.com clone: local = # || 42\27 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x8605da8) # || 42\27 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42\27 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || 42\27 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42\27 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42\27 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42\27 42.spf1-test.mailzone.com clone: debug = 1 # || 42\27 42.spf1-test.mailzone.com clone: lookup_count = 1 # || 42\27 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42\27 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x863060c) # || 42\27 42.spf1-test.mailzone.com clone: guess = # || 42\27 42.spf1-test.mailzone.com clone: localpart = 42\27 # || 42\27 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42\27 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x862fc34) # || 42\27 42.spf1-test.mailzone.com clone: default_explanation = explanation # || 42\27 42.spf1-test.mailzone.com clone: trusted = # || 42\27 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42\27 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42\27 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42\27 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x864061c) # || 42\27 42.spf1-test.mailzone.com clone: spf_source = domain of 42\27@10.spf1-test.mailzone.com # || 42\27 42.spf1-test.mailzone.com clone: sender = 42\27@10.spf1-test.mailzone.com # || 42\27 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| 42\27 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| 42\27 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| 42\27 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| 42\27 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42\27 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42\27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| 42\27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| 42\27 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| 42\27 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| 42\27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| 42\27 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| 42\27 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| 42\27 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| 42\27 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42\27 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42\27 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42\27 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| 42\27 42.spf1-test.mailzone.com myquery: will set error condition. # ||| 42\27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| 42\27 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42\27 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| 42\27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r$fo\o:}.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42\27 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| 42\27 10.spf1-test.mailzone.com header_comment: spf_source = domain of 42\27@10.spf1-test.mailzone.com # ||| 42\27 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 209 got: "error" (t/00_all.t at line 127 fail #152) # Expected: "pass" # Test 211 got: "encountered temporary error during SPF processing of domain of 42-27@10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #16) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 209,210,211: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42-27@10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | 42-27 10.spf1-test.mailzone.com localpart is 42-27 # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || 42-27 10.spf1-test.mailzone.com lookup: TXT mx -all # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || 42-27 10.spf1-test.mailzone.com clone: new object: # || 42-27 10.spf1-test.mailzone.com clone: local = include:%{l1r-[]}.%{d3} +all # || 42-27 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x860f480) # || 42-27 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42-27 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42-27 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42-27 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42-27 10.spf1-test.mailzone.com clone: debug = 1 # || 42-27 10.spf1-test.mailzone.com clone: lookup_count = 1 # || 42-27 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x86404f0) # || 42-27 10.spf1-test.mailzone.com clone: localpart = 42-27 # || 42-27 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42-27 10.spf1-test.mailzone.com clone: default_explanation = explanation # || 42-27 10.spf1-test.mailzone.com clone: trusted = # || 42-27 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42-27 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42-27 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8640b20) # || 42-27 10.spf1-test.mailzone.com clone: spf_source = domain of 42-27@10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: sender = 42-27@10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || 42-27 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:%{l1r-[]}.%{d3} +all ?all # || 42-27 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:%{l1r-[]}.%{d3} +all ?all # || 42-27 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=%{l1r-[]}.%{d3} # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || 42-27 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(%{l1r-[]}.%{d3}) +all() ?all() # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: l1r-[]: field=l, num=1, reverse=r, delim=\-[\], newval=42 # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute: %{l1r-[]}.%{d3} -> 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(%{l1r-[]}.%{d3}) +all() -all() # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r-[]}.%{d3}) for domain=10.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: l1r-[]: field=l, num=1, reverse=r, delim=\-[\], newval=42 # || 42-27 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com macro_substitute: %{l1r-[]}.%{d3} -> 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || 42-27 10.spf1-test.mailzone.com clone: new object: # || 42-27 42.spf1-test.mailzone.com clone: default_record = # || 42-27 42.spf1-test.mailzone.com clone: local = # || 42-27 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x860f480) # || 42-27 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42-27 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42-27 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42-27 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42-27 42.spf1-test.mailzone.com clone: debug = 1 # || 42-27 42.spf1-test.mailzone.com clone: lookup_count = 1 # || 42-27 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x86404f0) # || 42-27 42.spf1-test.mailzone.com clone: guess = # || 42-27 42.spf1-test.mailzone.com clone: localpart = 42-27 # || 42-27 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42-27 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x862c9c0) # || 42-27 42.spf1-test.mailzone.com clone: default_explanation = explanation # || 42-27 42.spf1-test.mailzone.com clone: trusted = # || 42-27 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42-27 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42-27 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x8640b20) # || 42-27 42.spf1-test.mailzone.com clone: spf_source = domain of 42-27@10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: sender = 42-27@10.spf1-test.mailzone.com # || 42-27 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| 42-27 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| 42-27 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| 42-27 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| 42-27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| 42-27 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42-27 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| 42-27 42.spf1-test.mailzone.com myquery: will set error condition. # ||| 42-27 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| 42-27 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42-27 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| 42-27 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r-[]}.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42-27 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| 42-27 10.spf1-test.mailzone.com header_comment: spf_source = domain of 42-27@10.spf1-test.mailzone.com # ||| 42-27 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record # Test 212 got: "error" (t/00_all.t at line 127 fail #153) # Expected: "pass" # Test 214 got: "encountered temporary error during SPF processing of domain of 42327@10.spf1-test.mailzone.com" (t/00_all.t at line 130 fail #17) # Expected: "local policy includes SPF record at 42.spf1-test.mailzone.com" # Detailed debug log for test(s) 212,213,214: # | 10.spf1-test.mailzone.com new: ipv4=192.0.2.110, sender=42327@10.spf1-test.mailzone.com, helo=10.spf1-test.mailzone.com # | 42327 10.spf1-test.mailzone.com localpart is 42327 # || 42327 10.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com myquery: doing TXT query on 10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 10.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # || 42327 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: mx -all # || 42327 10.spf1-test.mailzone.com lookup: TXT mx -all # || 42327 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=mx, rhs= # || 42327 10.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # || 42327 10.spf1-test.mailzone.com inserting local policy mechanisms into +mx() -all() after position 0 # || 42327 10.spf1-test.mailzone.com clone: new object: # || 42327 10.spf1-test.mailzone.com clone: local = include:%{l1r-[]3}.%{d3} +all # || 42327 10.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x862def8) # || 42327 10.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42327 10.spf1-test.mailzone.com clone: domain = 10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42327 10.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42327 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42327 10.spf1-test.mailzone.com clone: debug = 1 # || 42327 10.spf1-test.mailzone.com clone: lookup_count = 1 # || 42327 10.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8640aa8) # || 42327 10.spf1-test.mailzone.com clone: localpart = 42327 # || 42327 10.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42327 10.spf1-test.mailzone.com clone: default_explanation = explanation # || 42327 10.spf1-test.mailzone.com clone: trusted = # || 42327 10.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42327 10.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42327 10.spf1-test.mailzone.com clone: loop_report = ARRAY(0x862e00c) # || 42327 10.spf1-test.mailzone.com clone: spf_source = domain of 42327@10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com clone: sender = 42327@10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # || 42327 10.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: v=spf1 include:%{l1r-[]3}.%{d3} +all ?all # || 42327 10.spf1-test.mailzone.com lookup: TXT v=spf1 include:%{l1r-[]3}.%{d3} +all ?all # || 42327 10.spf1-test.mailzone.com lookup: TXT version=spf1 # || 42327 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=include, rhs=%{l1r-[]3}.%{d3} # || 42327 10.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=all, rhs= # || 42327 10.spf1-test.mailzone.com lookup: TXT prefix=?, lhs=all, rhs= # || 42327 10.spf1-test.mailzone.com lookup: mec mechanisms=+include(%{l1r-[]3}.%{d3}) +all() ?all() # || 42327 10.spf1-test.mailzone.com macro_substitute_item: l1r-[]3: field=l, num=1, reverse=r, delim=\-[\]3, newval=42 # || 42327 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com macro_substitute: %{l1r-[]3}.%{d3} -> 42.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com lookup: mec mechanisms=+mx() +include(%{l1r-[]3}.%{d3}) +all() -all() # || 42327 10.spf1-test.mailzone.com evaluate_mechanism: +mx() for domain=10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com myquery: doing MX query on 10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com myquery: doing A query on mx01.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com myquery: doing A query on mx02.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com myquery: doing A query on mx03.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com evaluate_mechanism: +mx() returned # || 42327 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r-[]3}.%{d3}) for domain=10.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com macro_substitute_item: l1r-[]3: field=l, num=1, reverse=r, delim=\-[\]3, newval=42 # || 42327 10.spf1-test.mailzone.com macro_substitute_item: d3: field=d, num=3, reverse=, delim=., newval=spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com macro_substitute: %{l1r-[]3}.%{d3} -> 42.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com mechanism include: recursing into 42.spf1-test.mailzone.com # || 42327 10.spf1-test.mailzone.com clone: new object: # || 42327 42.spf1-test.mailzone.com clone: default_record = # || 42327 42.spf1-test.mailzone.com clone: local = # || 42327 42.spf1-test.mailzone.com clone: res = Net::DNS::Resolver=HASH(0x862def8) # || 42327 42.spf1-test.mailzone.com clone: last_dns_error = NOERROR # || 42327 42.spf1-test.mailzone.com clone: domain = 42.spf1-test.mailzone.com # || 42327 42.spf1-test.mailzone.com clone: spf_source_type = original-spf-record # || 42327 42.spf1-test.mailzone.com clone: myhostname = hiker.kacian # || 42327 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF record error # || 42327 42.spf1-test.mailzone.com clone: debug = 1 # || 42327 42.spf1-test.mailzone.com clone: lookup_count = 1 # || 42327 42.spf1-test.mailzone.com clone: helo = 10.spf1-test.mailzone.com # || 42327 42.spf1-test.mailzone.com clone: parent = Mail::SPF::Query=HASH(0x8640aa8) # || 42327 42.spf1-test.mailzone.com clone: guess = # || 42327 42.spf1-test.mailzone.com clone: localpart = 42327 # || 42327 42.spf1-test.mailzone.com clone: ipv4 = 192.0.2.110 # || 42327 42.spf1-test.mailzone.com clone: directive_set = DirectiveSet=HASH(0x8618298) # || 42327 42.spf1-test.mailzone.com clone: default_explanation = explanation # || 42327 42.spf1-test.mailzone.com clone: trusted = # || 42327 42.spf1-test.mailzone.com clone: orig_domain = 10.spf1-test.mailzone.com # || 42327 42.spf1-test.mailzone.com clone: sanitize = CODE(0x84e516c) # || 42327 42.spf1-test.mailzone.com clone: Reversed_IP = 110.2.0.192 # || 42327 42.spf1-test.mailzone.com clone: loop_report = ARRAY(0x862e00c) # || 42327 42.spf1-test.mailzone.com clone: spf_source = domain of 42327@10.spf1-test.mailzone.com # || 42327 42.spf1-test.mailzone.com clone: sender = 42327@10.spf1-test.mailzone.com # || 42327 42.spf1-test.mailzone.com clone: debuglog = CODE(0x8640700) # ||| 42327 42.spf1-test.mailzone.com DirectiveSet->new(): doing TXT query on 42.spf1-test.mailzone.com # ||| 42327 42.spf1-test.mailzone.com myquery: doing TXT query on 42.spf1-test.mailzone.com # ||| 42327 42.spf1-test.mailzone.com DirectiveSet->new(): TXT query on 42.spf1-test.mailzone.com returned error=, last_dns_error=NOERROR # ||| 42327 42.spf1-test.mailzone.com DirectiveSet->new(): SPF policy: exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42327 42.spf1-test.mailzone.com lookup: TXT exists:%{ir}.%{v}._spf.%{d} exists:%{ir}.%{v}._spf.%{d3} -all # ||| 42327 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d} # ||| 42327 42.spf1-test.mailzone.com lookup: TXT prefix=+, lhs=exists, rhs=%{ir}.%{v}._spf.%{d3} # ||| 42327 42.spf1-test.mailzone.com lookup: TXT prefix=-, lhs=all, rhs= # ||| 42327 42.spf1-test.mailzone.com lookup: mec mechanisms=+exists(%{ir}.%{v}._spf.%{d}) +exists(%{ir}.%{v}._spf.%{d3}) -all() # ||| 42327 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) for domain=42.spf1-test.mailzone.com # ||| 42327 42.spf1-test.mailzone.com macro_substitute_item: ir: field=i, num=, reverse=r, delim=., newval=110.2.0.192 # ||| 42327 42.spf1-test.mailzone.com macro_substitute_item: v: field=v, num=, reverse=, delim=., newval=in-addr # ||| 42327 42.spf1-test.mailzone.com macro_substitute_item: d: field=d, num=, reverse=, delim=., newval=42.spf1-test.mailzone.com # ||| 42327 42.spf1-test.mailzone.com macro_substitute: %{ir}.%{v}._spf.%{d} -> 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42327 42.spf1-test.mailzone.com mechanism exists: looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42327 42.spf1-test.mailzone.com myquery: doing A query on 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com # ||| 42327 42.spf1-test.mailzone.com myquery: 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A lookup error: REFUSED # ||| 42327 42.spf1-test.mailzone.com myquery: will set error condition. # ||| 42327 42.spf1-test.mailzone.com evaluate_mechanism: +exists(%{ir}.%{v}._spf.%{d}) returned # ||| 42327 42.spf1-test.mailzone.com returning temporary error: DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42327 10.spf1-test.mailzone.com mechanism include: got back result error / DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED / # ||| 42327 10.spf1-test.mailzone.com evaluate_mechanism: +include(%{l1r-[]3}.%{d3}) returned error DNS error while looking up 110.2.0.192.in-addr._spf.42.spf1-test.mailzone.com A: REFUSED # ||| 42327 10.spf1-test.mailzone.com saving result error to cache point and returning. # ||| 42327 10.spf1-test.mailzone.com header_comment: spf_source = domain of 42327@10.spf1-test.mailzone.com # ||| 42327 10.spf1-test.mailzone.com header_comment: spf_source_type = original-spf-record FAILED tests 60-69, 78-81, 89-97, 99, 179-182, 184-185, 187-188, 190-191, 193-194, 196-197, 199-200, 202-203, 205-206, 208-209, 211-212, 214 Failed 49/223 tests, 78.03% okay Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- t/00_all.t 223 49 60-69 78-81 89-97 99 179-182 184-185 187-188 190-191 193-194 196-197 199-200 202-203 205- 206 208-209 211-212 214 (1 subtest UNEXPECTEDLY SUCCEEDED). Failed 1/1 test scripts. 49/223 subtests failed. Files=1, Tests=223, 44 wallclock secs ( 1.81 cusr + 0.23 csys = 2.04 CPU) Failed 1/1 test programs. 49/223 subtests failed. make: *** [test_dynamic] Error 255 !!! ERROR: dev-perl/Mail-SPF-Query-1.999.1 failed. Call stack: ebuild.sh, line 1614: Called dyn_test ebuild.sh, line 1026: Called qa_call 'src_test' environment, line 3239: Called src_test ebuild.sh, line 1304: Called perl-module_src_test perl-module.eclass, line 150: Called die !!! test failed !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/log/portage/dev-perl:Mail-SPF-Query-1.999.1:20070304-141206.log'.