v2.2.26 release candidate released
Eric Broch
ebroch at whitehorsetc.com
Fri Oct 21 05:52:09 UTC 2016
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>
More information about the dovecot
mailing list