Add fix for bounces_drop_all bug
When bounces_drop_all=true
, filters such as receive_encrypted_only
were
circumvented and allowed non-encrypted senders to pass messages onto the
lists (see #508 (closed)). Please check the provided test cases for more information.
This moves the bounce-dropping mechanism from filters_runner.rb
to
runner.rb
. Thus, the decision if a bounce is being dropped will be made
entirely in runner.rb
. filters_runner.rb
will only take care of checking
for errors.
This allows us to decide if a message that ran through the filter was okay or not.
Only after that, the bounces_drop_all
option is considered.
This way we are able to return early for suppressed bounces.
I think the pipeline failures are unrelated to this code change.
Edited by abc def