blib/lib/Mail/SPF/Iterator.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 64 | 112 | 57.1 |
line | !l | l&&!r | l&&r | condition |
---|---|---|---|---|
372 | 994 | 0 | 0 | !$ip4 && $can_ip6 && eval { do { inet_pton(10, $ip) } } |
643 | 10 | 122 | 116 | $sub != \&Mail::SPF::Iterator::_got_TXT_exp and not $self->{'opt'}{'rfc4408'} |
132 | 108 | 8 | $sub != \&Mail::SPF::Iterator::_got_TXT_exp and not $self->{'opt'}{'rfc4408'} and --$self->{'limit_dns_void'} < 0 | |
713 | 1585 | 0 | 0 | not @ans and @names > 1 |
768 | 2687 | 112 | 20 | $self->{'result'} and not @rv |
830 | 1062 | 2 | 0 | $self->{'tmpresult'} and $ResultQ{$self->{'tmpresult'}[0]} > $ResultQ{$rv[0]} |
907 | 0 | 0 | 0 | $domain->{'macro'} and my(@rv) = $self->_resolve_macro_p($domain) |
1011 | 12 | 72 | 2378 | $domain =~ /[^\d.]/ and $domain =~ s/^($rx)\.?$/$1/ |
1132 | 12 | 28 | 0 | not $self->{'mech'} and my $default = $self->{'opt'}{'default_spf'} |
1293 | 20 | 200 | 6 | $qual eq 'Pass' and $_->[0] == \&Mail::SPF::Iterator::_mech_all |
1423 | 0 | 0 | 285 | $addr =~ /^[\d.]+$/ && eval { do { inet_aton($addr) } } |
1531 | 6 | 0 | 40 | $rr->type eq $atyp and exists $mx{$rr->name} |
1927 | 0 | 2 | 20 | ref $rec && $rec->{'ip'} |
line | l | !l | condition |
---|---|---|---|
462 | 0 | 0 | $timeout || 20 |
483 | 0 | 0 | $answer || [$q, $resolver->errorstring] |
559 | 34 | 0 | $err ||= 'unknown error' |
1174 | 534 | 1034 | $qual or '+' |
1198 | 12 | 0 | eval { do { $ip = inet_pton(10, $ip) } } or die "bad ip '${ip}' in '${_}'\n" |
1205 | 282 | 232 | $arg ||= '' |
1221 | 72 | 0 | $err[2]{'problem'} || 'Invalid domain name' |
1231 | 20 | 30 | $arg || '' |
1240 | 52 | 6 | $arg || '' |
1247 | 152 | 12 | $arg || '' |
1261 | 138 | 0 | $arg || '' |
1264 | 6 | 0 | $err[2]{'problem'} || 'Invalid domain name' |
1270 | 152 | 0 | $arg || '' |
1273 | 12 | 0 | $err[2]{'problem'} || 'Invalid domain name' |
1283 | 30 | 0 | $arg || '' |
1841 | 10 | 222 | $macro_delim ||= '.' |
1861 | 0 | 0 | $self->{'myname'} || 'unknown' |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
258 | 5 | 0 | 0 | eval { do { require Socket; 'Socket'->import('inet_pton', 'inet_ntop'); 'Socket'->import('AF_INET6') unless defined &Mail::SPF::Iterator::AF_INET6; 1 } } || eval { do { require Socket6; 'Socket6'->import('inet_pton', 'inet_ntop'); 'Socket6'->import('AF_INET6') unless defined &Mail::SPF::Iterator::AF_INET6; 1 } } |
373 | 994 | 0 | 0 | $ip4 or $ip6 |
463 | 0 | 0 | 0 | $resolver ||= 'Net::DNS::Resolver'->new |
486 | 0 | 0 | 0 | $status or @ans |
512 | 0 | 3289 | 1436 | $v eq '' or $v =~ m[[^0-9a-zA-Z!#$%&'*+\-/=?^_`{|}~]] |
607 | 30 | 0 | 4 | not $self->{'tmpresult'} or $ResultQ{$self->{'tmpresult'}[0]} < $ResultQ{&SPF_TempError} |
641 | 248 | 0 | 1585 | not @answer or $rcode ne 'NOERROR' |
801 | 0 | 72 | 44 | $rv[0] eq 'TempError' or $rv[0] eq 'PermError' |
1008 | 458 | 2004 | 0 | $rx ||= qr/.*?/ |
1176 | 358 | 156 | 272 | $mech eq 'a' or $mech eq 'mx' |
1608 | 34 | 0 | 0 | $self->{'clientip4'} || $self->{'clientip6'} |
1862 | 62 | 0 | 0 | $self->{'clientip4'} || $self->{'clientip6'} |
1954 | 0 | 0 | 20 | $rcode ne 'NOERROR' or not @$ans |