[dovecot/core] cd1832: fts: Empty "fts" setting should be same as nonexis...

GitHub noreply at github.com
Fri Jul 1 00:25:12 UTC 2016


  Branch: refs/tags/2.2.24.2
  Home:   https://github.com/dovecot/core
  Commit: cd1832e6fe79ea408be8e85dd197fe3f974c3ac0
      https://github.com/dovecot/core/commit/cd1832e6fe79ea408be8e85dd197fe3f974c3ac0
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/fts/fts-storage.c

  Log Message:
  -----------
  fts: Empty "fts" setting should be same as nonexistent.


  Commit: 75f1cfaae0fe6cd632d04e60a9c85e68338d79eb
      https://github.com/dovecot/core/commit/75f1cfaae0fe6cd632d04e60a9c85e68338d79eb
  Author: Michael Slusarz <michael.slusarz at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M doc/man/doveadm-sync.1.in

  Log Message:
  -----------
  man: Add more complete description of one-way sync


  Commit: a3523574b2388628f1254eec12deac97f1a36f0e
      https://github.com/dovecot/core/commit/a3523574b2388628f1254eec12deac97f1a36f0e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/lazy-expunge/lazy-expunge-plugin.c

  Log Message:
  -----------
  lazy-expunge: Open mailbox with MAILBOX_FLAG_SAVEONLY flag.


  Commit: f9a0fa9c2396bc5e88d7d354f1b8f99d2ad992d7
      https://github.com/dovecot/core/commit/f9a0fa9c2396bc5e88d7d354f1b8f99d2ad992d7
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/lazy-expunge/lazy-expunge-plugin.c

  Log Message:
  -----------
  lazy-expunge: Open the mailbox with ACLs ignored.


  Commit: 784cfb4b0056da96d4332ca8e9d09d16baced70c
      https://github.com/dovecot/core/commit/784cfb4b0056da96d4332ca8e9d09d16baced70c
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/doveadm/doveadm-dump-index.c

  Log Message:
  -----------
  doveadm dump: Added more index ext records.

"msgs" and "vsize" are now expanded.


  Commit: 23c0a4a69621c9559cc2ceddacf2f29f36ac1291
      https://github.com/dovecot/core/commit/23c0a4a69621c9559cc2ceddacf2f29f36ac1291
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib-storage/index/index-storage.h
    M src/lib-storage/index/index-sync.c

  Log Message:
  -----------
  lib-storage: Added index_storage_list_index_has_changed_full()

This allows the caller to use it to implement a slightly different
mailbox.list_index_has_changed()


  Commit: 0b704695b741f01893f2bedfd07daf50e3b1372b
      https://github.com/dovecot/core/commit/0b704695b741f01893f2bedfd07daf50e3b1372b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib-storage/mail-storage.c

  Log Message:
  -----------
  lib-storage: mailbox_set_subscribed() ignores duplicate changes now.


  Commit: 664b1a68a2f284a553d33a7efc4d7d222af2814b
      https://github.com/dovecot/core/commit/664b1a68a2f284a553d33a7efc4d7d222af2814b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/fts-lucene/lucene-wrapper.cc

  Log Message:
  -----------
  fts-lucene: Fixed crash on rescan

Broken by af2564c7f9e05ad245a032efdfbc5abbb9b70f1e - rescan_ctx can be NULL.


  Commit: cf1a916dac4e9eca563bf2b1a772a48e4b713472
      https://github.com/dovecot/core/commit/cf1a916dac4e9eca563bf2b1a772a48e4b713472
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  configure: Fixed (again) --with-ldap=plugin


  Commit: 7a23a1cf6aabc98283852bfeacd15e6b4d9afe31
      https://github.com/dovecot/core/commit/7a23a1cf6aabc98283852bfeacd15e6b4d9afe31
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib-index/mail-index-map.c

  Log Message:
  -----------
  lib-index: Memory allocation optimization


  Commit: 7dc03589d4b0e8fe51fe0bed03fbfb248a0a7608
      https://github.com/dovecot/core/commit/7dc03589d4b0e8fe51fe0bed03fbfb248a0a7608
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib/mempool-system.c

  Log Message:
  -----------
  lib: Implement i_realloc(mem==NULL) more efficiently

Various parts of code use this to allocate the initial buffer. We can
do this more efficiently by using calloc().


  Commit: 7e571d3895409011bfa4144fc912693bc2fec51b
      https://github.com/dovecot/core/commit/7e571d3895409011bfa4144fc912693bc2fec51b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib/buffer.c

  Log Message:
  -----------
  lib: Use p_malloc() explicitly in first buffer_alloc()

Although there is now code in p_realloc() that it should be just as
efficient, this makes profiling somewhat nicer since it can better
distinguish between actual reallocs and initial allocs.


  Commit: 7af8149bd661bbdf64fc4403b6ff89c321a9e7a4
      https://github.com/dovecot/core/commit/7af8149bd661bbdf64fc4403b6ff89c321a9e7a4
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib/buffer.c

  Log Message:
  -----------
  lib: buffer_create_dynamic() now adds +1 to init_size


  Commit: bc5f5fc939e17e43712337b544d865801dbcb550
      https://github.com/dovecot/core/commit/bc5f5fc939e17e43712337b544d865801dbcb550
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib-index/mail-index-map.c

  Log Message:
  -----------
  lib-index: Use a bit larger initial records buffer size

