| line | % | coverage | branch |
| 625 | 50 | T | F | if ($HAS_CHI and not $_cache) |
| 100 | T | F | if ($HAS_CHI and not $_cache) |
| 745 | 50 | T | F | if ref $text eq "SCALAR" |
| 50 | T | F | if ref $text eq "SCALAR" |
| 748 | 100 | T | F | if ref $text |
| 100 | T | F | if ref $text |
| 752 | 100 | T | F | if defined $text |
| 100 | T | F | if defined $text |
| 769 | 100 | T | F | if defined $text and $text =~ /\S/ |
| 100 | T | F | if defined $text and $text =~ /\S/ |
| 1059 | 100 | T | F | if $dom and not $seen{$dom}++ |
| 100 | T | F | if $dom and not $seen{$dom}++ |
| 1065 | 100 | T | F | if $dom and not $seen{$dom}++ |
| 100 | T | F | if $dom and not $seen{$dom}++ |
| 1132 | 50 | T | F | unless ($dom) |
| 100 | T | F | unless ($dom) |
| 1136 | 50 | T | F | if $dom |
| 100 | T | F | if $dom |
| 1142 | 100 | T | F | if $u->{'abuse'} and $u->{'abuse'} ne "(unknown)" |
| 100 | T | F | if $u->{'abuse'} and $u->{'abuse'} ne "(unknown)" |
| 1150 | 100 | T | F | if $covered{$bare} |
| 100 | T | F | if $covered{$bare} |
| 1151 | 100 | T | F | if $seen{"url:$bare"}++ |
| 0 | T | F | if $seen{"url:$bare"}++ |
| 1163 | 100 | T | F | if $source =~ /^(?:From:|Return-Path:|Sender:) header$/ |
| 0 | T | F | if $source =~ /^(?:From:|Return-Path:|Sender:) header$/ |
| 1164 | 100 | T | F | if $covered{lc $dom} |
| 50 | T | F | if $covered{lc $dom} |
| 1165 | 50 | T | F | if $seen{"dom:$dom"}++ |
| 50 | T | F | if $seen{"dom:$dom"}++ |
| 1374 | 100 | T | F | if $self->{'_risk'} |
| 50 | T | F | if $self->{'_risk'} |
| 1393 | 100 | T | F | $score >= $SCORE_LOW ? : |
| 100 | T | F | $score >= $SCORE_MEDIUM ? : |
| 100 | T | F | $score >= $SCORE_HIGH ? : |
| 50 | T | F | $score >= $SCORE_LOW ? : |
| 50 | T | F | $score >= $SCORE_MEDIUM ? : |
| 0 | T | F | $score >= $SCORE_HIGH ? : |
| 1768 | 100 | T | F | if (@{$risk->{'flags'};}) |
| 50 | T | F | if (@{$risk->{'flags'};}) |
| 1778 | 100 | T | F | if ($orig) |
| 50 | T | F | if ($orig) |
| 1787 | 100 | T | F | if (@urls) |
| 0 | T | F | if (@urls) |
| 1792 | 50 | T | F | if $u->{'host'} |
| 0 | T | F | if $u->{'host'} |
| 1793 | 100 | T | F | if $u->{'ip'} and $u->{'ip'} ne "(unresolved)" |
| 0 | T | F | if $u->{'ip'} and $u->{'ip'} ne "(unresolved)" |
| 1794 | 100 | T | F | if $u->{'org'} and $u->{'org'} ne "(unknown)" |
| 0 | T | F | if $u->{'org'} and $u->{'org'} ne "(unknown)" |
| 1795 | 50 | T | F | if @meta |
| 0 | T | F | if @meta |
| 1802 | 100 | T | F | if (@contacts) |
| 0 | T | F | if (@contacts) |
| 1809 | 100 | T | F | if (my(@form_cs) = $self->form_contacts) |
| 0 | T | F | if (my(@form_cs) = $self->form_contacts) |
| 1815 | 50 | T | F | if $c->{'form_domain'} |
| 0 | T | F | if $c->{'form_domain'} |
| 1816 | 50 | T | F | if $c->{'form_paste'} |
| 0 | T | F | if $c->{'form_paste'} |
| 1817 | 50 | T | F | if $c->{'form_upload'} |
| 0 | T | F | if $c->{'form_upload'} |
| 2259 | 100 | T | F | unless $form |
| 0 | T | F | unless $form |
| 2260 | 100 | T | F | if $seen{$form}++ |
| 0 | T | F | if $seen{$form}++ |
| 2266 | 100 | T | F | if ($orig) |
| 0 | T | F | if ($orig) |
| 2268 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2283 | 100 | T | F | if $url_host_seen{$u->{'host'}}++ |
| 0 | T | F | if $url_host_seen{$u->{'host'}}++ |
| 2285 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2302 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2315 | 100 | T | F | if ($d->{'registrar_abuse'} and $d->{'registrar_abuse'} =~ /\@([\w.-]+)/) |
| 0 | T | F | if ($d->{'registrar_abuse'} and $d->{'registrar_abuse'} =~ /\@([\w.-]+)/) |
| 2318 | 100 | T | F | if ($rpa and $rpa->{'form'}) |
| 0 | T | F | if ($rpa and $rpa->{'form'}) |
| 2335 | 100 | T | F | $val =~ /<([^>]*)>\s*$/ ? : |
| 0 | T | F | $val =~ /<([^>]*)>\s*$/ ? : |
| 2337 | 100 | T | F | unless $addr_domain |
| 0 | T | F | unless $addr_domain |
| 2339 | 100 | T | F | if $addr_spec =~ /\+SRS[0-9]?=/i |
| 0 | T | F | if $addr_spec =~ /\+SRS[0-9]?=/i |
| 2341 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2342 | 100 | T | F | $addr_spec =~ /@/ ? : |
| 0 | T | F | $addr_spec =~ /@/ ? : |
| 2357 | 100 | T | F | if ($auth->{'dkim_domain'}) |
| 0 | T | F | if ($auth->{'dkim_domain'}) |
| 2359 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2373 | 100 | T | F | if ($unsub) |
| 0 | T | F | if ($unsub) |
| 2380 | 100 | T | F | if ($pa and $pa->{'form'}) |
| 0 | T | F | if ($pa and $pa->{'form'}) |
| 2463 | 100 | T | F | unless defined $v |
| 0 | T | F | unless defined $v |
| 2466 | 100 | T | F | $decoded ne $v ? : |
| 0 | T | F | $decoded ne $v ? : |
| 2474 | 100 | T | F | if (@{$risk->{'flags'};}) { } |
| 0 | T | F | if (@{$risk->{'flags'};}) { } |
| 2485 | 100 | T | F | if (my $orig = $self->originating_ip) { } |
| 0 | T | F | if (my $orig = $self->originating_ip) { } |
| 2487 | 100 | T | F | if $orig->{'rdns'} |
| 0 | T | F | if $orig->{'rdns'} |
| 2488 | 100 | T | F | if $orig->{'country'} |
| 0 | T | F | if $orig->{'country'} |
| 2489 | 100 | T | F | if $orig->{'org'} |
| 0 | T | F | if $orig->{'org'} |
| 2490 | 50 | T | F | if $orig->{'abuse'} |
| 0 | T | F | if $orig->{'abuse'} |
| 2492 | 100 | T | F | if $orig->{'note'} |
| 0 | T | F | if $orig->{'note'} |
| 2500 | 100 | T | F | if (@sw) |
| 0 | T | F | if (@sw) |
| 2510 | 100 | T | F | unless defined $_->{'id'} |
| 0 | T | F | unless defined $_->{'id'} |
| 2512 | 100 | T | F | if (@trail) |
| 0 | T | F | if (@trail) |
| 2518 | 50 | T | F | if $hop->{'for'} |
| 0 | T | F | if $hop->{'for'} |
| 2519 | 100 | T | F | if $hop->{'id'} |
| 0 | T | F | if $hop->{'id'} |
| 2527 | 100 | T | F | if (@urls) { } |
| 2532 | 100 | T | F | unless (exists $host_order{$h}) |
| 0 | T | F | unless (exists $host_order{$h}) |
| 2549 | 100 | T | F | $URL_SHORTENERS{$bare} || $self->{'url_shorteners'}{$bare} ? : |
| 0 | T | F | $URL_SHORTENERS{$bare} || $self->{'url_shorteners'}{$bare} ? : |
| 2551 | 100 | T | F | if $m->{'ip'} |
| 0 | T | F | if $m->{'ip'} |
| 2552 | 100 | T | F | if $m->{'country'} |
| 2553 | 50 | T | F | if $m->{'org'} |
| 2554 | 50 | T | F | if $m->{'abuse'} |
| 2556 | 100 | T | F | if (@paths == 1) { } |
| 2572 | 100 | T | F | if (@mdoms) { } |
| 2576 | 100 | T | F | if ($d->{'recently_registered'}) |
| 2579 | 100 | T | F | if $d->{'registered'} |
| 2580 | 100 | T | F | if $d->{'expires'} |
| 2581 | 100 | T | F | if $d->{'registrar'} |
| 2582 | 100 | T | F | if $d->{'registrar_abuse'} |
| 2583 | 100 | T | F | if ($d->{'web_ip'}) { } |
| 2585 | 100 | T | F | if $d->{'web_org'} |
| 2586 | 100 | T | F | if $d->{'web_abuse'} |
| 2590 | 100 | T | F | if ($d->{'mx_host'}) { } |
| 2592 | 50 | T | F | if $d->{'mx_ip'} |
| 2593 | 50 | T | F | if $d->{'mx_org'} |
| 2594 | 50 | T | F | if $d->{'mx_abuse'} |
| 2598 | 100 | T | F | if ($d->{'ns_host'}) |
| 2600 | 50 | T | F | if $d->{'ns_ip'} |
| 2601 | 50 | T | F | if $d->{'ns_org'} |
| 2602 | 50 | T | F | if $d->{'ns_abuse'} |
| 2614 | 100 | T | F | if (@contacts) { } |
| 2618 | 50 | T | F | if $c->{'note'} |
| 2629 | 100 | T | F | if (@form_cs) |
| 2637 | 50 | T | F | if $c->{'form_domain'} |
| 2638 | 50 | T | F | if $c->{'note'} |
| 2639 | 50 | T | F | if ($c->{'form_paste'}) |
| 2645 | 100 | T | F | if (defined $line and length "$line $w" > $ROLE_WRAP_LEN) { } |
| 2649 | 100 | T | F | defined $line ? : |
| 2652 | 50 | T | F | if defined $line |
| 2653 | 50 | T | F | if @lines |
| 2656 | 50 | T | F | if $c->{'form_upload'} |
| 3712 | 100 | T | F | if $host =~ /^\d{1,3}(?:\.\d{1,3}){3}$/ |
| 3715 | 100 | T | F | if ($_cache) |
| 3717 | 100 | T | F | if defined $cached_ip |
| 3722 | 100 | T | F | if ($HAS_NET_DNS) { } |
| 3731 | 100 | T | F | if ($query) |
| 3733 | 100 | T | F | if ($rr->type eq 'A') { } |
| 100 | T | F | elsif ($rr->type eq 'AAAA') { } |
| 3742 | 100 | T | F | if defined $ip |
| 3747 | 100 | T | F | $packed ? : |
| 3751 | 100 | T | F | if ($_cache) |
| 3772 | 100 | T | F | unless $ip |
| 3774 | 100 | T | F | if ($HAS_NET_DNS) |
| 3777 | 100 | T | F | if ($query) |
| 3779 | 100 | T | F | if $rr->type eq "PTR" |
| 3810 | 100 | T | F | if ($_cache) |
| 3812 | 100 | T | F | if $cached |
| 3815 | 100 | T | F | $HAS_LWP ? : |
| 3818 | 100 | T | F | unless ($result->{'org'}) |
| 3820 | 100 | T | F | if ($raw) |
| 3822 | 100 | T | F | $ref ? : |
| 3823 | 100 | T | F | if $detail |
| 3828 | 100 | T | F | if $_cache and $result |
| 3849 | 100 | T | F | unless $server |
| 3901 | 100 | T | F | unless $HAS_LWP |
| 3904 | 100 | T | F | unless (defined $ua) |
| 3910 | 100 | T | F | if ($HAS_CONN_CACHE) |
| 3923 | 100 | T | F | unless $res and $res->is_success |
| 3929 | 100 | T | F | if ($j =~ /"name"\s*:\s*"([^"]+)"/) |
| 3930 | 100 | T | F | if ($j =~ /"handle"\s*:\s*"([^"]+)"/) |
| 3933 | 100 | T | F | if ($j =~ /"abuse".*?"email"\s*:\s*"([^"]+)"/s) { } |
| 100 | T | F | elsif ($j =~ /"email"\s*:\s*"([^\@"]+\@[^"]+)"/) { } |
| 3940 | 100 | T | F | if ($j =~ /"country"\s*:\s*"([A-Z]{2})"/) |
| 3974 | 100 | T | F | $HAS_IO_SOCKET_IP ? : |
| 3985 | 100 | T | F | unless $sock |
| 3988 | 100 | T | F | unless ($sock->print("$query\r\n")) |
| 4000 | 100 | T | F | if ($@ or not defined $n or $n <= 0) |
| 4001 | 100 | T | F | if $@ |
| 4004 | 100 | T | F | if not defined $n or $n <= 0 |
| 4326 | 100 | T | F | unless defined $params and defined $params->{'name'} |
| 4327 | 100 | T | F | if ref $params->{'name'} |