]> Sergey Matveev's repositories - public-inbox.git/commit
implement ListMirror SpamAssassin plugin
authorEric Wong <e@80x24.org>
Fri, 24 Jun 2016 01:15:12 +0000 (01:15 +0000)
committerEric Wong <e@80x24.org>
Fri, 24 Jun 2016 02:00:13 +0000 (02:00 +0000)
commit3c24b7e7e47be9646226d921897cc9ec92e9be8a
tree1bad71ea6816c7af597c9fc4af6758a2a3d72280
parenta391cf5aaf7181b5e5e20eb240c7ce50cbdf8fa2
implement ListMirror SpamAssassin plugin

When running mailing list mirrors, one needs to be careful
spammers do not try to sidestep the list server we want to
mirror from and inject email into our mail directly by setting
the appropriate list headers (e.g. "X-Mailing-List" or
"List-Id").  We trust the top-most Received: header is
the one our own mail server got the mail from.

Bcc:-ing a public mailing list is a very likely indicator of
spam in my experience, so throw in an extra rule mark it.
While public-inbox-mda rejects Bcc: entirely, public-inbox-watch
needs to mirror lists which allow Bcc.

==> list_mirror.cf <==
loadplugin PublicInbox::SaPlugin::ListMirror

ifplugin PublicInbox::SaPlugin::ListMirror
  header LIST_MIRROR_RECEIVED eval:check_list_mirror_received()
  describe LIST_MIRROR_RECEIVED Received does not match trusted list server
  score LIST_MIRROR_RECEIVED 10

  header LIST_MIRROR_BCC eval:check_list_mirror_bcc()
  describe LIST_MIRROR_BCC Mailing list was Bcc-ed
  score LIST_MIRROR_BCC 1
endif

==> ~/.spamassassin/user_prefs <==
ifplugin PublicInbox::SaPlugin::ListMirror
  list_mirror X-Mailing-List git@vger.kernel.org *.kernel.org git@vger.kernel.org
endif
MANIFEST
lib/PublicInbox/SaPlugin/ListMirror.pm [new file with mode: 0644]