diff options
Diffstat (limited to 'pigeonhole')
-rw-r--r-- | pigeonhole/ChangeLog | 24 | ||||
-rw-r--r-- | pigeonhole/NEWS | 6 | ||||
-rwxr-xr-x | pigeonhole/configure | 20 | ||||
-rw-r--r-- | pigeonhole/configure.ac | 2 | ||||
-rw-r--r-- | pigeonhole/pigeonhole-version.h | 2 | ||||
-rw-r--r-- | pigeonhole/src/lib-sieve/sieve-result.c | 12 |
6 files changed, 51 insertions, 15 deletions
diff --git a/pigeonhole/ChangeLog b/pigeonhole/ChangeLog index 5768a2d..dcff0c8 100644 --- a/pigeonhole/ChangeLog +++ b/pigeonhole/ChangeLog @@ -1,3 +1,27 @@ +2024-08-13 11:18:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (49005e73) + + configure: Set version to 0.5.21.1 + + +M configure.ac + +2024-08-13 11:18:44 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9ed3d6e7) + + NEWS: Add news for 0.5.21.1 + + +M NEWS + +2023-10-10 11:32:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fc319df8) + + lib-sieve: sieve-result - If mail store fails at commit, always fail the + delivery + + If the mail store commit failed, the mail was not guaranteed to be saved. We + don't want to lose mails, even if e.g. a forward had just succeeded. + +M src/lib-sieve/sieve-result.c + 2023-08-30 15:48:42 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f6cd4b8e) configure: Set version to 0.5.21 diff --git a/pigeonhole/NEWS b/pigeonhole/NEWS index 8c09177..10e7113 100644 --- a/pigeonhole/NEWS +++ b/pigeonhole/NEWS @@ -1,3 +1,9 @@ +v0.5.21.1 2024-08-14 Aki Tuomi <aki.tuomi@open-xchange.com> + + - sieve: When saving to local storage failed after a successful action + in sieve (e.g. redirect, vacation), the mail was reported as + successfully delivered, although it was lost locally. + v0.5.21 2023-08-15 Aki Tuomi <aki.tuomi@open-xchange.com> - sieve: Using the deleteheader action on a message with a broken/invalid diff --git a/pigeonhole/configure b/pigeonhole/configure index 7c1f0ff..a4a3185 100755 --- a/pigeonhole/configure +++ b/pigeonhole/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Pigeonhole 0.5.21. +# Generated by GNU Autoconf 2.69 for Pigeonhole 0.5.21.1. # # Report bugs to <dovecot@dovecot.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Pigeonhole' PACKAGE_TARNAME='dovecot-2.3-pigeonhole' -PACKAGE_VERSION='0.5.21' -PACKAGE_STRING='Pigeonhole 0.5.21' +PACKAGE_VERSION='0.5.21.1' +PACKAGE_STRING='Pigeonhole 0.5.21.1' PACKAGE_BUGREPORT='dovecot@dovecot.org' PACKAGE_URL='' @@ -1422,7 +1422,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Pigeonhole 0.5.21 to adapt to many kinds of systems. +\`configure' configures Pigeonhole 0.5.21.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1494,7 +1494,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Pigeonhole 0.5.21:";; + short | recursive ) echo "Configuration of Pigeonhole 0.5.21.1:";; esac cat <<\_ACEOF @@ -1623,7 +1623,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Pigeonhole configure 0.5.21 +Pigeonhole configure 0.5.21.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1992,7 +1992,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Pigeonhole $as_me 0.5.21, which was +It was created by Pigeonhole $as_me 0.5.21.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2877,7 +2877,7 @@ fi # Define the identity of the package. PACKAGE='dovecot-2.3-pigeonhole' - VERSION='0.5.21' + VERSION='0.5.21.1' # Some tools Automake needs. @@ -14244,7 +14244,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Pigeonhole $as_me 0.5.21, which was +This file was extended by Pigeonhole $as_me 0.5.21.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14310,7 +14310,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Pigeonhole config.status 0.5.21 +Pigeonhole config.status 0.5.21.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/pigeonhole/configure.ac b/pigeonhole/configure.ac index 6239f62..ac573a3 100644 --- a/pigeonhole/configure.ac +++ b/pigeonhole/configure.ac @@ -2,7 +2,7 @@ AC_PREREQ([2.59]) # Be sure to update ABI version also if anything changes that might require # recompiling plugins. Most importantly that means if any structs are changed. -AC_INIT([Pigeonhole], [0.5.21], [dovecot@dovecot.org], [dovecot-2.3-pigeonhole]) +AC_INIT([Pigeonhole], [0.5.21.1], [dovecot@dovecot.org], [dovecot-2.3-pigeonhole]) AC_DEFINE_UNQUOTED([PIGEONHOLE_ABI_VERSION], "0.5.ABIv21($PACKAGE_VERSION)", [Pigeonhole ABI version]) AC_CONFIG_AUX_DIR([.]) diff --git a/pigeonhole/pigeonhole-version.h b/pigeonhole/pigeonhole-version.h index 8ef02ff..abb52f0 100644 --- a/pigeonhole/pigeonhole-version.h +++ b/pigeonhole/pigeonhole-version.h @@ -1,6 +1,6 @@ #ifndef PIGEONHOLE_VERSION_H #define PIGEONHOLE_VERSION_H -#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (f6cd4b8e)" +#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (49005e73)" #endif /* PIGEONHOLE_VERSION_H */ diff --git a/pigeonhole/src/lib-sieve/sieve-result.c b/pigeonhole/src/lib-sieve/sieve-result.c index 89d249e..be31cab 100644 --- a/pigeonhole/src/lib-sieve/sieve-result.c +++ b/pigeonhole/src/lib-sieve/sieve-result.c @@ -1274,6 +1274,7 @@ sieve_result_action_commit_or_rollback(struct sieve_result_execution *rexec, { struct sieve_result_action *rac = aexec->action; struct sieve_action *act = &rac->action; + const struct sieve_execute_env *exec_env = rexec->action_env.exec_env; /* Skip actions that are already finalized. */ if (aexec->state >= SIEVE_ACTION_EXECUTION_STATE_FINALIZED) @@ -1312,9 +1313,14 @@ sieve_result_action_commit_or_rollback(struct sieve_result_execution *rexec, /* This is bad; try to salvage as much as possible */ if (*commit_status == SIEVE_EXEC_OK) { *commit_status = cstatus; - if (!rexec->committed) { - /* We haven't executed anything yet; - continue as rollback */ + if (!rexec->committed || + exec_env->exec_status->store_failed) { + /* We haven't executed anything yet, + or storing mail locally failed; + continue as rollback. We generally + don't want to fail entirely, e.g. + a failed mail forward shouldn't + cause duplicate local deliveries. */ status = cstatus; } } |