Skip to content

Add fix for bounces_drop_all bug

abc def requested to merge abc/schleuder:fix-bounces-drop-all into main

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

Merge request reports