-----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