| line | % | coverage | branch |
| 637 | 50 | T | F | if ($HAS_CHI and not $_cache) |
| 100 | T | F | if ($HAS_CHI and not $_cache) |
| 757 | 50 | T | F | if ref $text eq "SCALAR" |
| 50 | T | F | if ref $text eq "SCALAR" |
| 760 | 100 | T | F | if ref $text |
| 100 | T | F | if ref $text |
| 764 | 100 | T | F | if defined $text |
| 0 | T | F | if defined $text |
| 781 | 100 | T | F | if defined $text and $text =~ /\S/ |
| 50 | T | F | if defined $text and $text =~ /\S/ |
| 1071 | 100 | T | F | if $dom and not $seen{$dom}++ |
| 100 | T | F | if $dom and not $seen{$dom}++ |
| 1077 | 100 | T | F | if $dom and not $seen{$dom}++ |
| 100 | T | F | if $dom and not $seen{$dom}++ |
| 1144 | 50 | T | F | unless ($dom) |
| 100 | T | F | unless ($dom) |
| 1148 | 50 | T | F | if $dom |
| 100 | T | F | if $dom |
| 1154 | 100 | T | F | if $u->{'abuse'} and $u->{'abuse'} ne "(unknown)" |
| 50 | T | F | if $u->{'abuse'} and $u->{'abuse'} ne "(unknown)" |
| 1162 | 100 | T | F | if $covered{$bare} |
| 100 | T | F | if $covered{$bare} |
| 1163 | 100 | T | F | if $self->_provider_abuse_for_host($bare) |
| 0 | T | F | if $self->_provider_abuse_for_host($bare) |
| 1164 | 100 | T | F | if $seen{"url:$bare"}++ |
| 0 | T | F | if $seen{"url:$bare"}++ |
| 1176 | 100 | T | F | if $source =~ /^(?:From:|Return-Path:|Sender:) header$/ |
| 50 | T | F | if $source =~ /^(?:From:|Return-Path:|Sender:) header$/ |
| 1177 | 100 | T | F | if $covered{lc $dom} |
| 50 | T | F | if $covered{lc $dom} |
| 1178 | 50 | T | F | if $self->_provider_abuse_for_host($dom) |
| 50 | T | F | if $self->_provider_abuse_for_host($dom) |
| 1179 | 50 | T | F | if $seen{"dom:$dom"}++ |
| 50 | T | F | if $seen{"dom:$dom"}++ |
| 1388 | 100 | T | F | if $self->{'_risk'} |
| 50 | T | F | if $self->{'_risk'} |
| 1407 | 100 | T | F | $score >= $SCORE_LOW ? : |
| 100 | T | F | $score >= $SCORE_MEDIUM ? : |
| 100 | T | F | $score >= $SCORE_HIGH ? : |
| 0 | T | F | $score >= $SCORE_LOW ? : |
| 50 | T | F | $score >= $SCORE_MEDIUM ? : |
| 50 | T | F | $score >= $SCORE_HIGH ? : |
| 1782 | 100 | T | F | if (@{$risk->{'flags'};}) |
| 0 | T | F | if (@{$risk->{'flags'};}) |
| 1792 | 100 | T | F | if ($orig) |
| 0 | T | F | if ($orig) |
| 1801 | 100 | T | F | if (@urls) |
| 0 | T | F | if (@urls) |
| 1806 | 50 | T | F | if $u->{'host'} |
| 0 | T | F | if $u->{'host'} |
| 1807 | 100 | T | F | if $u->{'ip'} and $u->{'ip'} ne "(unresolved)" |
| 0 | T | F | if $u->{'ip'} and $u->{'ip'} ne "(unresolved)" |
| 1808 | 100 | T | F | if $u->{'org'} and $u->{'org'} ne "(unknown)" |
| 0 | T | F | if $u->{'org'} and $u->{'org'} ne "(unknown)" |
| 1809 | 50 | T | F | if @meta |
| 0 | T | F | if @meta |
| 1816 | 100 | T | F | if (@contacts) |
| 0 | T | F | if (@contacts) |
| 1823 | 100 | T | F | if (my(@form_cs) = $self->form_contacts) |
| 0 | T | F | if (my(@form_cs) = $self->form_contacts) |
| 1829 | 50 | T | F | if $c->{'form_domain'} |
| 0 | T | F | if $c->{'form_domain'} |
| 1830 | 50 | T | F | if $c->{'form_paste'} |
| 0 | T | F | if $c->{'form_paste'} |
| 1831 | 50 | T | F | if $c->{'form_upload'} |
| 0 | T | F | if $c->{'form_upload'} |
| 2273 | 100 | T | F | unless $form |
| 0 | T | F | unless $form |
| 2274 | 100 | T | F | if $seen{$form}++ |
| 0 | T | F | if $seen{$form}++ |
| 2280 | 100 | T | F | if ($orig) |
| 0 | T | F | if ($orig) |
| 2282 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2297 | 100 | T | F | if $url_host_seen{$u->{'host'}}++ |
| 0 | T | F | if $url_host_seen{$u->{'host'}}++ |
| 2299 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2316 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2329 | 100 | T | F | if ($d->{'registrar_abuse'} and $d->{'registrar_abuse'} =~ /\@([\w.-]+)/) |
| 0 | T | F | if ($d->{'registrar_abuse'} and $d->{'registrar_abuse'} =~ /\@([\w.-]+)/) |
| 2332 | 100 | T | F | if ($rpa and $rpa->{'form'}) |
| 0 | T | F | if ($rpa and $rpa->{'form'}) |
| 2349 | 100 | T | F | $val =~ /<([^>]*)>\s*$/ ? : |
| 0 | T | F | $val =~ /<([^>]*)>\s*$/ ? : |
| 2351 | 100 | T | F | unless $addr_domain |
| 0 | T | F | unless $addr_domain |
| 2353 | 100 | T | F | if $addr_spec =~ /\+SRS[0-9]?=/i |
| 0 | T | F | if $addr_spec =~ /\+SRS[0-9]?=/i |
| 2355 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2356 | 100 | T | F | $addr_spec =~ /@/ ? : |
| 0 | T | F | $addr_spec =~ /@/ ? : |
| 2371 | 100 | T | F | if ($auth->{'dkim_domain'}) |
| 0 | T | F | if ($auth->{'dkim_domain'}) |
| 2373 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2387 | 100 | T | F | if ($unsub) |
| 0 | T | F | if ($unsub) |
| 2394 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2477 | 100 | T | F | unless defined $v |
| 0 | T | F | unless defined $v |
| 2480 | 100 | T | F | $decoded ne $v ? : |
| 0 | T | F | $decoded ne $v ? : |
| 2488 | 100 | T | F | if (@{$risk->{'flags'};}) { } |
| 0 | T | F | if (@{$risk->{'flags'};}) { } |
| 2499 | 100 | T | F | if (my $orig = $self->originating_ip) { } |
| 0 | T | F | if (my $orig = $self->originating_ip) { } |
| 2501 | 100 | T | F | if $orig->{'rdns'} |
| 0 | T | F | if $orig->{'rdns'} |
| 2502 | 100 | T | F | if $orig->{'country'} |
| 0 | T | F | if $orig->{'country'} |
| 2503 | 100 | T | F | if $orig->{'org'} |
| 0 | T | F | if $orig->{'org'} |
| 2504 | 50 | T | F | if $orig->{'abuse'} |
| 0 | T | F | if $orig->{'abuse'} |
| 2506 | 100 | T | F | if $orig->{'note'} |
| 0 | T | F | if $orig->{'note'} |
| 2514 | 100 | T | F | if (@sw) |
| 0 | T | F | if (@sw) |
| 2524 | 100 | T | F | unless defined $_->{'id'} |
| 0 | T | F | unless defined $_->{'id'} |
| 2526 | 100 | T | F | if (@trail) |
| 0 | T | F | if (@trail) |
| 2532 | 100 | T | F | if $hop->{'for'} |
| 0 | T | F | if $hop->{'for'} |
| 2533 | 100 | T | F | if $hop->{'id'} |
| 0 | T | F | if $hop->{'id'} |
| 2541 | 100 | T | F | if (@urls) { } |
| 2546 | 100 | T | F | unless (exists $host_order{$h}) |
| 0 | T | F | unless (exists $host_order{$h}) |
| 2563 | 100 | T | F | $URL_SHORTENERS{$bare} || $self->{'url_shorteners'}{$bare} ? : |
| 2565 | 100 | T | F | if $m->{'ip'} |
| 2566 | 100 | T | F | if $m->{'country'} |
| 2567 | 50 | T | F | if $m->{'org'} |
| 2568 | 50 | T | F | if $m->{'abuse'} |
| 2570 | 100 | T | F | if (@paths == 1) { } |
| 2586 | 100 | T | F | if (@mdoms) { } |
| 2590 | 100 | T | F | if ($d->{'recently_registered'}) |
| 2593 | 100 | T | F | if $d->{'registered'} |
| 2594 | 100 | T | F | if $d->{'expires'} |
| 2595 | 100 | T | F | if $d->{'registrar'} |
| 2596 | 100 | T | F | if $d->{'registrar_abuse'} |
| 2597 | 100 | T | F | if ($d->{'web_ip'}) { } |
| 2599 | 100 | T | F | if $d->{'web_org'} |
| 2600 | 100 | T | F | if $d->{'web_abuse'} |
| 2604 | 100 | T | F | if ($d->{'mx_host'}) { } |
| 2606 | 50 | T | F | if $d->{'mx_ip'} |
| 2607 | 50 | T | F | if $d->{'mx_org'} |
| 2608 | 50 | T | F | if $d->{'mx_abuse'} |
| 2612 | 100 | T | F | if ($d->{'ns_host'}) |
| 2614 | 50 | T | F | if $d->{'ns_ip'} |
| 2615 | 50 | T | F | if $d->{'ns_org'} |
| 2616 | 50 | T | F | if $d->{'ns_abuse'} |
| 2628 | 100 | T | F | if (@contacts) { } |
| 2632 | 50 | T | F | if $c->{'note'} |
| 2643 | 100 | T | F | if (@form_cs) |
| 2651 | 50 | T | F | if $c->{'form_domain'} |
| 2652 | 50 | T | F | if $c->{'note'} |
| 2653 | 50 | T | F | if ($c->{'form_paste'}) |
| 2659 | 100 | T | F | if (defined $line and length "$line $w" > $ROLE_WRAP_LEN) { } |
| 2663 | 100 | T | F | defined $line ? : |
| 2666 | 50 | T | F | if defined $line |
| 2667 | 50 | T | F | if @lines |
| 2670 | 50 | T | F | if $c->{'form_upload'} |
| 3726 | 100 | T | F | if $host =~ /^\d{1,3}(?:\.\d{1,3}){3}$/ |
| 3729 | 100 | T | F | if ($_cache) |
| 3731 | 50 | T | F | if defined $cached_ip |
| 3736 | 100 | T | F | if ($HAS_NET_DNS) { } |
| 3745 | 100 | T | F | if ($query) |
| 3747 | 100 | T | F | if ($rr->type eq 'A') { } |
| 100 | T | F | elsif ($rr->type eq 'AAAA') { } |
| 3756 | 100 | T | F | if defined $ip |
| 3761 | 100 | T | F | $packed ? : |
| 3765 | 100 | T | F | if ($_cache) |
| 3786 | 100 | T | F | unless $ip |
| 3788 | 50 | T | F | if ($HAS_NET_DNS) |
| 3791 | 50 | T | F | if ($query) |
| 3793 | 100 | T | F | if $rr->type eq "PTR" |
| 3824 | 100 | T | F | if ($_cache) |
| 3826 | 50 | T | F | if $cached |
| 3829 | 100 | T | F | $HAS_LWP ? : |
| 3832 | 100 | T | F | unless ($result->{'org'}) |
| 3834 | 100 | T | F | if ($raw) |
| 3836 | 100 | T | F | $ref ? : |
| 3837 | 100 | T | F | if $detail |
| 3842 | 100 | T | F | if $_cache and $result |
| 3863 | 100 | T | F | unless $server |
| 3925 | 100 | T | F | unless $HAS_LWP |
| 3928 | 100 | T | F | unless (defined $ua) |
| 3934 | 100 | T | F | if ($HAS_CONN_CACHE) |
| 3948 | 100 | T | F | unless ($safe_ip =~ /\A\d{1,3}(?:\.\d{1,3}){3}\z/ or $safe_ip =~ /\A[0-9a-fA-F:]+\z/) |
| 3957 | 100 | T | F | unless $res and $res->is_success |
| 3963 | 100 | T | F | if ($j =~ /"name"\s*:\s*"([^"]+)"/) |
| 3964 | 100 | T | F | if ($j =~ /"handle"\s*:\s*"([^"]+)"/) |
| 3967 | 50 | T | F | if ($j =~ /"abuse".*?"email"\s*:\s*"([^"]+)"/s) { } |
| 50 | T | F | elsif ($j =~ /"email"\s*:\s*"([^\@"]+\@[^"]+)"/) { } |
| 3974 | 50 | T | F | if ($j =~ /"country"\s*:\s*"([A-Z]{2})"/) |
| 4020 | 100 | T | F | unless length $safe_query |
| 4027 | 100 | T | F | $HAS_IO_SOCKET_IP ? : |
| 4038 | 100 | T | F | unless $sock |
| 4041 | 100 | T | F | unless ($sock->print("$safe_query\r\n")) |
| 4053 | 100 | T | F | if ($@ or not defined $n or $n <= 0) |
| 4054 | 100 | T | F | if $@ |
| 4057 | 100 | T | F | if not defined $n or $n <= 0 |
| 4379 | 50 | T | F | unless defined $params and defined $params->{'name'} |
| 4380 | 50 | T | F | if ref $params->{'name'} |