Email-Abuse-Investigator
view release on metacpan or search on metacpan
Domain::PublicSuffix is installed, get_root_domain() is used for
accurate eTLD+1 normalisation covering the full Public Suffix List.
The existing heuristic (handling co.uk, com.au, and similar common
two-label ccTLD second-levels) is retained as a fallback when the
module is absent.
- Added parallel DNS resolution via AnyEvent::DNS. When AnyEvent::DNS
is installed and a message contains more than one unique URL hostname,
_extract_and_resolve_urls() fires all A queries concurrently via a
condvar and pre-populates the host cache before the sequential
enrichment loop runs. Falls back transparently to sequential
resolution when AnyEvent::DNS is not installed or the host list
contains only one entry.
- Added input sanitisation to parse_email(). The raw message text is
stripped of characters outside [\x09\x0A\x0D\x20-\x7E\x80-\xFF]
(i.e. C0 controls other than tab, LF, and CR, and the DEL character)
before storage in _raw and header parsing. High bytes (0x80-0xFF)
are preserved to avoid corrupting valid UTF-8 content in headers and
bodies.
( run in 0.593 second using v1.01-cache-2.11-cpan-7fcb06a456a )