For example with a mailbox having 160k messages the buffer size is around
10MB. Adding just 1% more space to it allows a lot more appends before the
buffer needs to be realloced. This reduces CPU usage quite a lot.


  Commit: 7347c1a2fc8fe2f771eb1e21c60764d9c03cc413
      https://github.com/dovecot/core/commit/7347c1a2fc8fe2f771eb1e21c60764d9c03cc413
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib-storage/index/imapc/imapc-mailbox.c

  Log Message:
  -----------
  imapc: Fixed EXPUNGE handling when imapc_features didn't have modseq


  Commit: 78c088912670cd6dfc34108f2344fcd04b18099d
      https://github.com/dovecot/core/commit/78c088912670cd6dfc34108f2344fcd04b18099d
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib-ldap/ldap-connection.c

  Log Message:
  -----------
  lib-ldap: Set minimum protocol if supported by library


  Commit: 6f5085dfb3d48e20d59a21e83625f5dc1eba953f
      https://github.com/dovecot/core/commit/6f5085dfb3d48e20d59a21e83625f5dc1eba953f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/quota/quota-storage.c

  Log Message:
  -----------
  quota: Optimize handling a large number of expunges.

This assumes that the mail_expunge() was called in the same order as
sync_notify(), which practically means that they were both done in
ascending uid order. This is usually true.


  Commit: 8e216f83bdde9f133ee3d8f6019f88df3387f4a9
      https://github.com/dovecot/core/commit/8e216f83bdde9f133ee3d8f6019f88df3387f4a9
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib-fts/test-fts-icu.c
    M src/lib-ssl-iostream/ostream-openssl.c
    M src/lib/aqueue.c
    M src/lib/str.c

  Log Message:
  -----------
  global: Use buffer_get_writable_size() where possible

With 09539f3db increasing buffer's init_size with +1 some fts-icu unit tests
started failing. And in general it's better to use the writable size since
that provides the true size that can be used.


  Commit: 19f2751b5427b717ff2bff9c6799a2a0f0bf9744
      https://github.com/dovecot/core/commit/19f2751b5427b717ff2bff9c6799a2a0f0bf9744
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/quota/quota-count.c

  Log Message:
  -----------
  quota-count: Code cleanup - give consistent return value

Although the callers didn't care if it returned 0 or 1.


  Commit: 5f9785d80ae3f89977bb1beb9575c4f709d7e560
      https://github.com/dovecot/core/commit/5f9785d80ae3f89977bb1beb9575c4f709d7e560
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/quota/quota-count.c

  Log Message:
  -----------
  quota-count: Cache quota usage within the same ioloop run.

This mainly means that when both STORAGE and MESSAGES quota is looked up we
don't need to calculate them twice.


  Commit: da751b6faa13d9904f7e81f0990cfe616d1055ca
      https://github.com/dovecot/core/commit/da751b6faa13d9904f7e81f0990cfe616d1055ca
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/quota/quota.c

  Log Message:
  -----------
  quota: Fixed quota_over_flag handling when quota usage==limit

It couldn't really work correctly otherwise. If we've reached the quota, we
want to start rejecting new mails.


  Commit: e3ccaa932cfd6198ffb0d6cada607ac564b182ee
      https://github.com/dovecot/core/commit/e3ccaa932cfd6198ffb0d6cada607ac564b182ee
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/quota/quota.c

  Log Message:
  -----------
  quota: Fixed debug logging for quota_over_flag


  Commit: 379fdb5baeae225a8241cbf6c596ee528a6171d2
      https://github.com/dovecot/core/commit/379fdb5baeae225a8241cbf6c596ee528a6171d2
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/quota/quota-private.h
    M src/plugins/quota/quota-storage.c
    M src/plugins/quota/quota.c
    M src/plugins/quota/quota.h

  Log Message:
  -----------
  quota: Cleanup - split quota_over_flag to init & run parts

In preparation for the next change.


  Commit: 008767162721bafe2fa4210b0767ee182920d3ca
      https://github.com/dovecot/core/commit/008767162721bafe2fa4210b0767ee182920d3ca
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/quota/quota-count.c

  Log Message:
  -----------
  quota: dict-quota was broken by 464db6d9d

We can't assume that the quota_root given to quota_count() is
count_quota_root, because dict_quota_root also calls it.


  Commit: a09f01e994d7e1448bc84aaa4a8a214055677313
      https://github.com/dovecot/core/commit/a09f01e994d7e1448bc84aaa4a8a214055677313
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/plugins/quota/quota-private.h
    M src/plugins/quota/quota-storage.c
    M src/plugins/quota/quota.c
    M src/plugins/quota/quota.h

  Log Message:
  -----------
  quota: Added quota_over_flag_lazy_check flag.

By default the quota_over_flag is checked immediately at startup. With this
option the check is done only at a time when the quota is anyway being read.


  Commit: 7509192564c2c59666c8c86e5ee186c700036f3d
      https://github.com/dovecot/core/commit/7509192564c2c59666c8c86e5ee186c700036f3d
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/auth/auth-request.c

  Log Message:
  -----------
  auth: Session ID wasn't exported to auth workers.

Most importantly this means that log messages didn't contain them.


  Commit: 969fb66064469e4dfc407f4f0a8d80b8fb833b33
      https://github.com/dovecot/core/commit/969fb66064469e4dfc407f4f0a8d80b8fb833b33
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/auth/auth-request.c

  Log Message:
  -----------
  auth: Fixed final result in multiple userdbs

We don't want to return the last result's success/failure, but
the entire userdb chain's success/failure.


  Commit: 841b05480d55766f5b0c49d2004ce2c8a42562df
      https://github.com/dovecot/core/commit/841b05480d55766f5b0c49d2004ce2c8a42562df
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib-ldap/ldap-search.c

  Log Message:
  -----------
  lib-ldap: Make static analyzer happier

