commit dovecot22 for openSUSE:Factory
Hello community, here is the log from the commit of package dovecot22 for openSUSE:Factory checked in at 2017-08-29 11:45:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dovecot22 (Old) and /work/SRC/openSUSE:Factory/.dovecot22.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "dovecot22" Tue Aug 29 11:45:01 2017 rev:32 rq:519115 version:2.2.32 Changes: -------- --- /work/SRC/openSUSE:Factory/dovecot22/dovecot22.changes 2017-07-04 09:11:30.693182653 +0200 +++ /work/SRC/openSUSE:Factory/.dovecot22.new/dovecot22.changes 2017-08-29 11:45:39.374997214 +0200 @@ -1,0 +2,109 @@ +Sun Aug 27 14:50:50 UTC 2017 - mrueckert@suse.de + +- update pigeonhole to 0.4.20 + + Made the retention period for redirect duplicate identifiers + configurable. For accounts that perform many redirects, the + lda-dupes database could grow to impractical sizes. Changed the + default retention period from 24 to 12 hours. + - sieve-filter: Fixed memory leak: forgot to clean up script + binary at end of execution. Normally, this would merely be an + inconsequential memory leak. However, when the script comes + from an LDAP storage, this would cause io leak warnings. + - managesieve-login: Fixed handling of AUTHENTICATE command. A + second authenticate command would be parsed wrong. This problem + was caused by changes in the previous release. + - LDA Sieve plugin: Fixed minor memory leak caused by not + cleaning up the sieve_discard script. + +------------------------------------------------------------------- +Thu Aug 24 15:56:03 UTC 2017 - mrueckert@suse.de + +- update to 2.2.32 + * imapc: Info-level line is logged every time when successfully + connected to the remote server. This includes local/remote + IP/port, which can be useful for matching against external + logs. + * config: Log a warning if plugin { key=no } is used explicitly. + v2.3 will support "no" properly in plugin settings, but for now + any value at all for a boolean plugin setting is treated as + "yes", even if it's written as explicit "no". This change will + now warn that it most likely won't work as intended. + + Various optimizations to avoid accessing files/directories when + it's not necessary. Especially avoid accessing mail root + directories when INDEX directories point to a different + filesystem. + + mail_location can now include ITERINDEX parameter. This tells + Dovecot to perform mailbox listing from the INDEX path instead + of from the mail root path. It's mainly useful when the INDEX + storage is on a faster storage. + + mail_location can now include VOLATILEDIR=<path> parameter. + This is used for creating lock files and in future potentially + other files that don't need to exist permanently. The path + could point to tmpfs for example. This is especially useful to + avoid creating lock files to NFS or other remote filesystems. + For example: + mail_location=sdbox:~/sdbox:VOLATILEDIR=/tmp/volatile/%2.256Nu/%u + + mail_location's LISTINDEX=<path> can now contain a full path. + This allows storing mailbox list index to a different storage + than the rest of the indexes, for example to tmpfs. + + mail_location can now include NO-NOSELECT parameter. This + automatically deletes any \NoSelect mailboxes that have no + children. These mailboxes are sometimes confusing to users. + + mail_location can now include BROKENCHAR=<char> parameter. + This can be useful with imapc to access mailbox names that + aren't valid mUTF-7 charset from remote servers. + + If mailbox_list_index_very_dirty_syncs=yes, the list index is + no longer refreshed against filesystem when listing mailboxes. + This allows the mailbox listing to be done entirely by only + reading the mailbox list index. + + Added mailbox_list_index_include_inbox setting to control + whether INBOX's STATUS information should be cached in the + mailbox list index. The default is "no", but it may be useful + to change it to "yes", especially if LISTINDEX points to tmpfs. + + userdb can return chdir=<path>, which override mail_home for + the chdir location. This can be useful to avoid accessing home + directory on login. + + userdb can return postlogin=<socket> to specify per-user + imap/pop3 postlogin socket path. + + cassandra: Add support for result paging by adding + page_size=<n> parameter to the connect setting. + + dsync/imapc, pop3-migration plugin: Strip also trailing tabs + from headers when matching mails. This helps with migrations + from Zimbra. + + imap_logout_format supports now %{appended} and %{autoexpunged} + + virtual plugin: Optimize IDLE to use mailbox list index for + finding out when something has changed. + + Added apparmor plugin. + See https://wiki2.dovecot.org/Plugins/Apparmor + - virtual plugin: A lot of fixes. In many cases it was also + working very inefficiently or even incorrectly. + - imap: NOTIFY parameter parsing was incorrectly "fixed" in + v2.2.31. It was actually (mostly) working in previous + versions, but broken in v2.2.31. + - Modseq tracking didn't always work correctly. This could have + caused imap unhibernation to fail or IMAP QRESYNC/CONDSTORE + extensions to not work perfectly. + - mdbox: "Inconsistency in map index" wasn't fixed automatically + - dict-ldap: %variable values used in the LDAP filter weren't + escaped. + - quota=count: quota_warning = -storage=.. was never executed + (try #2). v2.2.31 fixed it for -messages, but not for + -storage. + - imapc: >= 32 kB mail bodies were supposed to be cached for + subsequent FETCHes, but weren't. + - quota-status service didn't support recipient_delimiter + - acl: Don't access dovecot-acl-list files with + acl_globals_only=yes + - mail_location: If INDEX dir is set, mailbox deletion deletes + its childrens' indexes. For example if "box" is deleted, + "box/child" index directory was deleted as well (but mails were + preserved). + - director: v2.2.31 caused rapid reconnection loops to directors + that were down. +- drop patches: + de5d6bb50931ea243f582ace5a31abb11b619ffe.patch + bcb321bc62117d30bc53a872ca1154c0100aeefd.patch + 8b2d740b8182c63b76ff7ef0dd5e01710228705a.patch +- new BR: libapparmor-devel + +------------------------------------------------------------------- Old: ---- 8b2d740b8182c63b76ff7ef0dd5e01710228705a.patch bcb321bc62117d30bc53a872ca1154c0100aeefd.patch de5d6bb50931ea243f582ace5a31abb11b619ffe.patch dovecot-2.2-pigeonhole-0.4.19.tar.gz dovecot-2.2.31.tar.gz New: ---- dovecot-2.2-pigeonhole-0.4.20.tar.gz dovecot-2.2.32.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dovecot22.spec ++++++ --- /var/tmp/diff_new_pack.ceM3iY/_old 2017-08-29 11:45:43.582404133 +0200 +++ /var/tmp/diff_new_pack.ceM3iY/_new 2017-08-29 11:45:43.590403005 +0200 @@ -17,11 +17,11 @@ Name: dovecot22 -Version: 2.2.31 +Version: 2.2.32 Release: 0 %define pkg_name dovecot -%define dovecot_version 2.2.31 -%define dovecot_pigeonhole_version 0.4.19 +%define dovecot_version 2.2.32 +%define dovecot_pigeonhole_version 0.4.20 %define dovecot_branch 2.2 %define dovecot_pigeonhole_source_dir %{pkg_name}-%{dovecot_branch}-pigeonhole-%{dovecot_pigeonhole_version} %define dovecot_pigeonhole_docdir %{_docdir}/%{pkg_name}/dovecot-pigeonhole @@ -58,6 +58,7 @@ BuildRequires: bison BuildRequires: cyrus-sasl-devel BuildRequires: flex +BuildRequires: libapparmor-devel %if %{with icu} BuildRequires: libicu-devel %endif @@ -129,9 +130,6 @@ Patch: dovecot-2.2.18-dont_use_etc_ssl_certs.patch Patch1: dovecot-2.2.18-better_ssl_defaults.patch Patch2: dovecot-2.2.31-dhparams_fips_mode.patch -Patch3: bcb321bc62117d30bc53a872ca1154c0100aeefd.patch -Patch4: 8b2d740b8182c63b76ff7ef0dd5e01710228705a.patch -Patch5: de5d6bb50931ea243f582ace5a31abb11b619ffe.patch Summary: IMAP and POP3 Server Written Primarily with Security in Mind License: BSD-3-Clause and LGPL-2.1+ and MIT Group: Productivity/Networking/Email/Servers @@ -312,14 +310,12 @@ %patch -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 %{__gzip} -9v ChangeLog # Fix plugins dir. %{__sed} -i 's|#mail_plugin_dir = /usr/lib/dovecot|mail_plugin_dir = %{_libdir}/dovecot/modules|' doc/example-config/conf.d/10-mail.conf %build +autoreconf -fi export CFLAGS="%{optflags}" %if %{with clucene} export CFLAGS="$CFLAGS -I%{_libdir}" @@ -337,6 +333,7 @@ --with-gssapi=plugin \ --with-pgsql \ --with-mysql \ + --with-apparmor \ %if %{with sqlite} --with-sqlite \ %endif @@ -568,6 +565,7 @@ %dir %{_libdir}/%{pkg_name} %dir %{_libdir}/%{pkg_name}/modules/ %{_libdir}/%{pkg_name}/modules/lib01_acl_plugin.so +%{_libdir}/%{pkg_name}/modules/lib01_apparmor_plugin.so %{_libdir}/%{pkg_name}/modules/lib02_lazy_expunge_plugin.so %{_libdir}/%{pkg_name}/modules/lib05_mail_crypt_acl_plugin.so %{_libdir}/%{pkg_name}/modules/lib05_pop3_migration_plugin.so ++++++ dovecot-2.2-pigeonhole-0.4.19.tar.gz -> dovecot-2.2-pigeonhole-0.4.20.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/ChangeLog new/dovecot-2.2-pigeonhole-0.4.20/ChangeLog --- old/dovecot-2.2-pigeonhole-0.4.19/ChangeLog 2017-04-08 00:47:02.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/ChangeLog 2017-08-27 15:17:38.000000000 +0200 @@ -1,3 +1,198 @@ +2017-08-18 02:28:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7cd71ba) + + Released v0.4.20.rc1 for Dovecot v2.2.32.rc1. + + +M NEWS +M configure.ac + +2017-08-16 11:04:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f0eff5a) + + Added v0.4.18 to NEWS. + + +M NEWS + +2016-05-02 17:09:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d0f80d3) + + testsuite: Adjusted to changes in Dovecot lib-storage API. + + +M src/testsuite/testsuite-mailstore.c + +2017-07-08 10:51:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1a93191) + + sieve-tools: sieve-filter: Forgot to clean up script binary at end of + execution. + + Normally, this would merely be an inconsequential memory leak. However, when + the script comes from an LDAP storage, the storage is not closed before + master_service_deinit() -> io_loop_destroy(). The LDAP connection's stale io + can cause problems while closing the main ioloop. + +M src/sieve-tools/sieve-filter.c + +2017-07-08 10:27:52 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a7b315c) + + sieve-tools: Terminate with a fatal error when script cannot be + compiled/opened. + + Rather than continuing with binary == NULL, causing a segfault. + +M src/lib-sieve-tool/sieve-tool.c + +2017-07-06 12:34:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d6598cc) + + managesieve-login: managesieve_client_input_next_cmd(): Fix handling of + command continuation. + + Commands that continued after waiting for more input always failed. This + mainly applies to the AUTHENTICATE command, which mostly handles its own + arguments. This caused problems when a string literal was used as the + initial response for the AUTHENTICATE command. + + Caused by recent change: + + Author: Timo Sirainen <timo.sirainen@dovecot.fi> Date: Wed Jun 14 12:39:02 + 2017 +0300 + + managesieve-login: managesieve_client_input_next_cmd() - minor code cleanup + +M src/managesieve-login/client.c + +2017-07-06 12:28:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (159ab36) + + managesieve-login: authenticate command: Make sure + client->auth_mech_name_parsed is reset properly upon command error. + + This could cause problems for any subsequent AUTHENTICATE commmend. + +M src/managesieve-login/client-authenticate.c + +2017-06-28 18:41:33 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (af36600) + + LDA Sieve plugin: Fixed memory leak caused by not cleaning up the + sieve_discard script. + + Moved script cleanup to separate function as well. + +M src/plugins/lda-sieve/lda-sieve-plugin.c + +2017-06-13 19:36:57 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ccb15cc) + + lib-sieve: Made the retention period for redirect duplicate identifiers + configurable. + + For accounts that perform many redirects, the lda-dupes database could grow + to impractical sizes. Changed the default retention period from 24 to 12 + hours. + +M INSTALL +M src/lib-sieve/cmd-redirect.c +M src/lib-sieve/sieve-common.h +M src/lib-sieve/sieve-config.h +M src/lib-sieve/sieve-settings.c + +2017-06-22 21:12:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0714b34) + + lib-sieve: include extension: Fixed segfault that (sometimes) occurred when + the global script location was left unconfigured. + + +M src/lib-sieve/plugins/include/ext-include-binary.c +M src/lib-sieve/plugins/include/ext-include-common.c + +2017-06-20 23:36:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (62151b1) + + sieve-tools: Make sure sieve command line tools properly show debug messages + if requested. + + +M src/lib-sieve-tool/sieve-tool.c +M src/sieve-tools/sieve-filter.c + +2017-06-20 20:46:28 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (39d4c9e) + + lib-sieve: Clear extension context upon unload. + + +M src/lib-sieve/sieve-extensions.c + +2017-06-16 14:42:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c854655) + + managesieve-login: Adjust to new client_vfuncs.free() API change + + +M src/managesieve-login/client.c + +2017-06-14 12:39:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fbe1a74) + + managesieve-login: managesieve_client_input_next_cmd() - Add assert to help + static analyzer + + +M src/managesieve-login/client.c + +2017-06-14 12:39:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4434f69) + + managesieve-login: managesieve_client_input_next_cmd() - minor code cleanup + + +M src/managesieve-login/client.c + +2017-06-12 23:00:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7ef6680) + + managesieve-login: Adjust to login-common API change + + +M src/managesieve-login/client.c + +2017-05-24 17:00:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (183bc5b) + + Added v0.4.18 to NEWS. + + +M NEWS + +2017-04-28 00:02:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (403042e) + + lib-sieve: Fixed bug in handling of deferred implicit keep with implicit + side-effects. + + Upon continuing the deferred implicit keep, the implicit side-effects (such + as imap flags) were not applied. + +M src/lib-sieve/sieve-result.c + +2017-04-24 18:58:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b07b4c0) + + imapsieve: Use client_add_capability() for adding the dynamic capability + + +M src/plugins/imapsieve/imap-sieve-plugin.c + +2017-04-21 13:37:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (583db21) + + managesieve-login: Fill the new client_vfuncs.send_raw_data + + +M src/managesieve-login/client.c + +2017-04-12 13:17:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3346f01) + + imapsieve: Fixed flag assignment for the source message. + + Implicit keep was deferred for the source message, which discards all flags. + +M src/plugins/imapsieve/imap-sieve.c + +2017-04-05 16:02:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e506253) + + managesieve-login: Fill the new banner_sent field. + + +M src/managesieve-login/client.c + 2017-04-03 20:13:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (56ce39d) Added v0.4.17 to NEWS. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/INSTALL new/dovecot-2.2-pigeonhole-0.4.20/INSTALL --- old/dovecot-2.2-pigeonhole-0.4.19/INSTALL 2016-10-20 23:33:52.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/INSTALL 2017-08-16 11:03:39.000000000 +0200 @@ -271,6 +271,16 @@ the envelope sender of the redirected message is also always "<>", irrespective of what is configured for this setting. + sieve_redirect_duplicate_period = 12h + In an effort to halt potential mail loops, the Sieve redirect action records + identifying information for messages it has forwarded. If a duplicate message + is seen, it is not redirected and the message is discarded; i.e., the + implicit keep is canceled. This setting configures the period during which + the identifying information is recorded. If an account forwards many + messages, it may be necessary to lower this setting to prevent the + ~/.dovecot.lda-dupes database file (in which these are recorded) from growing + to an impractical size. + For example: plugin { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/NEWS new/dovecot-2.2-pigeonhole-0.4.20/NEWS --- old/dovecot-2.2-pigeonhole-0.4.19/NEWS 2017-06-26 20:54:55.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/NEWS 2017-08-27 14:41:31.000000000 +0200 @@ -1,3 +1,19 @@ +v0.4.20 27-08-2017 Stephan Bosch <stephan@rename-it.nl> + + + Made the retention period for redirect duplicate identifiers configurable. + For accounts that perform many redirects, the lda-dupes database could grow + to impractical sizes. Changed the default retention period from 24 to 12 + hours. + - sieve-filter: Fixed memory leak: forgot to clean up script binary at end of + execution. Normally, this would merely be an inconsequential memory leak. + However, when the script comes from an LDAP storage, this would cause io + leak warnings. + - managesieve-login: Fixed handling of AUTHENTICATE command. A second + authenticate command would be parsed wrong. This problem was caused by + changes in the previous release. + - LDA Sieve plugin: Fixed minor memory leak caused by not cleaning up the + sieve_discard script. + v0.4.19 26-06-2017 Stephan Bosch <stephan@rename-it.nl> * This release adjusts Pigeonhole to several changes in the Dovecot API, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/configure new/dovecot-2.2-pigeonhole-0.4.20/configure --- old/dovecot-2.2-pigeonhole-0.4.19/configure 2017-06-26 20:55:04.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/configure 2017-08-27 14:42:38.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Pigeonhole 0.4.19. +# Generated by GNU Autoconf 2.69 for Pigeonhole 0.4.20. # # Report bugs to <dovecot@dovecot.org>. # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='Pigeonhole' PACKAGE_TARNAME='dovecot-2.2-pigeonhole' -PACKAGE_VERSION='0.4.19' -PACKAGE_STRING='Pigeonhole 0.4.19' +PACKAGE_VERSION='0.4.20' +PACKAGE_STRING='Pigeonhole 0.4.20' PACKAGE_BUGREPORT='dovecot@dovecot.org' PACKAGE_URL='' @@ -1392,7 +1392,7 @@ # 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.4.19 to adapt to many kinds of systems. +\`configure' configures Pigeonhole 0.4.20 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1463,7 +1463,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Pigeonhole 0.4.19:";; + short | recursive ) echo "Configuration of Pigeonhole 0.4.20:";; esac cat <<\_ACEOF @@ -1582,7 +1582,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Pigeonhole configure 0.4.19 +Pigeonhole configure 0.4.20 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1951,7 +1951,7 @@ 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.4.19, which was +It was created by Pigeonhole $as_me 0.4.20, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2841,7 +2841,7 @@ # Define the identity of the package. PACKAGE='dovecot-2.2-pigeonhole' - VERSION='0.4.19' + VERSION='0.4.20' # Some tools Automake needs. @@ -12875,7 +12875,7 @@ # 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.4.19, which was +This file was extended by Pigeonhole $as_me 0.4.20, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -12941,7 +12941,7 @@ 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.4.19 +Pigeonhole config.status 0.4.20 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/configure.ac new/dovecot-2.2-pigeonhole-0.4.20/configure.ac --- old/dovecot-2.2-pigeonhole-0.4.19/configure.ac 2017-06-26 20:52:37.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/configure.ac 2017-08-27 14:41:11.000000000 +0200 @@ -2,7 +2,7 @@ # 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.4.19], [dovecot@dovecot.org], [dovecot-2.2-pigeonhole]) +AC_INIT([Pigeonhole], [0.4.20], [dovecot@dovecot.org], [dovecot-2.2-pigeonhole]) AC_DEFINE_UNQUOTED([PIGEONHOLE_ABI_VERSION], "0.4.ABIv2($PACKAGE_VERSION)", [Pigeonhole ABI version]) AC_CONFIG_AUX_DIR([.]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/pigeonhole-version.h new/dovecot-2.2-pigeonhole-0.4.20/pigeonhole-version.h --- old/dovecot-2.2-pigeonhole-0.4.19/pigeonhole-version.h 2017-06-22 21:32:24.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/pigeonhole-version.h 2017-08-27 14:42:44.000000000 +0200 @@ -1,6 +1,6 @@ #ifndef PIGEONHOLE_VERSION_H #define PIGEONHOLE_VERSION_H -#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (e5c7051)" +#define PIGEONHOLE_VERSION_FULL PIGEONHOLE_VERSION" (7cd71ba)" #endif /* PIGEONHOLE_VERSION_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/cmd-redirect.c new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/cmd-redirect.c --- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/cmd-redirect.c 2017-05-24 16:59:30.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/cmd-redirect.c 2017-08-27 12:53:45.000000000 +0200 @@ -30,12 +30,6 @@ #include <stdio.h> /* - * Configuration - */ - -#define CMD_REDIRECT_DUPLICATE_KEEP (3600 * 24) - -/* * Redirect command * * Syntax @@ -425,6 +419,7 @@ const struct sieve_action_exec_env *aenv, void *tr_context ATTR_UNUSED, bool *keep) { + struct sieve_instance *svinst = aenv->svinst; struct act_redirect_context *ctx = (struct act_redirect_context *) action->context; struct sieve_message_context *msgctx = aenv->msgctx; @@ -504,7 +499,7 @@ /* Mark this message id as forwarded to the specified destination */ sieve_action_duplicate_mark(senv, dupeid, strlen(dupeid), - ioloop_time + CMD_REDIRECT_DUPLICATE_KEEP); + ioloop_time + svinst->redirect_duplicate_period); sieve_result_global_log(aenv, "forwarded to <%s>", str_sanitize(ctx->to_address, 128)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-common.h new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-common.h --- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-common.h 2017-01-23 18:18:09.000000000 +0100 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-common.h 2017-08-16 11:03:39.000000000 +0200 @@ -203,6 +203,7 @@ unsigned int max_redirects; const struct sieve_address *user_email; struct sieve_address_source redirect_from; + unsigned int redirect_duplicate_period; }; /* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-config.h new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-config.h --- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-config.h 2017-01-23 18:18:09.000000000 +0100 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-config.h 2017-08-16 11:03:39.000000000 +0200 @@ -14,4 +14,6 @@ #define DEFAULT_ENVELOPE_SENDER "MAILER-DAEMON" +#define DEFAULT_REDIRECT_DUPLICATE_PERIOD (3600 * 12) + #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-settings.c new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-settings.c --- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve/sieve-settings.c 2017-05-24 16:59:30.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve/sieve-settings.c 2017-08-27 12:53:45.000000000 +0200 @@ -208,6 +208,7 @@ const char *str_setting; unsigned long long int uint_setting; size_t size_setting; + sieve_number_t period; svinst->max_script_size = SIEVE_DEFAULT_MAX_SCRIPT_SIZE; if ( sieve_setting_get_size_value @@ -231,6 +232,15 @@ svinst->pool, "sieve_redirect_envelope_from", &svinst->redirect_from); + svinst->redirect_duplicate_period = DEFAULT_REDIRECT_DUPLICATE_PERIOD; + if ( sieve_setting_get_duration_value + (svinst, "sieve_redirect_duplicate_period", &period) ) { + if (period > UINT_MAX) + svinst->redirect_duplicate_period = UINT_MAX; + else + svinst->redirect_duplicate_period = (unsigned int)period; + } + str_setting = sieve_setting_get(svinst, "sieve_user_email"); if ( str_setting != NULL && *str_setting != '\0' ) { svinst->user_email = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve-tool/sieve-tool.c new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve-tool/sieve-tool.c --- old/dovecot-2.2-pigeonhole-0.4.19/src/lib-sieve-tool/sieve-tool.c 2017-06-22 21:31:51.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/lib-sieve-tool/sieve-tool.c 2017-08-27 12:53:45.000000000 +0200 @@ -536,7 +536,7 @@ if ( (sbin = sieve_compile (svinst, filename, name, ehandler, 0, NULL)) == NULL ) - i_error("failed to compile sieve script '%s'", filename); + i_fatal("failed to compile sieve script '%s'", filename); sieve_error_handler_unref(&ehandler); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/managesieve-login/client-authenticate.c new/dovecot-2.2-pigeonhole-0.4.20/src/managesieve-login/client-authenticate.c --- old/dovecot-2.2-pigeonhole-0.4.19/src/managesieve-login/client-authenticate.c 2017-05-24 16:59:30.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/managesieve-login/client-authenticate.c 2017-08-27 12:53:45.000000000 +0200 @@ -299,8 +299,8 @@ msieve_client->skip_line = FALSE; if ( (ret=managesieve_client_auth_read_response(msieve_client, TRUE, &error)) < 0 ) { + msieve_client->auth_mech_name_parsed = FALSE; if ( error != NULL ) { - msieve_client->auth_mech_name_parsed = FALSE; client_send_no(client, error); } return 1; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/managesieve-login/client.c new/dovecot-2.2-pigeonhole-0.4.20/src/managesieve-login/client.c --- old/dovecot-2.2-pigeonhole-0.4.19/src/managesieve-login/client.c 2017-06-16 15:20:29.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/managesieve-login/client.c 2017-07-13 01:03:32.000000000 +0200 @@ -301,8 +301,10 @@ if ( args[0].type != MANAGESIEVE_ARG_EOL ) ret = -1; } - if (ret > 0) - ret = client->cmd->func(client, args); + } + if (ret > 0) { + i_assert(client->cmd != NULL); + ret = client->cmd->func(client, args); } if (ret != 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/plugins/lda-sieve/lda-sieve-plugin.c new/dovecot-2.2-pigeonhole-0.4.20/src/plugins/lda-sieve/lda-sieve-plugin.c --- old/dovecot-2.2-pigeonhole-0.4.19/src/plugins/lda-sieve/lda-sieve-plugin.c 2017-05-24 16:59:26.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/plugins/lda-sieve/lda-sieve-plugin.c 2017-07-13 01:03:05.000000000 +0200 @@ -748,6 +748,17 @@ return ret; } +static void +lda_sieve_free_scripts(struct lda_sieve_run_context *srctx) +{ + unsigned int i; + + for ( i = 0; i < srctx->script_count; i++ ) + sieve_script_unref(&srctx->scripts[i]); + if ( srctx->discard_script != NULL ) + sieve_script_unref(&srctx->discard_script); +} + static int lda_sieve_execute (struct lda_sieve_run_context *srctx, struct mail_storage **storage_r) { @@ -858,7 +869,6 @@ struct lda_sieve_run_context srctx; bool debug = mdctx->dest_user->mail_debug; struct sieve_environment svenv; - unsigned int i; int ret = 0; /* Initialize run context */ @@ -899,12 +909,10 @@ ret = -1; else if ( srctx.scripts == NULL ) ret = 0; - else { + else ret = lda_sieve_execute(&srctx, storage_r); - - for ( i = 0; i < srctx.script_count; i++ ) - sieve_script_unref(&srctx.scripts[i]); - } + + lda_sieve_free_scripts(&srctx); } T_END; /* Clean up */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/sieve-tools/sieve-filter.c new/dovecot-2.2-pigeonhole-0.4.20/src/sieve-tools/sieve-filter.c --- old/dovecot-2.2-pigeonhole-0.4.19/src/sieve-tools/sieve-filter.c 2017-06-22 21:31:51.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/sieve-tools/sieve-filter.c 2017-08-27 12:53:45.000000000 +0200 @@ -581,6 +581,10 @@ if ( move_box != NULL ) mailbox_free(&move_box); + /* Close the script binary */ + if ( main_sbin != NULL ) + sieve_close(&main_sbin); + /* Cleanup error handler */ sieve_error_handler_unref(&ehandler); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dovecot-2.2-pigeonhole-0.4.19/src/testsuite/testsuite-mailstore.c new/dovecot-2.2-pigeonhole-0.4.20/src/testsuite/testsuite-mailstore.c --- old/dovecot-2.2-pigeonhole-0.4.19/src/testsuite/testsuite-mailstore.c 2017-05-24 16:59:30.000000000 +0200 +++ new/dovecot-2.2-pigeonhole-0.4.20/src/testsuite/testsuite-mailstore.c 2017-08-27 12:53:45.000000000 +0200 @@ -97,6 +97,8 @@ if (mail_storage_create(ns, "maildir", 0, &error) < 0) i_fatal("Couldn't create testsuite storage: %s", error); + if (mail_namespaces_init_finish(ns, &error) < 0) + i_fatal("Couldn't create testsuite namespace: %s", error); testsuite_mailstore_user = mail_user; } ++++++ dovecot-2.2-pigeonhole-0.4.19.tar.gz -> dovecot-2.2.32.tar.gz ++++++ ++++ 1064118 lines of diff (skipped)
participants (1)
-
root@hilbert.suse.de