spf-discuss
[Top] [All Lists]

[spf-discuss] Weird Mail::SPF::Query test failure

2006-01-17 14:42:05
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

can anyone make sense of the below Mail::SPF::Query test failure?  It says
it had returned "error", but according to the debug log output, it
resulted in "pass" alright.  I don't get it...  Did I overlook something?

Julian.

- ----------  Forwarded Message  ----------
Subject: SPF Query (install problem)
Date: Tuesday, 17. January 2006 18:19
From: spacegoose(_at_)gmail(_dot_)com
To: julian(_at_)mehnle(_dot_)net

Hi Julian --

I wonder if you can advise me on this problem --can I fix, is it ok to
install anyway?

Thakns,
Bill


# make
cp lib/Mail/SPF/Query.pm blib/lib/Mail/SPF/Query.pm
cp bin/spfd blib/script/spfd
/usr/local/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spfd
cp bin/spfquery blib/script/spfquery
/usr/local/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/spfquery
Manifying blib/man1/spfd.1
Manifying blib/man1/spfquery.1
Manifying blib/man3/Mail::SPF::Query.3


# make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" 
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00_all....ok 188/223# Test 203 got: "error" (t/00_all.t at line 109 fail #176)
#     Expected: "pass"
#  t/00_all.t line 109 is:       my $ok = (! $expected_smtp_comment
t/00_all....NOK 203
|         10.spf1-test.mailzone.com new: ipv4=192.0.2.110, 
sender=42:27(_at_)10(_dot_)spf1-test(_dot_)mailzone(_dot_)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(0x54b2a4)
||       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 = mail.
||       42:27 10.spf1-test.mailzone.com clone:                debug = 1
||       42:27 10.spf1-test.mailzone.com clone: spf_error_explanation = SPF 
record error
||       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(0x57af74)
||       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:              trusted =
||       42:27 10.spf1-test.mailzone.com clone:  default_explanation = Please 
see http://www.openspf.org/why.html?sender=%{S}&ip=%{I}&receiver=%{R}
||       42:27 10.spf1-test.mailzone.com clone:          orig_domain = 
10.spf1-test.mailzone.com
||       42:27 10.spf1-test.mailzone.com clone:          Reversed_IP = 
110.2.0.192
||       42:27 10.spf1-test.mailzone.com clone:             sanitize = 
CODE(0x48cae0)
||       42:27 10.spf1-test.mailzone.com clone:          loop_report = 
ARRAY(0x544538)
||       42:27 10.spf1-test.mailzone.com clone:           spf_source = domain 
of 42:27(_at_)10(_dot_)spf1-test(_dot_)mailzone(_dot_)com
||       42:27 10.spf1-test.mailzone.com clone:               sender = 
42:27(_at_)10(_dot_)spf1-test(_dot_)mailzone(_dot_)com
||       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:  
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:  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 
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$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(0x54b2a4)
||       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 = mail.
||       42:27 42.spf1-test.mailzone.com clone:                debug = 1
||       42:27 42.spf1-test.mailzone.com clone: spf_error_explanation = SPF 
record error
||       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(0x57af74)
||       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(0x55aae8)
||       42:27 42.spf1-test.mailzone.com clone:              trusted =
||       42:27 42.spf1-test.mailzone.com clone:  default_explanation = Please 
see http://www.openspf.org/why.html?sender=%{S}&ip=%{I}&receiver=%{R}
||       42:27 42.spf1-test.mailzone.com clone:          orig_domain = 
10.spf1-test.mailzone.com
||       42:27 42.spf1-test.mailzone.com clone:          Reversed_IP = 
110.2.0.192
||       42:27 42.spf1-test.mailzone.com clone:             sanitize = 
CODE(0x48cae0)
||       42:27 42.spf1-test.mailzone.com clone:          loop_report = 
ARRAY(0x544538)
||       42:27 42.spf1-test.mailzone.com clone:           spf_source = domain 
of 42:27(_at_)10(_dot_)spf1-test(_dot_)mailzone(_dot_)com
||       42:27 42.spf1-test.mailzone.com clone:               sender = 
42:27(_at_)10(_dot_)spf1-test(_dot_)mailzone(_dot_)com
|||      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:  
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 failed: NXDOMAIN.
|||      42:27 42.spf1-test.mailzone.com   evaluate_mechanism: 
+exists(%{ir}.%{v}._spf.%{d}) returned
|||      42:27 42.spf1-test.mailzone.com   evaluate_mechanism: 
+exists(%{ir}.%{v}._spf.%{d3}) 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: d3: field=d, 
num=3, reverse=, delim=., newval=spf1-test.mailzone.com
|||      42:27 42.spf1-test.mailzone.com   macro_substitute: 
%{ir}.%{v}._spf.%{d3} -> 110.2.0.192.in-addr._spf.spf1-test.mailzone.com
|||      42:27 42.spf1-test.mailzone.com   mechanism exists: looking up 
110.2.0.192.in-addr._spf.spf1-test.mailzone.com
|||      42:27 42.spf1-test.mailzone.com   myquery: doing A query on 
110.2.0.192.in-addr._spf.spf1-test.mailzone.com
|||      42:27 42.spf1-test.mailzone.com   mechanism exists: 127.0.0.2
|||      42:27 42.spf1-test.mailzone.com   mechanism exists: we have a match.
|||      42:27 42.spf1-test.mailzone.com   myquery: doing TXT query on 
110.2.0.192.in-addr._spf.spf1-test.mailzone.com
|||      42:27 42.spf1-test.mailzone.com   evaluate_mechanism: 
+exists(%{ir}.%{v}._spf.%{d3}) returned hit 
110.2.0.192.in-addr._spf.spf1-test.mailzone.com found
|||      42:27 42.spf1-test.mailzone.com   saving result pass to cache point 
and returning.
|||      42:27 42.spf1-test.mailzone.com   macro_substitute_item: S: field=S, 
num=, reverse=, delim=., newval=42%3A27%4010.spf1-test.mailzone.com
|||      42:27 42.spf1-test.mailzone.com   macro_substitute_item: I: field=I, 
num=, reverse=, delim=., newval=192.0.2.110
|||      42:27 42.spf1-test.mailzone.com   macro_substitute_item: R: field=R, 
num=, reverse=, delim=., newval=mail
|||      42:27 42.spf1-test.mailzone.com   macro_substitute: Please see 
http://www.openspf.org/why.html?sender=%{S}&ip=%{I}&receiver=%{R} -> Please see 
 