Remove dead assignment.


  Commit: 5865912c50a78f575603009401b32beee2b18f77
      https://github.com/dovecot/core/commit/5865912c50a78f575603009401b32beee2b18f77
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lib/guid.c

  Log Message:
  -----------
  lib: Set timestamp part more accurately in guid_128_generate()

Previously a long-running process would keep the timestamp close to its
original start time. This doesn't really matter as long as GUIDs are treated
opaque, but some pieces of code prefer to try to use the timestamp fields
since they're already there. This makes such code work more nicely.


  Commit: 591a977d11a45dadc7b30d1133ae5d5d419d63dc
      https://github.com/dovecot/core/commit/591a977d11a45dadc7b30d1133ae5d5d419d63dc
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-29 (Fri, 29 Apr 2016)

  Changed paths:
    M src/lmtp/commands.c

  Log Message:
  -----------
  lmtp: Connect to anvil earlier while still running as root

This was a problem only with lmtp_rcpt_check_quota=yes.


  Commit: 45290c680e3c5322721809ef3e5ed4d459556d2b
      https://github.com/dovecot/core/commit/45290c680e3c5322721809ef3e5ed4d459556d2b
  Author: Michael Slusarz <michael.slusarz at dovecot.fi>
  Date:   2016-04-30 (Sat, 30 Apr 2016)

  Changed paths:
    M .gitignore
    M doc/man/Makefile.am
    A doc/man/doveadm-fs.1.in

  Log Message:
  -----------
  man: Add stub for doveadm-fs command


  Commit: 5ceee21a9d98818eee38e15ba0078e4b61e9d784
      https://github.com/dovecot/core/commit/5ceee21a9d98818eee38e15ba0078e4b61e9d784
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-30 (Sat, 30 Apr 2016)

  Changed paths:
    M src/lib-fs/fs-metawrap.c

  Log Message:
  -----------
  lib-fs: Fixed fs_get_metadata() with fs-metawrap

If mail was already read to EOF.


  Commit: 9098417750b3d49295a3317858882b6974903ec6
      https://github.com/dovecot/core/commit/9098417750b3d49295a3317858882b6974903ec6
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-30 (Sat, 30 Apr 2016)

  Changed paths:
    M src/plugins/quota/quota-storage.c

  Log Message:
  -----------
  quota: Fix to earlier commit 62f2f6baf

expunge_uids may become empty with prev_idx > 0


  Commit: 5601ee858f9c5d654edcabf3f85c875fb4bd895e
      https://github.com/dovecot/core/commit/5601ee858f9c5d654edcabf3f85c875fb4bd895e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-30 (Sat, 30 Apr 2016)

  Changed paths:
    M src/lib-mail/message-parser.c
    M src/lib-mail/test-message-parser.c

  Log Message:
  -----------
  lib-mail: message-parser assert-crashfix

Crashes when multipart MIME header is missing end-of-headers line and the
boundary begins with the same prefix as one of the parent boundaries.
Broken by 7a12331c6


  Commit: d12abd7b96f8334a9039282429c221fa4c21a7b3
      https://github.com/dovecot/core/commit/d12abd7b96f8334a9039282429c221fa4c21a7b3
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-04-30 (Sat, 30 Apr 2016)

  Changed paths:
    M src/lib-storage/mailbox-list.c

  Log Message:
  -----------
  lib-storage: Clear list error before mailbox_list_get_hierarchy_sep()

With ACL plugin enabled the call could have triggered dovecot-acl-list
rebuild, which in turn could have set list errors if it didn't have
permissions to all the mailboxes. This caused IMAP logins to fail.


  Commit: ce3f527491d3ce99177f71d09cd08e2a728a3f30
      https://github.com/dovecot/core/commit/ce3f527491d3ce99177f71d09cd08e2a728a3f30
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-02 (Mon, 02 May 2016)

  Changed paths:
    M src/auth/auth-request-var-expand.c
    M src/auth/auth-request-var-expand.h

  Log Message:
  -----------
  auth: Added %{auth_user/username/domain} variables


  Commit: 80aac210c088ae496c9e443edd1b39bb76335e71
      https://github.com/dovecot/core/commit/80aac210c088ae496c9e443edd1b39bb76335e71
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-02 (Mon, 02 May 2016)

  Changed paths:
    M src/imap/imap-client.c
    M src/imap/imap-client.h

  Log Message:
  -----------
  imap: Added struct client_command_context.tagline_reply

Can be used by plugins.


  Commit: 8a038299358bdeb84e086835bb38292cb888abe1
      https://github.com/dovecot/core/commit/8a038299358bdeb84e086835bb38292cb888abe1
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-02 (Mon, 02 May 2016)

  Changed paths:
    M src/lib-dict-extra/dict-ldap.c

  Log Message:
  -----------
  dict-ldap: Don't reuse dict for different usernames.

