Condition Coverage

blib/lib/Net/DNSBL/MultiDaemon.pm
Criterion Covered Total %
condition 113 312 36.2


and 2 conditions

line l !l condition
965 0 0 not $notRHBL and $name =~ /^([a-zA-Z0-9][a-zA-Z0-9\.\-]+[a-zA-Z0-9])\.$BLzone$/ and $rip = $1 and $targetIP = 1

and 3 conditions

line !l l&&!r l&&r condition
566 192 2 4 exists $AVGs{"$b"} and exists $AVGs{"$a"}
642 175 0 0 $cache{$k1}{'used'} == $cache{$k2}{'used'} and $cache{$k1}{'expires'} > $cache{$k2}{'expires'}
747 43 0 0 $myip and $myip ne '0.0.0.0'
776 41 0 2 $$DNSBL{'IGNORE'} and ref $$DNSBL{'IGNORE'} eq 'ARRAY'
41 0 2 $$DNSBL{'IGNORE'} and ref $$DNSBL{'IGNORE'} eq 'ARRAY' and @{$$DNSBL{'IGNORE'};}
781 42 0 1 $$DNSBL{'BLOCK'} and ref $$DNSBL{'BLOCK'} eq 'ARRAY'
42 0 1 $$DNSBL{'BLOCK'} and ref $$DNSBL{'BLOCK'} eq 'ARRAY' and @{$$DNSBL{'BLOCK'};}
786 43 0 0 $$DNSBL{'BBC'} and ref $$DNSBL{'BBC'} eq 'ARRAY'
43 0 0 $$DNSBL{'BBC'} and ref $$DNSBL{'BBC'} eq 'ARRAY' and @{$$DNSBL{'BBC'};}
0 0 0 $$DNSBL{'BBC'} and ref $$DNSBL{'BBC'} eq 'ARRAY' and @{$$DNSBL{'BBC'};} and eval { do { require Geo::IP::PurePerl } }
801 0 0 0 ref $$DNSBL{'RHBL'} and exists $$DNSBL{'RHBL'}{'urbltlds'} && ref $$DNSBL{'RHBL'}{'urbltlds'} eq 'ARRAY' || exists $$DNSBL{'RHBL'}{'urblwhite'} && ref $$DNSBL{'RHBL'}{'urblwhite'} eq 'ARRAY' || exists $$DNSBL{'RHBL'}{'urblblack'} && ref $$DNSBL{'RHBL'}{'urblblack'} eq 'ARRAY'
0 0 0 ref $$DNSBL{'RHBL'} and exists $$DNSBL{'RHBL'}{'urbltlds'} && ref $$DNSBL{'RHBL'}{'urbltlds'} eq 'ARRAY' || exists $$DNSBL{'RHBL'}{'urblwhite'} && ref $$DNSBL{'RHBL'}{'urblwhite'} eq 'ARRAY' || exists $$DNSBL{'RHBL'}{'urblblack'} && ref $$DNSBL{'RHBL'}{'urblblack'} eq 'ARRAY' and eval { do { no warnings; require URBL::Prepare } }
811 0 0 0 exists $$DNSBL{'RHBL'}{'urlwhite'} and ref $$DNSBL{'RHBL'}{'urlwhite'} eq 'ARRAY'
814 0 0 0 exists $$DNSBL{'RHBL'}{'urltld3'} and ref $$DNSBL{'RHBL'}{'urltld3'} eq 'ARRAY'
817 0 0 0 exists $$DNSBL{'RHBL'}{'urltld2'} and ref $$DNSBL{'RHBL'}{'urltld2'} eq 'ARRAY'
835 43 0 0 exists $$DNSBL{'GENERIC'} and ref $$DNSBL{'GENERIC'} eq 'HASH'
43 0 0 exists $$DNSBL{'GENERIC'} and ref $$DNSBL{'GENERIC'} eq 'HASH' and $regexptr = $$DNSBL{'GENERIC'}{'regexp'}
0 0 0 exists $$DNSBL{'GENERIC'} and ref $$DNSBL{'GENERIC'} eq 'HASH' and $regexptr = $$DNSBL{'GENERIC'}{'regexp'} and ref $regexptr eq 'ARRAY'
0 0 0 exists $$DNSBL{'GENERIC'} and ref $$DNSBL{'GENERIC'} eq 'HASH' and $regexptr = $$DNSBL{'GENERIC'}{'regexp'} and ref $regexptr eq 'ARRAY' and @$regexptr > 0
841 0 0 0 $$DNSBL{'GENERIC'}{'ignore'} and 'ARRAY' eq ref($iptr = $$DNSBL{'GENERIC'}{'ignore'})
0 0 0 $$DNSBL{'GENERIC'}{'ignore'} and 'ARRAY' eq ref($iptr = $$DNSBL{'GENERIC'}{'ignore'}) and @$iptr > 0
898 0 24 27 $$Run and $ROK
923 41 0 0 $eXT and exists $$eXT{'OPCODE'}
41 0 0 $eXT and exists $$eXT{'OPCODE'} and $$eXT{'OPCODE'}($eXT, $get, $put, \$msg, $off, $id, $qr, $opcode, $aa, $tc, $rd, $ra, $mbz, $ad, $cd, $rcode, $qdcount, $ancount, $nscount, $arcount)
0 35 1 ($off, $name, $type, $class) = $get->Question(\$msg, $off) and not $name
35 0 0 $eXT && exists $$eXT{'CLASS'} && $$eXT{'CLASS'}($eXT, $get, $put, $id, $opcode, \$name, \$type, \$class)
0 34 1 not $eXT && exists $$eXT{'CLASS'} && $$eXT{'CLASS'}($eXT, $get, $put, $id, $opcode, \$name, \$type, \$class) and $class != C_IN()
34 0 0 $eXT and exists $$eXT{'NAME'}
34 0 0 $eXT and exists $$eXT{'NAME'} and $$eXT{'NAME'}($eXT, $get, $put, $id, $opcode, \$name, \$type, \$class)
959 33 0 0 $eXT and exists $$eXT{'TYPE'}
33 0 0 $eXT and exists $$eXT{'TYPE'} and my $rv = $$eXT{'TYPE'}($eXT, $get, $put, $id, $opcode, \$name, \$type, \$class)
5 1 0 $type == T_NS() and $BLzone eq lc $name
965 0 2 25 $notRHBL and $name =~ /^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}))\.(.+)/
2 0 25 $notRHBL and $name =~ /^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}))\.(.+)/ and $rip = $1
2 0 25 $notRHBL and $name =~ /^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}))\.(.+)/ and $rip = $1 and $targetIP = "$5.$4.$3.$2"
0 0 25 $notRHBL and $name =~ /^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}))\.(.+)/ and $rip = $1 and $targetIP = "$5.$4.$3.$2" and $zone = $6
0 0 25 $notRHBL and $name =~ /^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}))\.(.+)/ and $rip = $1 and $targetIP = "$5.$4.$3.$2" and $zone = $6 and $BLzone eq lc $zone
2 0 0 not $notRHBL and $name =~ /^([a-zA-Z0-9][a-zA-Z0-9\.\-]+[a-zA-Z0-9])\.$BLzone$/
2 0 0 not $notRHBL and $name =~ /^([a-zA-Z0-9][a-zA-Z0-9\.\-]+[a-zA-Z0-9])\.$BLzone$/ and $rip = $1
0 0 0 not $notRHBL and $name =~ /^([a-zA-Z0-9][a-zA-Z0-9\.\-]+[a-zA-Z0-9])\.$BLzone$/ and $rip = $1 and $targetIP = 1 and $zone = $BLzone
1 1 0 $BLzone eq lc $name and $type != T_TXT()
980 25 0 0 $eXT and exists $$eXT{'CACHE'}
25 0 0 $eXT and exists $$eXT{'CACHE'} and my $rv = $$eXT{'CACHE'}($eXT, $get, $put, $id, $opcode, $rip, \$name, \$type, \$class, $ubl)
25 0 0 not $notRHBL and $ubl
25 0 0 not $notRHBL and $ubl and do { if ($ubl->urblwhite($rip)) { not_found($put, $name, $type, $id, \$msg, $SOAptr); $rv = 'whitelisted'; } elsif ($ubl->urblblack($rip)) { ($msg) = _ansrbak($put, $id, 1, $rip, $zone, $type, 3600, A1272(), $BLzone, $myip, 'blacklisted'); $rv = 'blacklisted'; } }
25 0 0 $csize and exists $cache{$rip}
25 0 0 $csize and exists $cache{$rip} and ($expires = $cache{$rip}{'expires'}) > $now
0 23 2 $notRHBL and @NAignore
23 1 1 $notRHBL and @NAignore and matchNetAddr($targetIP, \@NAignore)
0 23 1 $notRHBL and @NAblock
23 0 1 $notRHBL and @NAblock and matchNetAddr($targetIP, \@NAblock)
0 23 0 $notRHBL and $BBC
23 0 0 $notRHBL and $BBC and $cc = $BBC->country_code_by_addr($targetIP)
23 0 0 $notRHBL and $BBC and $cc = $BBC->country_code_by_addr($targetIP) and grep(($cc eq $_), @{$$DNSBL{'BBC'};})
1046 23 0 0 $eXT and exists $$eXT{'LOOKUP'}
1116 0 0 10 $tc == 0 and $qr == 1
0 0 10 $tc == 0 and $qr == 1 and $opcode == QUERY()
0 10 0 $tc == 0 and $qr == 1 and $opcode == QUERY() and $rcode == NOERROR() || $rcode == NXDOMAIN() || $rcode == SERVFAIL()
0 0 10 $tc == 0 and $qr == 1 and $opcode == QUERY() and $rcode == NOERROR() || $rcode == NXDOMAIN() || $rcode == SERVFAIL() and $qdcount == 1
0 4 6 $tc == 0 and $qr == 1 and $opcode == QUERY() and $rcode == NOERROR() || $rcode == NXDOMAIN() || $rcode == SERVFAIL() and $qdcount == 1 and exists $remoteThreads{$rid}
1129 0 0 6 $ancount and $rcode == &NOERROR
0 0 0 $t == T_PTR() and $rcode == NXDOMAIN() || $rcode == SERVFAIL()
1135 6 0 0 $z and !$urbldom && $rip eq $1 || $urbldom && $urbldom eq $1
0 0 0 $z and !$urbldom && $rip eq $1 || $urbldom && $urbldom eq $1 and $t == T_A() || $t == T_PTR()
0 0 0 $z and !$urbldom && $rip eq $1 || $urbldom && $urbldom eq $1 and $t == T_A() || $t == T_PTR() and $class == C_IN()
1152 0 0 0 $t == T_PTR() and $blist[0] eq 'genericPTR'
1187 0 0 0 $iptr and grep(($g =~ /$_/i), @$iptr)
1188 0 0 0 $g and not grep(($g =~ /$_/i), @$regexptr)
1195 0 0 0 $csize and $answer == A1272() || $answer == A1274() || $answer == A1277()
1252 0 0 0 $eXT and exists $$eXT{'ANSWER'}
0 0 0 $eXT and exists $$eXT{'ANSWER'} and $$eXT{'ANSWER'}($eXT, $get, $put, $rid, $ttl, \$nmsg, \%remoteThreads)
1275 0 0 0 $eXT and exists $$eXT{'NOTFOUND'}
0 0 0 $eXT and exists $$eXT{'NOTFOUND'} and $$eXT{'NOTFOUND'}($eXT, $get, $put, $rid, $rip, \$type, \$zone, \$msg, \%remoteThreads)
1362 1 0 0 $eXT and exists $$eXT{'NOTFOUND'}
1 0 0 $eXT and exists $$eXT{'NOTFOUND'} and $$eXT{'NOTFOUND'}($eXT, $get, $put, $rid, $rip, \$type, \$BLzone, \$msg, \%remoteThreads)
1380 9 0 1 $refresh < $now and $newstat
1400 2 0 0 ($type == T_ANY() || $type == T_TXT()) && $withtxt

