Condition Coverage

blib/lib/Mail/SpamAssassin/Plugin/RelayEval.pm
Criterion Covered Total %
condition 1 69 1.4


and 3 conditions

line !l l&&!r l&&r condition
64 0 0 0 @parts > 1 and $parts[-1] =~ /(?:\S{3,}|ie|fr|de)/
77 0 0 0 $helo eq 'msn.com' and $rdns eq 'hotmail.com'
91 0 0 0 $rcvd =~ /\bhelo=($IP_ADDRESS)(?=[\000-\040,;\[()<>]|\z)/i and not $1 =~ /$IP_PRIVATE/
117 0 0 0 $relay->{'helo'} =~ /^$IP_ADDRESS$/ and not $relay->{'helo'} =~ /$IP_PRIVATE/
124 0 0 0 $relay->{'ip'} =~ /^$IP_ADDRESS$/ and not $relay->{'ip'} =~ /$IP_PRIVATE/
0 0 0 $relay->{'ip'} =~ /^$IP_ADDRESS$/ and not $relay->{'ip'} =~ /$IP_PRIVATE/ and $relay->{'helo'} ne $relay->{'ip'}
0 0 0 $relay->{'ip'} =~ /^$IP_ADDRESS$/ and not $relay->{'ip'} =~ /$IP_PRIVATE/ and $relay->{'helo'} ne $relay->{'ip'} and $relay->{'helo'} =~ /^(\d+\.\d+\.\d+\.)/
0 0 0 $relay->{'ip'} =~ /^$IP_ADDRESS$/ and not $relay->{'ip'} =~ /$IP_PRIVATE/ and $relay->{'helo'} ne $relay->{'ip'} and $relay->{'helo'} =~ /^(\d+\.\d+\.\d+\.)/ and index($relay->{'ip'}, $1) != 0
136 0 0 0 $pms->{'num_relays_trusted'} && !$pms->{'num_relays_untrusted'} && !$pms->{'num_relays_unparseable'}
310 0 0 0 defined $by[$i] and $by[$i] =~ /^\w+(?:[\w.-]+\.)+\w+$/
312 0 0 0 defined $from[$i] and defined $fromip[$i]
338 0 0 0 defined $hlo and defined $fip
339 0 0 0 $hlo =~ /^\d+\.\d+\.\d+\.\d+$/ and $fip =~ /^\d+\.\d+\.\d+\.\d+$/
0 0 0 $hlo =~ /^\d+\.\d+\.\d+\.\d+$/ and $fip =~ /^\d+\.\d+\.\d+\.\d+$/ and $fip ne $hlo
347 0 0 0 $hclassb and $fclassb
0 0 0 $hclassb and $fclassb and $hclassb ne $fclassb
0 0 0 $hclassb and $fclassb and $hclassb ne $fclassb and not $hlo =~ /$IP_PRIVATE/o
358 0 0 0 defined $prev and $i > 0
0 0 0 defined $prev and $i > 0 and $prev =~ /^\w+(?:[\w.-]+\.)+\w+$/
0 0 0 defined $prev and $i > 0 and $prev =~ /^\w+(?:[\w.-]+\.)+\w+$/ and $by ne $prev
0 0 0 defined $prev and $i > 0 and $prev =~ /^\w+(?:[\w.-]+\.)+\w+$/ and $by ne $prev and not _helo_forgery_whitelisted($by, $prev)

or 3 conditions

line l !l&&r !l&&!r condition
37 0 63 0 ref $class || $class
143 0 0 0 $pms->{'num_relays_trusted'} || $pms->{'num_relays_untrusted'} || $pms->{'num_relays_unparseable'}