[dovecot/pigeonhole] e04361: lib-sieve: Fixed handling of an early explicit kee...
GitHub
noreply at github.com
Sat Jan 14 11:29:32 UTC 2017
Branch: refs/heads/master-0.4
Home: https://github.com/dovecot/pigeonhole
Commit: e043611e9ac4555ffdde9aab587e791fe0ed05f1
https://github.com/dovecot/pigeonhole/commit/e043611e9ac4555ffdde9aab587e791fe0ed05f1
Author: Stephan Bosch <stephan.bosch at dovecot.fi>
Date: 2017-01-14 (Sat, 14 Jan 2017)
Changed paths:
M src/lib-sieve/sieve-result.c
Log Message:
-----------
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.
Commit: d0f4804d87894e23595bb0a2026b7298ffeb9a2d
https://github.com/dovecot/pigeonhole/commit/d0f4804d87894e23595bb0a2026b7298ffeb9a2d
Author: Stephan Bosch <stephan.bosch at dovecot.fi>
Date: 2017-01-14 (Sat, 14 Jan 2017)
Changed paths:
M src/lib-sieve/sieve-result.c
Log Message:
-----------
lib-sieve: Fixed transaction context passed to finish() method of action object in two cases.
This is not currently used anywhere, so nothing actually broke.
This bug was exposed by the previous commit, causing a compiler error/warning on some compilers.
Compare: https://github.com/dovecot/pigeonhole/compare/3c071a4b6f16...d0f4804d8789
More information about the dovecot-cvs
mailing list