mail/dovecot2-pigeonhole: lib-sieve: Fixed handling of an early explicit keep during multiscript execution.
Applies to LDA/LMTP context in general, not only when sieve_before/sieve_after are used.
Action side-effects and the message snapshot would be lost at the final stage where the implicit
keep is evaluated.
This happened because the keep action itself is not actually executed, but rather its presence
is noted to determine whether more scripts need to be executed.
So, when finally execution of the actual keep action is due, i.e. when there are no more scripts in the
sequence, it overrides the explicit keep from the last script.
This didn't take the side-effects and message snapshot into account.
Approved by: adamw (Mentor)
Obtained from: https://github.com/dovecot/pigeonhole/commit/772485538302957ebada484b6eedec57136bc737
Differential Revision: https://reviews.freebsd.org/D9177