Branch Coverage

blib/lib/Email/Received.pm
Criterion Covered Total %
branch 47 294 15.9


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+;]{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'})