https://bz.apache.org/SpamAssassin/show_bug.cgi?id=7985
Bug ID: 7985
Summary: DecodeShortURLs errors when multiple shortened urls in
message
Product: Spamassassin
Version: 4.0.0
Hardware: All
OS: All
Status: NEW
Severity: normal
Priority: P2
Component: Plugins
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: Undefined
The DecodeShortURLs plugin detects URL shortener links and also detects if a
shortener link links to another shortener link, if it returns a HTTP 200 status
which means it does actually redirect, if it returns a 404 not found, if while
following chained links it loops back on itself, or if it chains to a depth of
10.
All of those six circumstances will trigger the eval:short_url() rule. The last
five also trigger rules eval:short_url_chained(), etc.
The bug is that if a link is processed that links to another shortener link, or
returns HTTP 200 or 404, then if another shortener link is found and processed,
that clears the condition set earlier. As a result the short_url_chained or 200
or 400 rule is not triggered by the message.
To reproduce this, run the t/decodeshorturl.t test, or define rules for the
various eval rules in the plugin and run
spamassassin -t -D DecodeShortURLs < t/data/spam/decodeshorturl/chain.eml
multiple times. Depending on which of the two shortened URLs in the message
finish processing first, the result may or may not hit the short_url_chained
rule.
I have a fix that works when I test it, but I'll put it up here for review
before I commit it, as I have a question about how it might interact with
running under spamd.
--
You are receiving this mail because:
You are the assignee for the bug.