http://www.openspf.org/why.html?sender=42%3A27%4010.spf1-test.mailzone.com&ip=192.0.2.110&receiver=mail
|||      42:27 10.spf1-test.mailzone.com   mechanism include: got back result 
pass / 110.2.0.192.in-addr._spf.spf1-test.mailzone.com found /
|||      42:27 10.spf1-test.mailzone.com   evaluate_mechanism: 
+include(%{l1r$foo:}.%{d3}) returned hit 
110.2.0.192.in-addr._spf.spf1-test.mailzone.com found
|||      42:27 10.spf1-test.mailzone.com   saving result pass to cache point 
and returning.
|||      42:27 10.spf1-test.mailzone.com   macro_substitute_item: S: field=S, 
num=, reverse=, delim=., newval=42%3A27%4010.spf1-test.mailzone.com
|||      42:27 10.spf1-test.mailzone.com   macro_substitute_item: I: field=I, 
num=, reverse=, delim=., newval=192.0.2.110
|||      42:27 10.spf1-test.mailzone.com   macro_substitute_item: R: field=R, 
num=, reverse=, delim=., newval=mail
|||      42:27 10.spf1-test.mailzone.com   macro_substitute: Please see 
http://www.openspf.org/why.html?sender=%{S}&ip=%{I}&receiver=%{R} -> Please see 
 
http://www.openspf.org/why.html?sender=42%3A27%4010.spf1-test.mailzone.com&ip=192.0.2.110&receiver=mail
|||      42:27 10.spf1-test.mailzone.com header_comment: spf_source = local 
policy includes SPF record at 42.spf1-test.mailzone.com
|||      42:27 10.spf1-test.mailzone.com header_comment: spf_source_type = from 
mechanism include
t/00_all....FAILED tests 203, 222-223
        Failed 3/223 tests, 98.65% okay
Failed Test Stat Wstat Total Fail  Failed  List of Failed
- 
-------------------------------------------------------------------------------
t/00_all.t               223    3   1.35%  203 222-223
Failed 1/1 test scripts, 0.00% okay. 3/223 subtests failed, 98.65% okay.
make: *** [test_dynamic] Error 29
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDzWR4wL7PKlBZWjsRAvIkAJ9kKIRxAPCaJKPytmcAB1bZLB0cZQCfWeGS
Ays9ZxFKEAvLSJlKHXtwHSM=
=nVWo
-----END PGP SIGNATURE-----

-------
Sender Policy Framework: http://www.openspf.org/
Archives at http://archives.listbox.com/spf-discuss/current/
To unsubscribe, change your address, or temporarily deactivate your 
subscription, 
please go to 
http://v2.listbox.com/member/?listname=spf-discuss(_at_)v2(_dot_)listbox(_dot_)com

<Prev in Thread] Current Thread [Next in Thread>