baudehlo/Haraka — pull request #545 by msimerson (2014-04-06 06:08:45+00:00)
Title: Karma

karma: config file auto-refresh, cached in plugin.cfg

collect awards during reset_transaction, (before they disappear)

helo.checks scores on specific tests now rather than counting pass/fails. Duplicates aren't scored in helo.checks any more, making this more robust.

increase karma value of successful auth

penalize SPF result=None a little less (-1 was -2)

move global 'var db' to plugin.db

move deny_hooks from register() to karma_init(), so it gets refreshed if karma.ini is reloaded

refactored apply_tarpit out of should_we_deny (testability)

refactored max_concurrent and karma_penalty out of hook_connection (simpler code, easier to test)

integrated tarpit feature into karma (instead of depending on tarpit plugin)
adaptive connection delays based on score and IP/ASN history

added [thresholds]punish, with a higher threshold for penalty box admission

[penalty]hooks renamed to [deny]hooks
penalty always rejects at connect
[deny]hooks affects when a poor quality connection is rejected

moved penalties for invalid rfc5321.MailFrom/RcptTo to karma.ini (was hard coded in karma.js)

documentation updates

69 tests now.