v2.2.26 release candidate released

Aki Tuomi aki.tuomi at dovecot.fi
Fri Oct 21 06:41:05 UTC 2016


> On October 21, 2016 at 8:52 AM Eric Broch <ebroch at whitehorsetc.com> wrote:
> 
> 
> On 10/20/2016 10:34 PM, Aki Tuomi wrote:
> 
> >> On October 21, 2016 at 6:27 AM Tamsy <dovecot-list at mohtex.net> wrote:
> >>
> >>
> >> Timo Sirainen wrote on 20.10.2016 04:01:
> >>> http://dovecot.org/releases/2.2/rc/dovecot-2.2.26.rc1.tar.gz
> >>> http://dovecot.org/releases/2.2/rc/dovecot-2.2.26.rc1.tar.gz.sig
> >>>
> >>> There are quite a lot of changes since v2.2.25. Please try out this RC so we can get a good and stable v2.2.26 out.
> >>>
> >>> 	* master: Removed hardcoded 511 backlog limit for listen(). The kernel
> >>> 	  should limit this as needed.
> >>> 	* doveadm import: Source user is now initialized the same as target
> >>> 	  user. Added -U parameter to override the source user.
> >>> 	* Mailbox names are no longer limited to 16 hierarchy levels. We'll
> >>> 	  check another way to make sure mailbox names can't grow larger than
> >>> 	  4096 bytes.
> >>>
> >>> 	+ Added a concept of "alternative usernames" by returning user_* extra
> >>> 	  field(s) in passdb. doveadm proxy list shows these alt usernames in
> >>> 	  "doveadm proxy list" output. "doveadm director&proxy kick" adds
> >>> 	  -f <passdb field> parameter. The alt usernames don't have to be
> >>> 	  unique, so this allows creation of user groups and kicking them in
> >>> 	  one command.
> >>> 	+ auth: passdb/userdb dict allows now %variables in key settings.
> >>> 	+ auth: If passdb returns noauthenticate=yes extra field, assume that
> >>> 	  it only set extra fields and authentication wasn't actually performed.
> >>> 	+ auth: passdb static now supports password={scheme} prefix.
> >>> 	+ imapc: Added imapc_max_line_length to limit maximum memory usage.
> >>> 	+ imap, pop3: Added rawlog_dir setting to store IMAP/POP3 traffic logs.
> >>> 	  This replaces at least partially the rawlog plugin.
> >>> 	+ dsync: Added dsync_features=empty-header-workaround setting. This
> >>> 	  makes incremental dsyncs work better for servers that randomly return
> >>> 	  empty headers for mails. When an empty header is seen for an existing
> >>> 	  mail, dsync assumes that it matches the local mail.
> >>> 	+ doveadm sync/backup: Added -I <max size> parameter to skip too
> >>> 	  large mails.
> >>> 	+ doveadm sync/backup: Fixed -t parameter and added -e for "end date".
> >>> 	+ doveadm mailbox metadata: Added -s parameter to allow accessing
> >>> 	  server metadata by using empty mailbox name.
> >>>
> >>> 	- master process's listener socket was leaked to all child processes.
> >>> 	  This might have allowed untrusted processes to capture and prevent
> >>> 	  "doveadm service stop" comands from working.
> >>> 	- auth: userdb fields weren't passed to auth-workers, so %{userdb:*}
> >>> 	  from previous userdbs didn't work there.
> >>> 	- auth: Each userdb lookup from cache reset its TTL.
> >>> 	- auth: Fixed auth_bind=yes + sasl_bind=yes to work together
> >>> 	- auth: Blocking userdb lookups reset extra fields set by previous
> >>> 	  userdbs.
> >>> 	- auth: Cache keys didn't include %{passdb:*} and %{userdb:*}
> >>> 	- auth-policy: Fixed crash due to using already-freed memory if policy
> >>> 	  lookup takes longer than auth request exists.
> >>> 	- lib-auth: Unescape passdb/userdb extra fields. Mainly affected
> >>> 	  returning extra fields with LFs or TABs.
> >>> 	- lmtp_user_concurrency_limit>0 setting was logging unnecessary
> >>> 	  anvil errors.
> >>> 	- lmtp_user_concurrency_limit is now checked before quota check with
> >>> 	  lmtp_rcpt_check_quota=yes to avoid unnecessary quota work.
> >>> 	- lmtp: %{userdb:*} variables didn't work in mail_log_prefix
> >>> 	- autoexpunge settings for mailboxes with wildcards didn't work when
> >>> 	  namespace prefix was non-empty.
> >>> 	- Fixed writing >2GB to iostream-temp files (used by fs-compress,
> >>> 	  fs-metawrap, doveadm-http)
> >>> 	- director: Ignore duplicates in director_servers setting.
> >>> 	- zlib, IMAP BINARY: Fixed internal caching when accessing multiple
> >>> 	  newly created mails. They all had UID=0 and the next mail could have
> >>> 	  wrongly used the previously cached mail.
> >>> 	- doveadm stats reset wasn't reseting all the stats.
> >>> 	- auth_stats=yes: Don't update num_logins, since it doubles them when
> >>> 	  using with mail stats.
> >>> 	- quota count: Fixed deadlocks when updating vsize header.
> >>> 	- dict-quota: Fixed crashes happening due to memory corruption.
> >>> 	- dict proxy: Fixed various timeout-related bugs.
> >>> 	- doveadm proxying: Fixed -A and -u wildcard handling.
> >>> 	- doveadm proxying: Fixed hangs and bugs related to printing.
> >>> 	- imap: Fixed wrongly triggering assert-crash in
> >>> 	  client_check_command_hangs.
> >>> 	- imap proxy: Don't send ID command pipelined with nopipelining=yes
> >>> 	- imap-hibernate: Don't execute quota_over_script or last_login after
> >>> 	  un-hibernation.
> >>> 	- imap-hibernate: Don't un-hibernate if client sends DONE+IDLE in one
> >>> 	  IP packet.
> >>> 	- imap-hibernate: Fixed various failures when un-hibernating.
> >>> 	- fts: fts_autoindex=yes was broken in 2.2.25 unless
> >>> 	  fts_autoindex_exclude settings existed.
> >>> 	- fts-solr: Fixed searching multiple mailboxes (patch by x16a0)
> >>> 	- doveadm fetch body.snippet wasn't working in 2.2.25. Also fixed a
> >>> 	  crash with certain emails.
> >>> 	- pop3-migration + dbox: Various fixes related to POP3 UIDL
> >>> 	  optimization in 2.2.25.
> >>> 	- pop3-migration: Fixed "truncated email header" workaround.
> >> Since v2.2.25 up to v2.2.26.rc1 on Ubuntu 16.04.1 LTS Dovecot is
> >> compiling successfully but "make check" is throwing out the following:
> >>
> >> make[2]: Leaving directory
> >> '/usr/local/src/dovecot-2.2.26.rc1/src/lib-charset'
> >> Making check in lib-ssl-iostream
> >> make[2]: Entering directory
> >> '/usr/local/src/dovecot-2.2.26.rc1/src/lib-ssl-iostream'
> >> make[2]: Nothing to be done for 'check'.
> >> make[2]: Leaving directory
> >> '/usr/local/src/dovecot-2.2.26.rc1/src/lib-ssl-iostream'
> >> Making check in lib-dcrypt
> >> make[2]: Entering directory
> >> '/usr/local/src/dovecot-2.2.26.rc1/src/lib-dcrypt'
> >> for bin in test-crypto test-stream; do \
> >>     if ! /bin/sh ../../run-test.sh ../.. ./$bin; then exit 1; fi; \
> >> done
> >> test_cipher_test_vectors ............................................. : ok
> >> test_cipher_aead_test_vectors ........................................ : ok
> >> test_hmac_test_vectors ............................................... : ok
> >> test_load_v1_keys .................................................... : ok
> >> test_load_v1_key ..................................................... : ok
> >> test_load_v1_public_key .............................................. : ok
> >>
> >> vex: the `impossible' happened:
> >>      isZeroU
> >> vex storage: T total 586404328 bytes allocated
> >> vex storage: P total 640 bytes allocated
> >>
> >> valgrind: the 'impossible' happened:
> >>      LibVEX called failure_exit().
> >>
> >> host stacktrace:
> >> ==20179==    at 0x38083F48: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x38084064: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x380842A1: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x380842CA: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x3809F682: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x38148008: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x3815514D: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x38159272: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x38159EA6: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x3815BD68: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x3815CDB6: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x38145DEC: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x380A1C0B: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x380D296B: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x380D45CF: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >> ==20179==    by 0x380E3946: ??? (in /usr/lib/valgrind/memcheck-amd64-linux)
> >>
> >> sched status:
> >>     running_tid=1
> >>
> >> Thread 1: status = VgTs_Runnable (lwpid 20179)
> >> ==20179==    at 0x5DE7E00: ??? (in /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
> >> ==20179==    by 0x5DC70BF: EC_POINT_mul (in
> >> /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
> >> ==20179==    by 0x5DC5F06: EC_POINT_new (in
> >> /lib/x86_64-linux-gnu/libcrypto.so.1.0.0)
> >> ==20179==    by 0x5823876: dcrypt_openssl_load_private_key_dovecot_v2
> >> (dcrypt-openssl.c:1196)
> >> ==20179==    by 0x5823876: dcrypt_openssl_load_private_key_dovecot
> >> (dcrypt-openssl.c:1244)
> >> ==20179==    by 0x5823876: dcrypt_openssl_load_private_key
> >> (dcrypt-openssl.c:1587)
> >> ==20179==    by 0x40FC08: test_load_v2_key (test-crypto.c:393)
> >> ==20179==    by 0x41120C: test_run_funcs (test-common.c:236)
> >> ==20179==    by 0x411B60: test_run (test-common.c:306)
> >> ==20179==    by 0x40A99E: main (test-crypto.c:779)
> >>
> >>
> >> Note: see also the FAQ in the source distribution.
> >> It contains workarounds to several common problems.
> >> In particular, if Valgrind aborted or crashed after
> >> identifying problems in your program, there's a good chance
> >> that fixing those problems will prevent Valgrind aborting or
> >> crashing, especially if it happened in m_mallocfree.c.
> >>
> >> If that doesn't help, please report this bug to: www.valgrind.org
> >>
> >> In the bug report, send all the above text, the valgrind
> >> version, and what OS and version you are using.  Thanks.
> >>
> >> Failed to run: ./test-crypto
> >> Makefile:1019: recipe for target 'check-test' failed
> >> make[2]: *** [check-test] Error 1
> >> make[2]: Leaving directory
> >> '/usr/local/src/dovecot-2.2.26.rc1/src/lib-dcrypt'
> >> Makefile:494: recipe for target 'check-recursive' failed
> >> make[1]: *** [check-recursive] Error 1
> >> make[1]: Leaving directory '/usr/local/src/dovecot-2.2.26.rc1/src'
> >> Makefile:620: recipe for target 'check-recursive' failed
> >> make: *** [check-recursive] Error 1
> >
> > This is an issue with either valgrind or openssl. See https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/1574437
> >
> > Aki
> 
> I had an error (below) during make check as well on CentOS 5 (no issues 
> with 6 and 7) and commented the following 'sed' commands (Removing Rpath 
> from this page: https://fedoraproject.org/wiki/Packaging:Guidelines ) in 
> the spec file resulting in a successful build:
> #sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' 
> libtool
> #sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
> 
> <make check error>
> 
> make[3]: Leaving directory 
> `/usr/src/redhat/BUILD/dovecot-2.2.26.rc1/src/lib-storage'
> for bin in test-mail-search-args-imap test-mail-search-args-simplify 
> test-mailbox-get; do \
>            if ! /bin/sh ../../run-test.sh ../.. ./$bin; then exit 1; fi; \
>          done
> /usr/src/redhat/BUILD/dovecot-2.2.26.rc1/src/lib-storage/.libs/lt-test-mail-search-args-imap: 
> symbol lookup error: 
> /usr/src/redhat/BUILD/dovecot-2.2.26.rc1/src/lib-storage/.libs/lt-test-mail-search-args-imap: 
> undefined symbol: message_search_more_get_decoded
> ==12372== Invalid read of size 8
> ==12372==    at 0x3EABB0B925: ??? (in /lib64/libc-2.5.so)
> ==12372==    by 0x3EABB0B79A: ??? (in /lib64/libc-2.5.so)
> ==12372==    by 0x3EABB0BDF1: ??? (in /lib64/libc-2.5.so)
> ==12372==    by 0x48024E8: _vgnU_freeres (vg_preloaded.c:62)
> ==12372==    by 0x3EAB60D33B: _dl_signal_error (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB60D3D3: _dl_signal_cerror (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB609CEF: _dl_lookup_symbol_x (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB60A9D4: _dl_relocate_object (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB603629: dl_main (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB6134EA: _dl_sysdep_start (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB601389: _dl_start (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB600A77: ??? (in /lib64/ld-2.5.so)
> ==12372==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
> ==12372==
> ==12372==
> ==12372== Process terminating with default action of signal 11 (SIGSEGV)
> ==12372==  Access not within mapped region at address 0x0
> ==12372==    at 0x3EABB0B925: ??? (in /lib64/libc-2.5.so)
> ==12372==    by 0x3EABB0B79A: ??? (in /lib64/libc-2.5.so)
> ==12372==    by 0x3EABB0BDF1: ??? (in /lib64/libc-2.5.so)
> ==12372==    by 0x48024E8: _vgnU_freeres (vg_preloaded.c:62)
> ==12372==    by 0x3EAB60D33B: _dl_signal_error (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB60D3D3: _dl_signal_cerror (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB609CEF: _dl_lookup_symbol_x (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB60A9D4: _dl_relocate_object (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB603629: dl_main (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB6134EA: _dl_sysdep_start (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB601389: _dl_start (in /lib64/ld-2.5.so)
> ==12372==    by 0x3EAB600A77: ??? (in /lib64/ld-2.5.so)
> ==12372==  If you believe this happened as a result of a stack
> ==12372==  overflow in your program's main thread (unlikely but
> ==12372==  possible), you can try to increase the size of the
> ==12372==  main thread stack using the --main-stacksize= flag.
> ==12372==  The main thread stack size used in this run was 10485760.
> Failed to run: ./test-mail-search-args-imap
> make[2]: *** [check-test] Error 1
> make[2]: Leaving directory 
> `/usr/src/redhat/BUILD/dovecot-2.2.26.rc1/src/lib-storage'
> make[1]: *** [check-recursive] Error 1
> make[1]: Leaving directory `/usr/src/redhat/BUILD/dovecot-2.2.26.rc1/src'
> make: *** [check-recursive] Error 1
> error: Bad exit status from /var/tmp/rpm-tmp.69652 (%check)
> 
> 
> RPM build errors:
>      Bad exit status from /var/tmp/rpm-tmp.69652 (%check)
> 
> </make check error>


We have dropped support for CentOS5.

Aki Tuomi
Dovecot oy


More information about the dovecot mailing list