or 2 conditions

line l !l condition
744 5 21 $$DNSBL{"$_[0]"}{'timeout'} || 30
746 0 43 $$DNSBL{'MDipaddr'} || ''

or 3 conditions

line l !l&&r !l&&!r condition
567 4 0 0 $AVGs{"$b"} <=> $AVGs{"$a"} || $$STATs{"$b"} <=> $$STATs{"$a"}
642 140 0 175 $cache{$k1}{'used'} > $cache{$k2}{'used'} or $cache{$k1}{'used'} == $cache{$k2}{'used'} and $cache{$k1}{'expires'} > $cache{$k2}{'expires'}
723 23 0 0 $notRHBL or not $ubl
801 0 0 0 exists $$DNSBL{'RHBL'}{'urbltlds'} && ref $$DNSBL{'RHBL'}{'urbltlds'} eq 'ARRAY' || exists $$DNSBL{'RHBL'}{'urblwhite'} && ref $$DNSBL{'RHBL'}{'urblwhite'} eq 'ARRAY' || exists $$DNSBL{'RHBL'}{'urblblack'} && ref $$DNSBL{'RHBL'}{'urblblack'} eq 'ARRAY'
923 4 0 36 $qdcount != 1 or $ancount
4 0 36 $qdcount != 1 or $ancount or $nscount
0 0 36 $qdcount != 1 or $ancount or $nscount or $arcount
0 1 33 $eXT and exists $$eXT{'NAME'} and $$eXT{'NAME'}($eXT, $get, $put, $id, $opcode, \$name, \$type, \$class) or not $name =~ /$BLzone$/i
959 26 0 7 $type == T_A() or $type == T_ANY()
26 1 6 $type == T_A() or $type == T_ANY() or $type == T_TXT()
1 1 4 $type == T_NS() or $type == T_MX()
2 1 3 $type == T_NS() or $type == T_MX() or $type == T_SOA()
2 1 2 $type == T_NS() or $type == T_MX() or $type == T_SOA() or $type == T_CNAME()
2 0 2 $type == T_NS() or $type == T_MX() or $type == T_SOA() or $type == T_CNAME() or $type == T_TXT()
965 25 0 2 $notRHBL and $name =~ /^((\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}))\.(.+)/ and $rip = $1 and $targetIP = "$5.$4.$3.$2" and $zone = $6 and $BLzone eq lc $zone or not $notRHBL and $name =~ /^([a-zA-Z0-9][a-zA-Z0-9\.\-]+[a-zA-Z0-9])\.$BLzone$/ and $rip = $1 and $targetIP = 1 and $zone = $BLzone
1116 10 0 0 $rcode == NOERROR() || $rcode == NXDOMAIN() || $rcode == SERVFAIL()
1129 0 0 0 $rcode == NXDOMAIN() || $rcode == SERVFAIL()
1133 0 0 6 $z eq lc $blist[0] || $z eq 'in-addr.arpa' && $blist[0] eq 'genericPTR'
1135 0 0 0 !$urbldom && $rip eq $1 || $urbldom && $urbldom eq $1
0 0 0 $t == T_A() || $t == T_PTR()
1162 0 0 0 $mask & unpack('N', $answer) or grep(($IP eq $_), keys %{$$DNSBL{"$blist[0]"}{'accept'};})
1195 0 0 0 $answer == A1272() || $answer == A1274() || $answer == A1277()
1380 0 0 10 $newstat > 1 or $refresh < $now and $newstat
1399 2 0 0 $type == T_A() || $type == T_ANY()
1458 0 0 54 $id < 1 or $id > 65534