http://dovecot.org/releases/2.2/rc/dovecot-2.2.25.rc1.tar.gz http://dovecot.org/releases/2.2/rc/dovecot-2.2.25.rc1.tar.gz.sig Quite a lot of changes. Please test out before the final v2.2.25 release, which I'm planning for tomorrow. Especially the new lib-dcrypt might have compiling problems with some OpenSSL versions. * lmtp: Start tracking lmtp_user_concurrency_limit and reject already at RCPT TO stage. This avoids MTA unnecessarily completing DATA only to get an error. * doveadm: Previously only mail settings were read from protocol doveadm { .. } section. Now all settings are. + quota: Added quota_over_flag_lazy_check setting. It avoids checking quota_over_flag always at startup. Instead it's checked only when quota is being read for some other purpose. + auth: Added a new auth policy service: http://wiki2.dovecot.org/Authentication/Policy + auth: Added PBKDF2 password scheme + auth: Added %{auth_user}, %{auth_username} and %{auth_domain} + auth: Added ":remove" suffix to extra field names to remove them. + auth: Added "delay_until=<timestamp>[+<max random secs>]" passdb extra field. The auth will wait until <timestamp> and optionally some randomness and then return success. + dict proxy: Added idle_msecs=<n> parameter. Support async operations. + Performance improvements for handling large mailboxes. + Added lib-dcrypt API for providing cryptographic functions. + Added "doveadm mailbox update" command + imap commands' output now includes timing spent on the "syncing" stage if it's larger than 0. + cassandra: Added metrics=<path> to connect setting to output internal statistics in JSON format every second to <path>. + doveadm mailbox delete: Added -e parameter to delete only empty mailboxes. Added --unsafe option to quickly delete a mailbox, bypassing lazy_expunge and quota plugins. + doveadm user & auth cache flush are now available via doveadm-server. + doveadm service stop <services> will stop specified services while leaving the rest of Dovecot running. + quota optimization: Avoid reading mail sizes for backends which don't need them (count, fs, dirsize) + Added mailbox { autoexpunge_max_mails=<n> } setting. + Added welcome plugin: http://wiki2.dovecot.org/Plugins/Welcome + fts: Added fts_autoindex_exclude setting. - v2.2.24's MIME parser was assert-crashing on mails having truncated MIME headers. - auth: With multiple userdbs the final success/failure result wasn't always correct. The last userdb's result was always used. - doveadm backup was sometimes deleting entire mailboxes unnecessarily. - doveadm: Command -parameters weren't being sent to doveadm-server. - If dovecot.index read failed e.g. because mmap() reached VSZ limit, an empty index could have been opened instead, corrupting the mailbox state. - imapc: Fixed EXPUNGE handling when imapc_features didn't have modseq. - lazy-expunge: Fixed a crash when copying failed. Various other fixes. - fts-lucene: Fixed crash on index rescan. - auth_stats=yes produced broken output - dict-ldap: Various fixes - dict-sql: NULL values crashed. Now they're treated as "not found".
On 30 Jun 2016, at 15:49, Timo Sirainen <tss at iki.fi> wrote:> > http://dovecot.org/releases/2.2/rc/dovecot-2.2.25.rc1.tar.gz > http://dovecot.org/releases/2.2/rc/dovecot-2.2.25.rc1.tar.gz.sig > > Quite a lot of changes. Please test out before the final v2.2.25 release, which I'm planning for tomorrow. Especially the new lib-dcrypt might have compiling problems with some OpenSSL versions.Oh, forgot to include https://github.com/dovecot/core/commit/3c432ac593a4df5658eec0e88e03285a1345a75a in there. Just means that stopping Dovecot takes a few seconds longer than normally.
On 30/06/2016 13:49, Timo Sirainen wrote:> http://dovecot.org/releases/2.2/rc/dovecot-2.2.25.rc1.tar.gzCompiling on Solaris with studio compiler gives: "dcrypt.c", line 139: void function cannot return value cc: acomp failed for dcrypt.c --- ../original/src/lib-dcrypt/dcrypt.c 2016-06-27 10:05:04.000000000 +0100 +++ src/lib-dcrypt/dcrypt.c 2016-06-30 14:12:29.466826659 +0100 @@ -136,7 +136,7 @@ void dcrypt_ctx_sym_set_padding(struct dcrypt_context_symmetric *ctx, bool padding) { - return dcrypt_vfs->ctx_sym_set_padding(ctx, padding); + dcrypt_vfs->ctx_sym_set_padding(ctx, padding); } bool dcrypt_ctx_hmac_create(const char *algorithm, struct dcrypt_context_hmac **ctx_r, const char **error_r)
FreeBSD 9.3-STABLE FreeBSD 9.3-STABLE amd64: [wash at waridi ~/Tools/Dovecot/2.2/dovecot-2.2.25.rc1]$ make make all-recursive Making all in . /bin/sh ./update-version.sh . . Making all in src Making all in lib-test Making all in lib make all-am /bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/local/include -MT guid.lo -MD -MP -MF .deps/guid.Tpo -c -o guid.lo guid.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I/usr/local/include -MT guid.lo -MD -MP -MF .deps/guid.Tpo -c guid.c -fPIC -DPIC -o .libs/guid.o In file included from guid.c:6: sha1.h:80: error: static or type qualifiers in abstract declarator *** [guid.lo] Error code 1 Stop in /usr/home/wash/Tools/Dovecot/2.2/dovecot-2.2.25.rc1/src/lib. *** [all] Error code 1 Stop in /usr/home/wash/Tools/Dovecot/2.2/dovecot-2.2.25.rc1/src/lib. *** [all-recursive] Error code 1 Stop in /usr/home/wash/Tools/Dovecot/2.2/dovecot-2.2.25.rc1/src. *** [all-recursive] Error code 1 Stop in /usr/home/wash/Tools/Dovecot/2.2/dovecot-2.2.25.rc1. *** [all] Error code 1 Stop in /usr/home/wash/Tools/Dovecot/2.2/dovecot-2.2.25.rc1. [wash at waridi ~/Tools/Dovecot/2.2/dovecot-2.2.25.rc1]$ On 30 June 2016 at 15:49, Timo Sirainen <tss at iki.fi> wrote:> http://dovecot.org/releases/2.2/rc/dovecot-2.2.25.rc1.tar.gz > http://dovecot.org/releases/2.2/rc/dovecot-2.2.25.rc1.tar.gz.sig > > Quite a lot of changes. Please test out before the final v2.2.25 release, > which I'm planning for tomorrow. Especially the new lib-dcrypt might have > compiling problems with some OpenSSL versions. > > * lmtp: Start tracking lmtp_user_concurrency_limit and reject > already > at RCPT TO stage. This avoids MTA unnecessarily completing DATA > only > to get an error. > * doveadm: Previously only mail settings were read from protocol > doveadm { .. } section. Now all settings are. > > + quota: Added quota_over_flag_lazy_check setting. It avoids > checking > quota_over_flag always at startup. Instead it's checked only when > quota is being read for some other purpose. > + auth: Added a new auth policy service: > http://wiki2.dovecot.org/Authentication/Policy > + auth: Added PBKDF2 password scheme > + auth: Added %{auth_user}, %{auth_username} and %{auth_domain} > + auth: Added ":remove" suffix to extra field names to remove them. > + auth: Added "delay_until=<timestamp>[+<max random secs>]" passdb > extra field. The auth will wait until <timestamp> and optionally > some > randomness and then return success. > + dict proxy: Added idle_msecs=<n> parameter. Support async > operations. > + Performance improvements for handling large mailboxes. > + Added lib-dcrypt API for providing cryptographic functions. > + Added "doveadm mailbox update" command > + imap commands' output now includes timing spent on the "syncing" > stage if it's larger than 0. > + cassandra: Added metrics=<path> to connect setting to output > internal > statistics in JSON format every second to <path>. > + doveadm mailbox delete: Added -e parameter to delete only empty > mailboxes. Added --unsafe option to quickly delete a mailbox, > bypassing lazy_expunge and quota plugins. > + doveadm user & auth cache flush are now available via > doveadm-server. > + doveadm service stop <services> will stop specified services > while > leaving the rest of Dovecot running. > + quota optimization: Avoid reading mail sizes for backends which > don't need them (count, fs, dirsize) > + Added mailbox { autoexpunge_max_mails=<n> } setting. > + Added welcome plugin: http://wiki2.dovecot.org/Plugins/Welcome > + fts: Added fts_autoindex_exclude setting. > - v2.2.24's MIME parser was assert-crashing on mails having > truncated > MIME headers. > - auth: With multiple userdbs the final success/failure result > wasn't > always correct. The last userdb's result was always used. > - doveadm backup was sometimes deleting entire mailboxes > unnecessarily. > - doveadm: Command -parameters weren't being sent to > doveadm-server. > - If dovecot.index read failed e.g. because mmap() reached VSZ > limit, > an empty index could have been opened instead, corrupting the > mailbox state. > - imapc: Fixed EXPUNGE handling when imapc_features didn't have > modseq. > - lazy-expunge: Fixed a crash when copying failed. Various other > fixes. > - fts-lucene: Fixed crash on index rescan. > - auth_stats=yes produced broken output > - dict-ldap: Various fixes > - dict-sql: NULL values crashed. Now they're treated as "not > found". >-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft."
On 30 Jun 2016, at 17:26, Odhiambo Washington <odhiambo at gmail.com> wrote:> > FreeBSD 9.3-STABLE FreeBSD 9.3-STABLE amd64: > > sha1.h:80: error: static or type qualifiers in abstract declaratorWhat gcc version is this? It should have been valid C99 code, so I expected it to work without any special version checks..
Hi Timo, Testing now and noticed the following error on a POP user: Jul 01 12:50:08 pop3-login: Info: Login: user=<user at domain.com>, method=PLAIN, rip=192.168.4.145, lip=10.0.0.4, mpid=52302, secured, session=<+lRmC4o2yubLhgGR> Jul 01 12:50:08 pop3(user at domain.com): Info: Disconnected: Logged out top=0/0, retr=0/0, del=0/327, size=2856127, uidls=327/0b11428c Jul 01 12:50:08 pop3(user at domain.com): Error: Failed to autoexpunge mailbox 'Junk': Mailbox doesn't exist: Junk Jul 01 12:50:08 pop3(user at domain.com): Error: Failed to autoexpunge mailbox 'Trash': Mailbox doesn't exist: Trash For a long time I have been using "autoexpunge = 90 days" setting in these mailboxes without error - is this now expected? Should I enable "auto = create" to resolve this? Global namespace configuration is: namespace inbox { inbox = yes location mailbox Drafts { special_use = \Drafts } mailbox Junk { autoexpunge = 90 days special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox Trash { autoexpunge = 90 days special_use = \Trash } prefix separator = / } Regards Leon On 30/06/16 20:49, Timo Sirainen wrote:> http://dovecot.org/releases/2.2/rc/dovecot-2.2.25.rc1.tar.gz > http://dovecot.org/releases/2.2/rc/dovecot-2.2.25.rc1.tar.gz.sig > > Quite a lot of changes. Please test out before the final v2.2.25 release, which I'm planning for tomorrow. Especially the new lib-dcrypt might have compiling problems with some OpenSSL versions. > > * lmtp: Start tracking lmtp_user_concurrency_limit and reject already > at RCPT TO stage. This avoids MTA unnecessarily completing DATA only > to get an error. > * doveadm: Previously only mail settings were read from protocol > doveadm { .. } section. Now all settings are. > > + quota: Added quota_over_flag_lazy_check setting. It avoids checking > quota_over_flag always at startup. Instead it's checked only when > quota is being read for some other purpose. > + auth: Added a new auth policy service: > http://wiki2.dovecot.org/Authentication/Policy > + auth: Added PBKDF2 password scheme > + auth: Added %{auth_user}, %{auth_username} and %{auth_domain} > + auth: Added ":remove" suffix to extra field names to remove them. > + auth: Added "delay_until=<timestamp>[+<max random secs>]" passdb > extra field. The auth will wait until <timestamp> and optionally some > randomness and then return success. > + dict proxy: Added idle_msecs=<n> parameter. Support async operations. > + Performance improvements for handling large mailboxes. > + Added lib-dcrypt API for providing cryptographic functions. > + Added "doveadm mailbox update" command > + imap commands' output now includes timing spent on the "syncing" > stage if it's larger than 0. > + cassandra: Added metrics=<path> to connect setting to output internal > statistics in JSON format every second to <path>. > + doveadm mailbox delete: Added -e parameter to delete only empty > mailboxes. Added --unsafe option to quickly delete a mailbox, > bypassing lazy_expunge and quota plugins. > + doveadm user & auth cache flush are now available via doveadm-server. > + doveadm service stop <services> will stop specified services while > leaving the rest of Dovecot running. > + quota optimization: Avoid reading mail sizes for backends which > don't need them (count, fs, dirsize) > + Added mailbox { autoexpunge_max_mails=<n> } setting. > + Added welcome plugin: http://wiki2.dovecot.org/Plugins/Welcome > + fts: Added fts_autoindex_exclude setting. > - v2.2.24's MIME parser was assert-crashing on mails having truncated > MIME headers. > - auth: With multiple userdbs the final success/failure result wasn't > always correct. The last userdb's result was always used. > - doveadm backup was sometimes deleting entire mailboxes unnecessarily. > - doveadm: Command -parameters weren't being sent to doveadm-server. > - If dovecot.index read failed e.g. because mmap() reached VSZ limit, > an empty index could have been opened instead, corrupting the > mailbox state. > - imapc: Fixed EXPUNGE handling when imapc_features didn't have modseq. > - lazy-expunge: Fixed a crash when copying failed. Various other fixes. > - fts-lucene: Fixed crash on index rescan. > - auth_stats=yes produced broken output > - dict-ldap: Various fixes > - dict-sql: NULL values crashed. Now they're treated as "not found".