Messages from the list in the moderation queue are spam
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Curtis Hovey |
Bug Description
The openjdk list has a more than a year's backlog of held messages that they could not moderate because of timeouts. The new batching feature does allow them to moderate message, but it is clear that most are spam, and that most have an impossible email address that mailman could have used to automatically discard the message.
Mailman accepts messages claiming to be from the list. Launchpad monkey-patch rules place non-subscriber emails with Lp registered address in the moderation queue. However, the list email address is not a user, and it is controled by Launchpad--no user should ever use this address to send a message to the list. Thus any message that enters lpmoderation.hold() that has the same email address as the list (eg mlist.address in msg['From'] ) should raise Errors.
There 31249 messages in stagings MessageApproval table claim to be from the list; or 15972 that are not. 2/3 of all messages in moderations queues are spam that could be avoided with a simple sanity check in the code
This is the SQL that can be used it investigate
SELECT count(MessageAp
FROM
Person Team
JOIN MailingList ON Team.id = MailingList.team
JOIN MessageApproval ON MailingList.id = MessageApproval
WHERE
MessageAppr
I think we can write a SQL script to force these messages into the DISCARD_PENDING status so that users do not need to clear the backlog.
Related branches
- Aaron Bentley (community): Approve
-
Diff: 656 lines (+312/-140)12 files modifiedlib/canonical/launchpad/xmlrpc/__init__.py (+0/-1)
lib/lp/registry/configure.zcml (+1/-1)
lib/lp/registry/tests/mailinglists_helper.py (+27/-0)
lib/lp/registry/tests/test_doc.py (+3/-27)
lib/lp/registry/tests/test_mailinglistapi.py (+35/-28)
lib/lp/registry/xmlrpc/mailinglist.py (+12/-7)
lib/lp/services/mailman/doc/postings.txt (+0/-66)
lib/lp/services/mailman/monkeypatches/lpmoderate.py (+12/-6)
lib/lp/services/mailman/monkeypatches/xmlrpcrunner.py (+7/-2)
lib/lp/services/mailman/testing/__init__.py (+99/-0)
lib/lp/services/mailman/tests/test_lpmoderate.py (+113/-0)
lib/lp/testing/factory.py (+3/-2)
Changed in launchpad-registry: | |
assignee: | nobody → Curtis Hovey (sinzui) |
status: | Triaged → In Progress |
Changed in launchpad-registry: | |
status: | In Progress → Fix Committed |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad-registry: | |
status: | Fix Committed → Fix Released |
I set this as high because the amount of work required to manage moderation like openjdk is an indirect cause of timeouts.