Fixes doing priv/* lookups for multiple usernames.

This currently also means that each username will create a separate LDAP
connection, which isn't ideal. But this is probably better fixed in
lib-ldap code similar to how lib-sql does connection pooling.


  Commit: aa33c0e32335c36f92676f6f465e5a8d71a6537a
      https://github.com/dovecot/core/commit/aa33c0e32335c36f92676f6f465e5a8d71a6537a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-02 (Mon, 02 May 2016)

  Changed paths:
    M src/lib-dict-extra/dict-ldap.c

  Log Message:
  -----------
  dict-ldap: Removed caching of ldap-clients

With the previous per-username caching there could be a huge number of
dict-ldaps.


  Commit: 0adca4fa566f7191ccfeffaa920b55e7b4d1a4f3
      https://github.com/dovecot/core/commit/0adca4fa566f7191ccfeffaa920b55e7b4d1a4f3
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-02 (Mon, 02 May 2016)

  Changed paths:
    M src/lib-dict-extra/dict-ldap.c
    M src/lib-ldap/Makefile.am
    M src/lib-ldap/ldap-client.c
    M src/lib-ldap/ldap-client.h
    A src/lib-ldap/ldap-connection-pool.c
    A src/lib-ldap/ldap-connection-pool.h
    M src/lib-ldap/ldap-connection.c
    M src/lib-ldap/ldap-private.h

  Log Message:
  -----------
  lib-ldap: Added initial connection pooling code.

This is mainly about allowing multiple dict-ldaps to use the same
ldap-connection. In future we could support load balancing with multiple
concurrent LDAP connections.


  Commit: 8f11db14d2d677c62ad2558e4f4e2c24639b4d45
      https://github.com/dovecot/core/commit/8f11db14d2d677c62ad2558e4f4e2c24639b4d45
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/doveadm/dsync/dsync-mailbox-import.c

  Log Message:
  -----------
  dsync: Fixed assert-crash if mailbox_attribute_set() fails

We shouldn't set importer->mail_error, because we're not going to
fail the import.

Fixes assert-crash:
dsync-mailbox-import.c: line 2812 (dsync_mailbox_import_deinit): assertion failed: (importer->failed == (importer->mail_error != 0))


  Commit: 70dc9ca56a55033e3251b50f5b8ed4e24ce9e408
      https://github.com/dovecot/core/commit/70dc9ca56a55033e3251b50f5b8ed4e24ce9e408
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/imap/imap-sync.c

  Log Message:
  -----------
  imap: Set client_command_context.tagline_reply before syncing.

Command post-hooks can't see it otherwise.


  Commit: 3b8a91827f08e2ea237431ea2a96187125a75219
      https://github.com/dovecot/core/commit/3b8a91827f08e2ea237431ea2a96187125a75219
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-ldap/ldap-connection.c

  Log Message:
  -----------
  lib-ldap: Do not retry with bad credentials


  Commit: e999ae9cb2150300ab0054e185fd21093cdd75b1
      https://github.com/dovecot/core/commit/e999ae9cb2150300ab0054e185fd21093cdd75b1
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-ldap/ldap-connection.c

  Log Message:
  -----------
  lib-ldap: Handle various LDAP failures correctly


  Commit: 970000983fc1b8d06bd1ac43b6fc9d724c21aae4
      https://github.com/dovecot/core/commit/970000983fc1b8d06bd1ac43b6fc9d724c21aae4
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-storage/index/index-sync.c

  Log Message:
  -----------
  lib-storage: Fixed potential crash in mailbox_sync_deinit() error handling

If mailbox_sync*() was called before mailbox was opened, the automatic
mailbox opening could fail. mailbox_sync_deinit() would still try to access
box->view, which would be NULL.


  Commit: a3cdcdd08ce33fed252cb7ab1e06c49c24ec4772
      https://github.com/dovecot/core/commit/a3cdcdd08ce33fed252cb7ab1e06c49c24ec4772
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-mail/istream-header-filter.c

  Log Message:
  -----------
  lib-mail: istream-header-filter - Check errors reading header

This probably doesn't affect the results much, since the stream_errno is set
anyway. But it's better to abort early, just in case the broken state might
end up asserting later.


  Commit: 6d16133eb87bc7fce2c7fe33b59e7e4930705c82
      https://github.com/dovecot/core/commit/6d16133eb87bc7fce2c7fe33b59e7e4930705c82
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-mail/istream-header-filter.c
    M src/lib-mail/test-istream-header-filter.c

  Log Message:
  -----------
  lib-mail: istream-header-filter: Fixed stat() with HEADER_FILTER_END_BODY_WITH_LF


  Commit: 9a26f960bfdae1980849bad4e8b3f5660a6718dd
      https://github.com/dovecot/core/commit/9a26f960bfdae1980849bad4e8b3f5660a6718dd
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-mail/istream-header-filter.c
    M src/lib-mail/test-istream-header-filter.c

  Log Message:
  -----------
  lib-mail: istream-header-filter HEADER_FILTER_ADD_MISSING_EOH fixes

When using HEADER_FILTER_CRLF_PRESERVE, add CR to the EOH if the previous
header line ended with CRLF.

When header ends to a header without newline, add two newlines so we can get
the actual EOH added.


  Commit: 8047bd31309bf979096dc9ed205bb01fd630b342
      https://github.com/dovecot/core/commit/8047bd31309bf979096dc9ed205bb01fd630b342
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-mail/istream-header-filter.c
    M src/lib-mail/test-istream-header-filter.c

  Log Message:
  -----------
  lib-mail: istream-header-filter: Fixed stat() with HEADER_FILTER_HIDE_BODY


  Commit: 4e5a08fef6b7d91fdba788e6b0ef4c3b13e76119
      https://github.com/dovecot/core/commit/4e5a08fef6b7d91fdba788e6b0ef4c3b13e76119
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-mail/istream-header-filter.c
    M src/lib-mail/test-istream-header-filter.c

  Log Message:
  -----------
  lib-mail: istream-header-filter - fixed adding headers at eoh


  Commit: c644db7d572477732513e9ff6ca1a4d4dd343c88
      https://github.com/dovecot/core/commit/c644db7d572477732513e9ff6ca1a4d4dd343c88
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-storage/index/index-mail.c

  Log Message:
  -----------
  lib-storage: Make it easier to debug mail's unclosed istream


  Commit: e5a27fc236fcf55d21a5616c66ab613d6a3b9f82
      https://github.com/dovecot/core/commit/e5a27fc236fcf55d21a5616c66ab613d6a3b9f82
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/doveadm/doveadm-who.c

  Log Message:
  -----------
  doveadm who: Fixed listing LMTP sessions


  Commit: a5a165a814abbbf153dc5c06bd3c84f2798df43e
      https://github.com/dovecot/core/commit/a5a165a814abbbf153dc5c06bd3c84f2798df43e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-mail/test-istream-header-filter.c

  Log Message:
  -----------
  lib-mail: Fixed istream-header-filter unit test names


  Commit: 58e9ac4d956a70d97236b2576c2772b815d75707
      https://github.com/dovecot/core/commit/58e9ac4d956a70d97236b2576c2772b815d75707
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-fs/fs-metawrap.c

  Log Message:
  -----------
  lib-fs: fs-metawrap stat() error handling improvement.

We can't just treat i_stream_get_size() returning 0 as the reason being
istream is async and not fully read. It might be, but it might also be
because of other reasons. And since we're closing the istream we couldn't
even properly finish up the async handling. So for now just return an
error if we see this happening.


  Commit: 34d1717846b2ecaf4e8a116ec65627667ff5cd74
      https://github.com/dovecot/core/commit/34d1717846b2ecaf4e8a116ec65627667ff5cd74
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/stats/mail-user.c

  Log Message:
  -----------
  stats: Fixed ADD-USER stats tracking (auth stats)


  Commit: 5b980646e620ee89a45d63771e3935f2688fc7ff
      https://github.com/dovecot/core/commit/5b980646e620ee89a45d63771e3935f2688fc7ff
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-fs/fs-api.c

  Log Message:
  -----------
  lib-fs: Fixes to stats count tracking

fs_exists(), fs_copy(), fs_rename() and fs_delete() could have increased the
count multiple times on async operations.


  Commit: c42662dbc8318cde3661b37f3277d3d7aaa0dfd9
      https://github.com/dovecot/core/commit/c42662dbc8318cde3661b37f3277d3d7aaa0dfd9
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/plugins/lazy-expunge/lazy-expunge-plugin.c

  Log Message:
  -----------
  lazy-expunge: Handle mailbox create race conditions.

Don't log an error if another process just created the lazy-expunge mailbox.


  Commit: d5d315df032d2d3c389372cc9bcd948fe0c1bcec
      https://github.com/dovecot/core/commit/d5d315df032d2d3c389372cc9bcd948fe0c1bcec
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib/connection.c

  Log Message:
  -----------
  lib: Improved connection_disconnect_reason()


  Commit: b96fdd9670b0886d707308ad5b417aa00fd6ab7a
      https://github.com/dovecot/core/commit/b96fdd9670b0886d707308ad5b417aa00fd6ab7a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib/istream.c
    M src/lib/istream.h

  Log Message:
  -----------
  lib: Added i_stream_get_disconnect_reason()


  Commit: 8ed85e08bc6d99058c1737379885a5dd5ba5a727
      https://github.com/dovecot/core/commit/8ed85e08bc6d99058c1737379885a5dd5ba5a727
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/auth/Makefile.am

  Log Message:
  -----------
  auth: Makefile dependency fix

Hopefully fixes:
mv: cannot stat '.deps/auth-stats.Tpo': No such file or directory


  Commit: 45171add072f06f02ccb2499b5dec066df25c536
      https://github.com/dovecot/core/commit/45171add072f06f02ccb2499b5dec066df25c536
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-dict-extra/dict-ldap.c

  Log Message:
  -----------
  dict-ldap: Properly duplicate result


  Commit: 22fb5b6fd7c2f25ed9d2b303bf7d3341d7bc629f
      https://github.com/dovecot/core/commit/22fb5b6fd7c2f25ed9d2b303bf7d3341d7bc629f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/plugins/stats/mail-stats-fill.c

  Log Message:
  -----------
  stats: Work around shrinking system CPU usage

Happening at least in Debian's Linux kernel 4.3.0-1-amd64.

getrusage() may returns ru_stime = 4000 or 8000, but later it drops to 0.
We'll just work around this by switching to the previous working ru_stime.

This fixes errors like:
Error: stats: session stats shrank: sys_cpu 0.0 < 0.4000


  Commit: 978c21f139e0873c07904277952e8b7f1cd251c1
      https://github.com/dovecot/core/commit/978c21f139e0873c07904277952e8b7f1cd251c1
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/plugins/stats/mail-stats-fill.c

  Log Message:
  -----------
  stats: Handle getrusage() errors better

I'm not aware of these errors actually happening anywhere, but its
error handling wouldn't have been correct if previous getrusage() calls
had succeeded. Now if it fails, log an error once and just keep on using
the last working rusage.


  Commit: a90fde88fc473cefbb6fefdf1a19f8ab5d7fd51e
      https://github.com/dovecot/core/commit/a90fde88fc473cefbb6fefdf1a19f8ab5d7fd51e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/imap/imap-sync.c

  Log Message:
  -----------
  imap: Avoid assert-crash after a failed mailbox sync.

We didn't close the mailbox and we didn't update message counts, so we could
have crashed with:

Panic: Message count decreased


  Commit: 36345b532b88ba50b3d1fbc0c9ebe848f70fcdd9
      https://github.com/dovecot/core/commit/36345b532b88ba50b3d1fbc0c9ebe848f70fcdd9
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-dict/dict-client.c

  Log Message:
  -----------
  dict-client: Added idle_msecs=<n> parameter

This can be useful when connected to dict-async server where extra idling
connections don't matter so much as with blocking dict servers.


  Commit: 648f9b4c989c3d80caf1cd3485768ff186ff6527
      https://github.com/dovecot/core/commit/648f9b4c989c3d80caf1cd3485768ff186ff6527
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M src/lib-http/http-client-private.h
    M src/lib-http/http-client-queue.c

  Log Message:
  -----------
  lib-http: If connect fails, include attempt count and total time in error.

This will produce errors such as:
9002 connect(1.2.3.4:801) failed: Connection timed out in 1.001 secs (4 attempts in 4.706 secs)


  Commit: 0d8b26c161c8748a3382b6a8219c3e9e8067562b
      https://github.com/dovecot/core/commit/0d8b26c161c8748a3382b6a8219c3e9e8067562b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-11 (Wed, 11 May 2016)

  Changed paths:
    M configure.ac

  Log Message:
  -----------
  Released v2.2.24.2


  Commit: 14b80d30d0d442d95f0b34460fb3a4e8a66f953b
      https://github.com/dovecot/core/commit/14b80d30d0d442d95f0b34460fb3a4e8a66f953b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-13 (Fri, 13 May 2016)

  Changed paths:
    M src/lib-fs/fs-metawrap.c

  Log Message:
  -----------
  fs-metawrap: Propagate fs_write_stream_abort() to parent always

It needed to be done also when temp_output==NULL, because we had already
started sending it to parent, but async parent wasn't being finished.


  Commit: d9e481462caf4f579e488f4d58188aae7ac475d1
      https://github.com/dovecot/core/commit/d9e481462caf4f579e488f4d58188aae7ac475d1
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-13 (Fri, 13 May 2016)

  Changed paths:
    M src/lib-fs/fs-metawrap.c

  Log Message:
  -----------
  fs-metawrap: Minor code cleanup

temp_output==NULL, so these calls are equal.


  Commit: c63b319ba6d17bce1ecb23799a12c5265a6fda3d
      https://github.com/dovecot/core/commit/c63b319ba6d17bce1ecb23799a12c5265a6fda3d
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-13 (Fri, 13 May 2016)

  Changed paths:
    M src/lib-fs/fs-api.c

  Log Message:
  -----------
  lib-fs: Set fs error on fs_write_stream_abort()

Probably would be nice for fs_write_stream_abort() to have an error string
parameter, which could be used instead of this generic error.


  Commit: f0971982165b5dbc919593717789ed35ee21e4c4
      https://github.com/dovecot/core/commit/f0971982165b5dbc919593717789ed35ee21e4c4
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-13 (Fri, 13 May 2016)

  Changed paths:
    M src/lib-dict/dict-sql-settings.c
    M src/lib-dict/dict-sql-settings.h
    M src/lib-dict/dict-sql.c

  Log Message:
  -----------
  dict-sql: Cache reading settings files.

The settings were read for every dict init, which was done for every new
dict connection. This was using a lot of CPU. There are usually only a
couple dict-sql settings files, so we cache all of the ones we read.


  Commit: 661016a9b55eb8e0a84756bbba4e297389f68be5
      https://github.com/dovecot/core/commit/661016a9b55eb8e0a84756bbba4e297389f68be5
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-13 (Fri, 13 May 2016)

  Changed paths:
    M src/lib-http/http-client-queue.c

  Log Message:
  -----------
  lib-http: Queue's delayed timeout handler wasn't removed after work was done.


  Commit: 56e4b53c93fb112cae2389022996b0a4e7e6ba46
      https://github.com/dovecot/core/commit/56e4b53c93fb112cae2389022996b0a4e7e6ba46
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-13 (Fri, 13 May 2016)

  Changed paths:
    M src/lib-fs/fs-api.c

  Log Message:
  -----------
  lib-fs: Fixed multiple concurrent fs_read_stream() calls

Return a new limit-istream, so each istream can have its own independent
offset.


  Commit: d2ab9ca318ca2328a28a2084f17fb83d762fe55b
      https://github.com/dovecot/core/commit/d2ab9ca318ca2328a28a2084f17fb83d762fe55b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-13 (Fri, 13 May 2016)

  Changed paths:
    M src/lib-fs/fs-api.c

  Log Message:
  -----------
  lib-fs: Allow multiple fs_read_stream() calls to seekable istreams.

This fixes for example calling fs_default_copy() for an istream which was
already opened:

Panic: file fs-api.c: line 528 (fs_read_stream): assertion failed: (!file->istream_open)


  Commit: 4d30a2dc31859a860492a74f885449b061e2b652
      https://github.com/dovecot/core/commit/4d30a2dc31859a860492a74f885449b061e2b652
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-13 (Fri, 13 May 2016)

  Changed paths:
    M src/lib-fs/fs-api.h

  Log Message:
  -----------
  lib-fs: Added FS_PROPERTY_FASTCOPY_CHANGED_METADATA


  Commit: ad6616757a46a3898efa1fb9220016544fc0f05b
      https://github.com/dovecot/core/commit/ad6616757a46a3898efa1fb9220016544fc0f05b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib/istream-concat.c

  Log Message:
  -----------
  lib: Fixed crash when closing a failed istream-concat

i_stream_concat_seek() could have set cur_input==NULL and we still
attempted to seek the cur_input at close time.


  Commit: 0ef407b93ed709ec049eabc833cd54c8d9a6d310
      https://github.com/dovecot/core/commit/0ef407b93ed709ec049eabc833cd54c8d9a6d310
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib/istream.c

  Log Message:
  -----------
  lib: Fixed potential crash in i_stream_stat() failures.

We shouldn't have been copying parent's stream_errno here. Especially
because the parent can be NULL.


  Commit: e7a6057517f758d6c9028bb8173c8ede182b0542
      https://github.com/dovecot/core/commit/e7a6057517f758d6c9028bb8173c8ede182b0542
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-fs/istream-metawrap.c

  Log Message:
  -----------
  lib-fs: If fs-metawrap sees truncated header, it should return error.


  Commit: 32905f7e0a6491c2fb762aef788912bcc648539f
      https://github.com/dovecot/core/commit/32905f7e0a6491c2fb762aef788912bcc648539f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-fs/fs-metawrap.c

  Log Message:
  -----------
  lib-fs: Make sure fs-metawrap catches all write errors.

The full istream may not have been written in case ostream only partially
wrote the data (e.g. out of disk space?)


  Commit: 3e0aec743e02bb6993a22dc40b59c1825338be84
      https://github.com/dovecot/core/commit/3e0aec743e02bb6993a22dc40b59c1825338be84
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib/istream-seekable.c

  Log Message:
  -----------
  lib: Fixed istream_seekable.stat() to return correct size.

It was supposed to read until end of the stream, but it did it only when
stat() was called while stream was still fully in memory.


  Commit: 14acb8bdc6d5ac1b36cc1a593ace56a0d84fab2b
      https://github.com/dovecot/core/commit/14acb8bdc6d5ac1b36cc1a593ace56a0d84fab2b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/imap/imap-client.c

  Log Message:
  -----------
  imap: Set command start timestamps earlier.

Previously timing statistics in taglines weren't shown commands that didn't
read any parameters.

Also the timings now include the time speng reading command parameters from
client. For example:

a list "" {1}
+ OK
%
* LIST (\HasNoChildren) "/" INBOX
a OK List completed (0.001 + 1.214 secs).


  Commit: 3b04ff6b2e2619a55700a2b08f8c418418357d61
      https://github.com/dovecot/core/commit/3b04ff6b2e2619a55700a2b08f8c418418357d61
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-dict/dict-redis.c

  Log Message:
  -----------
  dict-redis: Fixed memory leak in async commit


  Commit: 42ea160f728fa64e63a280ce5bada6c8c8999e87
      https://github.com/dovecot/core/commit/42ea160f728fa64e63a280ce5bada6c8c8999e87
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-sql/sql-db-cache.c

  Log Message:
  -----------
  lib-sql: Memory leak fix when freeing sql dbs from cache

Normally happened only at deinit.


  Commit: 4e52776b89ba18b367d33d0b41d9bb8e21dff02b
      https://github.com/dovecot/core/commit/4e52776b89ba18b367d33d0b41d9bb8e21dff02b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-ldap/ldap-client.c

  Log Message:
  -----------
  lib-ldap: Compiling fix - don't pass through void return


  Commit: c04452ea18f1251cb789e7fd8444bda6052f1907
      https://github.com/dovecot/core/commit/c04452ea18f1251cb789e7fd8444bda6052f1907
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-ldap/ldap-connection.c

  Log Message:
  -----------
  lib-ldap: Do not create new context and lose settings


  Commit: 91ea741b73353f6e9384cb227a38e6953aff1c3c
      https://github.com/dovecot/core/commit/91ea741b73353f6e9384cb227a38e6953aff1c3c
  Author: Phil Carmody <phil at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib/istream.h

  Log Message:
  -----------
  lib: istream - provide alternatives to i_stream_read_data()

Providing as a parameter the number of bytes that you would be
disappointed to receive was confusing compared to providing the
number that you would be happy to receive. This lets us get rid
of all the '-1's in the callers. The callers which used 0 as
a parameter were so common that it's worth providing a separate
API just to simplify their demands.

Deep down, these are still the same underlying function. Currently
we route the new API through the old one, but eventually, the old
API can be routed through the new one, so that the friendlier
interface has the simplest implementation.

Signed-off-by: Phil Carmody <phil at dovecot.fi>


  Commit: 1cf5575a83824fdaf6751c77184783f2a8f27b11
      https://github.com/dovecot/core/commit/1cf5575a83824fdaf6751c77184783f2a8f27b11
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-ldap/ldap-connection.c

  Log Message:
  -----------
  lib-ldap: Fixed assert-crash when killing LDAP connection.

libldap may have already closed the fd, so with epoll io_remove() would
try to remove it and crash with:

Panic: epoll_ctl(del, 12) failed: Bad file descriptor


  Commit: 047ea33ffb5dd01a18faea33cf14cce4bd95cfcb
      https://github.com/dovecot/core/commit/047ea33ffb5dd01a18faea33cf14cce4bd95cfcb
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/doveadm/doveadm-mail-mailbox.c
    M src/doveadm/doveadm-mail.c
    M src/doveadm/doveadm-mail.h

  Log Message:
  -----------
  doveadm-mailbox: Add update subcommand


  Commit: 2382a7a387a09910d6cc7e1cb6538dbdb6ad6bf3
      https://github.com/dovecot/core/commit/2382a7a387a09910d6cc7e1cb6538dbdb6ad6bf3
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/imap/imap-client.c
    M src/imap/imap-client.h
    M src/imap/imap-sync.c

  Log Message:
  -----------
  imap: Include sync timing information in tagged command replies.
Show it only when it's larger than 0 to avoid unnecessary output.


  Commit: 4628ac0ef2962f5b5940e50a4584e614712585d1
      https://github.com/dovecot/core/commit/4628ac0ef2962f5b5940e50a4584e614712585d1
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/dict/dict-connection.c

  Log Message:
  -----------
  dict: Fix crash when no dictionaries defined


  Commit: c3e1c21483cad8ee7ac6d4cccf779d7d90eb21a6
      https://github.com/dovecot/core/commit/c3e1c21483cad8ee7ac6d4cccf779d7d90eb21a6
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/doveadm/doveadm-mail-mailbox.c

  Log Message:
  -----------
  doveadm-mailbox-delete: Restore recursive parameter


  Commit: 928d7dd693535b2e989b78b1195684ebb729ea77
      https://github.com/dovecot/core/commit/928d7dd693535b2e989b78b1195684ebb729ea77
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib/ioloop-epoll.c

  Log Message:
  -----------
  lib: If epoll_ctl() fails, panic instead of just fatal.

This makes it easier to fix such bugs.


  Commit: ddc68eccc1cf38afe64e1267c584cfcccb91f8e4
      https://github.com/dovecot/core/commit/ddc68eccc1cf38afe64e1267c584cfcccb91f8e4
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-http/http-client-request.c
    M src/lib-http/http-server-response.c

  Log Message:
  -----------
  lib-http: Fixed checking if istream or ostream needs waiting.


  Commit: f145de135efcc14cf50122c3ec2fdcd560b0fc23
      https://github.com/dovecot/core/commit/f145de135efcc14cf50122c3ec2fdcd560b0fc23
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-mail/istream-header-filter.c
    M src/lib-mail/test-istream-header-filter.c

  Log Message:
  -----------
  lib-mail: istream-header-filter - Don't return -2 too early

We returned -2 after we already added the data to the buffer. We should
have returned -2 only on the next read() call if nothing was skipped.


  Commit: 9f49885f563b510ec277d8d63de4cd24241e6325
      https://github.com/dovecot/core/commit/9f49885f563b510ec277d8d63de4cd24241e6325
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-fs/istream-metawrap.c

  Log Message:
  -----------
  lib-fs: istream-metawrap can't have a readable fd currently


  Commit: d0207db9a6e5cb66102eba1b7629b3b3f6b2a943
      https://github.com/dovecot/core/commit/d0207db9a6e5cb66102eba1b7629b3b3f6b2a943
  Author: Baofeng Wang <baofeng.wang at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/config/config-parser.c

  Log Message:
  -----------
  config: fix possible out-of-bound access in parsing function

Add low-bound check when decreasing string pointer from tail.


  Commit: d803151b92265d80c767f7a1c09d7e2e988d19e5
      https://github.com/dovecot/core/commit/d803151b92265d80c767f7a1c09d7e2e988d19e5
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-19 (Thu, 19 May 2016)

  Changed paths:
    M src/lib-mail/istream-header-filter.c
    M src/lib-mail/test-istream-header-filter.c

  Log Message:
  -----------
  lib-mail: Fixed istream-header-filter calling callback(hdr=NULL)

It should do it on the following parsings as well if there were any
callbacks that were called, or if the hdr==NULL callback added any
headers. This is important because the hdr==NULL call could do some
cleanups.


  Commit: 497920dcfe17452b250f05ac706e702a2974c0ba
      https://github.com/dovecot/core/commit/497920dcfe17452b250f05ac706e702a2974c0ba
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-20 (Fri, 20 May 2016)

  Changed paths:
    M src/doveadm/dsync/dsync-mailbox-import.c

  Log Message:
  -----------
  doveadm backup: Fixed unnecessary mailbox deletion.

Broken by 79490ec1a. The idea is to delete the mailbox early to avoid
unnecessary work, but we deleted it too early. If the last mail(s) were
deleted instead of just expunging them we deleted the whole mailbox.


  Commit: 5faca5cbc09103f713ea99175e6db2eae66aa515
      https://github.com/dovecot/core/commit/5faca5cbc09103f713ea99175e6db2eae66aa515
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-23 (Mon, 23 May 2016)

  Changed paths:
    M src/lib-ldap/ldap-connection.c

  Log Message:
  -----------
  lib-ldap: Support libldap without LDAP_OPT_X_TLS_NEWCTX.


  Commit: d59c580d591374e61e4d40f8914b23fe0674f13c
      https://github.com/dovecot/core/commit/d59c580d591374e61e4d40f8914b23fe0674f13c
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-23 (Mon, 23 May 2016)

  Changed paths:
    M src/lib-ldap/ldap-connection.c

  Log Message:
  -----------
  lib-ldap: Use ldap_unbind_ext() instead of ldap_destroy()

This allows it to compile with older LDAP libraries. Their behavior (at least
in OpenLDAP) is identical as long as LDAP_OPT_CLIENT_CONTROLS haven't been
changed, which we haven't.


  Commit: a76e22d182ee7468177f90677951a3485a2d12d4
      https://github.com/dovecot/core/commit/a76e22d182ee7468177f90677951a3485a2d12d4
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-23 (Mon, 23 May 2016)

  Changed paths:
    M src/lib-index/mail-cache-compress.c

  Log Message:
  -----------
  lib-index: Make sure cache compression doesn't clear the file unneededly.

This probably never happened with current code, except when the cache file
was already broken.

mail_cache_compress() unmapped cache when map_with_read==TRUE, but we never
mapped it back. This would cause cache copying code to think cache was
unusable and not copy anything.


  Commit: d066a240d30e3ea9d4d0ee26eaaf55d17fa3e28f
      https://github.com/dovecot/core/commit/d066a240d30e3ea9d4d0ee26eaaf55d17fa3e28f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2016-05-23 (Mon, 23 May 2016)

  Changed paths:
    M src/lib-index/mail-cache-compress.c

  Log Message:
  -----------
  lib-index: Fixed assert-crash caused by previous cache compression change.

We can't call mail_cache_map() when cache file isn't open or we'll crash:

Panic: file mail-cache.c: line 468 (mail_cache_map): assertion failed: (cache->need_compress_file_seq != 0 || MAIL_INDEX_IS_IN_MEMORY(cache->index))


Compare: https://github.com/dovecot/core/compare/cd1832e6fe79^...d066a240d30e


More information about the dovecot-cvs mailing list