line |
true |
false |
branch |
26
|
0 |
0 |
if ($$r{'ip'} =~ /($Email::Received::RE{'net'}{'IPv4'})/) { } |
29
|
0 |
0 |
if lc $$r{'rdns'} eq 'unknown' |
46
|
0 |
0 |
if (/^\(/) |
|
0 |
0 |
if (/\sid\s+([^\s<>;]{3,})/) |
|
0 |
0 |
if (/ by .*? with (ESMTPA|ESMTPSA|LMTPA|LMTPSA|ASMTP|HTTP)\;? /i) |
|
0 |
0 |
if (/ \(SquirrelMail authenticated user /) |
|
0 |
0 |
if (/^from .*?(?:\]\)|\)\])\s+\(AUTH: (LOGIN|PLAIN|DIGEST-MD5|CRAM-MD5) \S+(?:, .*?)?\)\s+by\s+/) |
|
0 |
0 |
if (/^from .*?(?:\]\)|\)\]) .*?\(.*?authenticated.*?\).*? by/) |
|
0 |
0 |
if (/\) by .+ \(\d{1,2}\.\d\.\d{3}(?:\.\d{1,3})?\) \(authenticated as .+\) id /) |
|
0 |
0 |
if (/(?:return-path:? |envelope-(?:sender|from)[ =])(\S+)\b/i) |
|
0 |
0 |
if (/^from (\S+) \(\[($IP_ADDRESS)\][^\)]{0,40}\) by (\S+) with Microsoft SMTPSVC/) |
|
0 |
0 |
if (/^from mail pickup service by (\S+) with Microsoft SMTPSVC;/) |
|
0 |
0 |
if (/ SMTPSVC/) |
|
0 |
0 |
if (/ id <(\S+)> /) |
|
0 |
0 |
if (/ from <(\S+)>; /) |
|
0 |
0 |
if (/^from (\S+) \((\[?$IP_ADDRESS\]?)(?::\d+|)\) by (\S+)(?: \(\S+\)|) with \[XMail/) |
|
0 |
0 |
if ($$r{'sub'} =~ s/helo=(\S+)//) |
|
0 |
0 |
if ($$r{'sub'} =~ s/ident=(\S*)//) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\] \((.*?)\) by (\S+) /) |
|
0 |
0 |
if ($$r{'sub'} =~ s/helo=(\S+)//) |
|
0 |
0 |
if ($$r{'sub'} =~ s/ident=(\S*)//) |
|
0 |
0 |
if (/^from (\S+) \(\[($IP_ADDRESS)\](.*?)\) by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \[($IP_ADDRESS)\](:\d+)? by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) /) |
|
0 |
0 |
if (/ \((\S+)\) /) |
|
0 |
0 |
if (/by (\S+) /) |
|
0 |
0 |
if (/ \[($IP_ADDRESS)(?:\.\d+)?\] /) |
|
0 |
0 |
if (/by (\S+) /) |
|
0 |
0 |
if (/Exim/) |
|
0 |
0 |
if (/^from (\S+) \((\S+) \[($IP_ADDRESS)\]\) by (\S+) with \S+ \(/) |
|
0 |
0 |
if (/^from (\S+) \(\[($IP_ADDRESS)\] helo=(\S+)\) by (\S+) with /) |
|
0 |
0 |
if (/^from (\S+) \(\[($IP_ADDRESS)\]\) by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \((\S+\.\S+)\[($IP_ADDRESS)\]\) by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \((\S+) \[($IP_ADDRESS)\]\) by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \((\S+)\[($IP_ADDRESS)\]\) by (\S+) /) |
|
0 |
0 |
if (/ \(Postfix\) with/) |
|
0 |
0 |
if ($$r{'rdns'} =~ s/^IDENT:([^\@]*)\@//) |
|
0 |
0 |
if ($$r{'rdns'} =~ s/^([^\@]*)\@//) |
|
0 |
0 |
if (/^from (\S+) \((\S+) \[($IP_ADDRESS)\].*\) by (\S+) \(/) |
|
0 |
0 |
unless (/^from .* by \S+ \(qmail-\S+\) with /) |
|
0 |
0 |
if (/^from (\S+) \((\S*)\@\[($IP_ADDRESS)\].*\) by (\S+) \(/) |
|
0 |
0 |
if (/^from (\S+) /) |
|
0 |
0 |
if (/by (\S+\.hotmail\.msn\.com) /) |
|
0 |
0 |
if (m[^from (\S+) \((?:HELO|EHLO) (\S*)\) \(($IP_ADDRESS)\) by (\S+) \(qpsmtpd/(\S+)\) with (ESMTP|SMTP)]) |
|
0 |
0 |
if (/^from (\S+) \(\[($IP_ADDRESS)\]\) by (\S+) via smtpd \(for \S+\) with SMTP\(/) |
|
0 |
0 |
if (/^from (\S+) \((?:HELO|EHLO) ([^ \(\)]*)\) \((\S*)\@\[?($IP_ADDRESS)\]?\)( \(envelope-sender <\S+>\))? by (\S+)/) |
|
0 |
0 |
if (/^from (\S+) \((?:HELO|EHLO) ([^ \(\)]*)\) \(\[?($IP_ADDRESS)\]?\)( \(envelope-sender <\S+>\))? by (\S+)/) |
|
0 |
0 |
if (/^from (\S+) \((\S*)\@\[?($IP_ADDRESS)\]?\)( \(envelope-sender <\S+>\))? by (\S+)/) |
|
0 |
0 |
if (/^from (\S+) \(\[?($IP_ADDRESS)\]?\)( \(envelope-sender <\S+>\))? by (\S+)/) |
|
0 |
0 |
if (/^from \S+( \((?:HELO|EHLO) \S*\))? \((\S+\@)?\[?$IP_ADDRESS\]?\)( \(envelope-sender <\S+>\))? by \S+( \(.+\))* with (.* )?(SMTP|QMQP)/) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\] by (\S+) via HTTP\;/) |
|
0 |
0 |
if (/^from (\S+) \( \[($IP_ADDRESS)\]\).*? by (\S+) /) |
|
0 |
0 |
if (/^from \((\S+) \[($IP_ADDRESS)\]\) by (\S+) /) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\] by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \[($IP_ADDRESS)\] by (\S+) \[(\S+)\] with /) |
|
0 |
0 |
if (/^from (\S+) \(\[($IP_ADDRESS)\]\) by (\S+) \(/) |
|
0 |
0 |
if (/^from (\S+) \((\S+) \[($IP_ADDRESS)\]\).*? by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \(\[($IP_ADDRESS)\]\).*? by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \((\S+) \[($IP_ADDRESS)\]\)(?: \(authenticated bits=\d+\))? by (\S+) \(/) |
|
0 |
0 |
if (/^from (\S+) \[($IP_ADDRESS)\] by (\S+) with \S+ \(fetchmail/) |
|
0 |
0 |
if (/^from (\S+) \((?:HELO|EHLO) ([^\)]*)\) \((\S*@)?\[?($IP_ADDRESS)\]?\).* by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \((\S*@)?\[?($IP_ADDRESS)\]?\).* by (\S+) /) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\] by (\S+) with http for /) |
|
0 |
0 |
if (/^from (\S+) \[($IP_ADDRESS)\] by (\S+) with POP3 /) |
|
0 |
0 |
if (/^from (\S+)\(($IP_ADDRESS)\) by (\S+) via smap /) |
|
0 |
0 |
if (/^from (\S+)\(($IP_ADDRESS), (?:HELO|EHLO) (\S*)\) by (\S+) via smap /) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\] by (\S+) \(Post/) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\] by (\S+) \(ArGoSoft/) |
|
0 |
0 |
if (/^from ($IP_ADDRESS) by (\S+) \(InterScan/) |
|
0 |
0 |
if (/^from (\S+) by (\S+) with BSMTP/) |
|
0 |
0 |
if (/^from (\S+) \((\S+) \[($IP_ADDRESS)\]\) by (\S+) with /) |
|
0 |
0 |
if ($$r{'ip'} =~ s/([^\@]*)\@//g) |
|
0 |
0 |
if (/^from (\S+) \((?:HELO|EHLO) (\S*)\) \((\S+).*?\) by (\S+) with /) |
|
0 |
0 |
if (/^from (\S+) by (\S+) with local/) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\] \(account \S+ (?:HELO|EHLO) (\S*)\) by (\S+) \(/) |
|
0 |
0 |
if (/^from \(\[($IP_ADDRESS)\]\) by (\S+) with /) |
|
0 |
0 |
if (/^from ([^\d]\S+) \(($IP_ADDRESS)\) by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \((\S+)\) by (\S+) \(Content Technologies /) |
|
0 |
0 |
if (/^from (\S+) \(\[(\S+)\] \[(\S+)\]\) by (\S+) with /) |
|
0 |
0 |
if (/^from ($IP_ADDRESS) by (\S+) with /) |
|
0 |
0 |
if (/^from (\S+) \((\S+)\[($IP_ADDRESS)\]\) by (\S+) /) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\]\S+ \((?:HELO|EHLO) (\S*)\) by (\S+) /) |
|
0 |
0 |
if (/^from ($IP_ADDRESS) \((?:HELO|EHLO) (\S*)\) by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \[($IP_ADDRESS)\] by (\S+) /) |
|
0 |
0 |
if (/^from (\S+)\(($IP_ADDRESS)\) by (\S+) /) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\] by (\S+) \(MailGate /) |
|
0 |
0 |
if (/^from (\S+) \(unverified \[($IP_ADDRESS)\]\) by (\S+) /) |
|
0 |
0 |
if (/^from ($IP_ADDRESS) \([A-Za-z][^\)]+\) by (\S+) with /) |
|
0 |
0 |
if ($$r{'sub'} =~ s/helo=(\S+)//) |
|
0 |
0 |
if ($$r{'sub'} =~ s/ident=(\S+)//) |
|
0 |
0 |
if (/^from \[($IP_ADDRESS)\] \(([^\)]+)\) by (\S+) /) |
|
0 |
0 |
if (/^from (\S+) \((?:\S+\@)?($IP_ADDRESS)\) by (\S+) with /) |
|
0 |
0 |
if (/^from (\S+)\(($IP_ADDRESS)\)(?:, claiming to be "(\S+)")? via \S+ by (\S+),/) |
|
0 |
0 |
if (/^from/) |
|
0 |
0 |
if (/^FROM (\S+) \((\S+) \[($IP_ADDRESS)\]\) BY (\S+) (?:ID (\S+) )?/) |
|
0 |
0 |
if (/^by /) |
|
0 |
0 |
if (/^from \S+ \(\S+\@$LOCALHOST\) by \S+ \(/) |
|
0 |
0 |
if (/^from \S+ \S+ by \S+ with local-e?smtp /) |
|
0 |
0 |
if (/^from 127\.0\.0\.1 \(AVG SMTP \S+ \[\S+\]\); /) |
|
0 |
0 |
if (/^from \S+\@\S+ by \S+ /) |
|
0 |
0 |
if (m[^from Unknown/Local \(]) |
|
0 |
0 |
if (/^from $LOCALHOST \((?:\S+\@)?${LOCALHOST}[\)\[]/) |
|
0 |
0 |
if (/^from \S+ \((?:\S+\@)?$LOCALHOST\) /) |
|
0 |
0 |
if (/^from (\S+) \(\S+\@\S+ \[$LOCALHOST\]\) /) |
|
0 |
0 |
if (/^from \(AUTH: (\S+)\) by (\S+) with /) |
|
0 |
0 |
if (/^from localhost \(localhost \[\[UNIX: localhost\]\]\) by /) |
|
0 |
0 |
if (/^Message by /) |
|
0 |
0 |
if (/^FROM \S+ BY \S+ \; /) |
|
0 |
0 |
if (/^from \S+\.amazon\.com by \S+\.amazon\.com with ESMTP \(peer crosscheck: /) |
|
0 |
0 |
if (/^from [^\.]+ by \S+ with Novell_GroupWise; /) |
|
0 |
0 |
if (/^from no\.name\.available by \S+ via smtpd \(for /) |
|
0 |
0 |
if (/^from \S+ by \S+ (?:with|via|for|\()/) |
|
0 |
0 |
if (/^from (\S+) by (\S+) *\;/) |
|
0 |
0 |
if (/\bhelo=([-A-Za-z0-9\.]+)[^-A-Za-z0-9\.]/) |
|
0 |
0 |
if (/^from (\S+)[^-A-Za-z0-9\.]/) |
|
0 |
0 |
if (/\[($IP_ADDRESS)\]/) |
|
0 |
0 |
if (/ by (\S+)[^-A-Za-z0-9\;\.]/) |
47
|
0 |
2 |
if $@ |
135
|
122 |
288 |
unless /\S/ |
136
|
28 |
260 |
if (/^}\s*$/) |
137
|
28 |
0 |
if $in_given |
140
|
28 |
232 |
if (s/^GIVEN\s+//) |
142
|
0 |
28 |
s/^(\S+)=~// ? : |
144
|
0 |
28 |
unless ($re = extract_quotelike($_)) |
147
|
0 |
28 |
unless /\s*{\s*$/ |
149
|
0 |
28 |
$referent ? : |
155
|
18 |
214 |
if s/^(\S+)=~// |
158
|
202 |
30 |
if (my $re = extract_quotelike($_)) { } |
|
0 |
30 |
elsif ($referent) { } |
160
|
18 |
184 |
if $referent |
166
|
566 |
590 |
if s/^\s+// |
167
|
426 |
164 |
if (s/^SET (\w+)\s*((?:\|\|)?=)\s*(.*?);//) { } |
|
46 |
118 |
elsif (s/^IGNORE\s*//) { } |
|
118 |
0 |
elsif (s/^(DONE|UNPARSABLE)\s*;//) { } |
172
|
0 |
46 |
unless s/^\s*;// |
181
|
232 |
0 |
if (@actions) |
193
|
28 |
232 |
if ($$_{'given'}) |
195
|
2 |
26 |
$$_{'inverse'} ? : |
197
|
0 |
28 |
if $$_{'referent'} |
206
|
202 |
30 |
if ($$_{'regexp'}) { } |
209
|
18 |
184 |
if $$_{'referent'} |
217
|
0 |
232 |
unless $$_{'actions'} |
219
|
114 |
476 |
if ($$_{'action'} eq 'DONE') { } |
|
4 |
472 |
elsif ($$_{'action'} eq 'UNPARSABLE') { } |
|
46 |
426 |
elsif ($$_{'action'} eq 'IGNORE') { } |
|
426 |
0 |
elsif ($$_{'action'} eq 'SET') { } |
223
|
34 |
12 |
if ($$_{'reason'}) |