[dovecot/core] 3ca2cf: mdbox: Fix rebuilding when dovecot.map.index is mi...

GitHub noreply at github.com
Tue Jan 30 13:00:22 EET 2018


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: 3ca2cf97afcf222697ae808942bef6b7618d688b
      https://github.com/dovecot/core/commit/3ca2cf97afcf222697ae808942bef6b7618d688b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-29 (Mon, 29 Jan 2018)

  Changed paths:
    M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c

  Log Message:
  -----------
  mdbox: Fix rebuilding when dovecot.map.index is missing map/ref extension

The rebuild kept just repeatedly failing with:
Error: mdbox map .../dovecot.map.index corrupted: missing map extension


  Commit: 0c2f1bd7830bc1d5ccf99417723f1fb5b98ac10b
      https://github.com/dovecot/core/commit/0c2f1bd7830bc1d5ccf99417723f1fb5b98ac10b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-29 (Mon, 29 Jan 2018)

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

  Log Message:
  -----------
  lib-index: Fix adding forced cache decisions to existing cache files

If a field already existed in the cache file, the cache decision from the
file was always used. This caused force-decisions to be ignored.


  Commit: 6e9a1bcae4270ff449d726df617fea39368b3e26
      https://github.com/dovecot/core/commit/6e9a1bcae4270ff449d726df617fea39368b3e26
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-29 (Mon, 29 Jan 2018)

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

  Log Message:
  -----------
  lib-index: Fix removal of forced cache decisions from existing cache files

The forced-flags are written to the cache file when the file is created.
They were also read back, and the force-flag was preserved even when the
configuration was removed.


  Commit: 7a5f8685c00c80cc9378bf430914e22621fbbb6a
      https://github.com/dovecot/core/commit/7a5f8685c00c80cc9378bf430914e22621fbbb6a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-29 (Mon, 29 Jan 2018)

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

  Log Message:
  -----------
  lib-index: Finish fixing removal of forced cache decisions from existing cache files

6ef2504d020461b0f480766c41596595a4300023 didn't fix it for already known
fields.


  Commit: 566d4920cf1820a81f166609bc955321d76d0639
      https://github.com/dovecot/core/commit/566d4920cf1820a81f166609bc955321d76d0639
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-29 (Mon, 29 Jan 2018)

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

  Log Message:
  -----------
  lib-index: Code cleanup for reading caching decisions

No functional changes.


  Commit: 040e8d386478873174d15667b7d390bb5b113af3
      https://github.com/dovecot/core/commit/040e8d386478873174d15667b7d390bb5b113af3
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-29 (Mon, 29 Jan 2018)

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

  Log Message:
  -----------
  lib-index: Write forced cache decision changes immediately to cache file

When mail_always/never_cache_fields doesn't match the current caching
decisions in the cache file, write the updated decisions to the file.


  Commit: c899e220abe221086191eaa3b63a47480f52c493
      https://github.com/dovecot/core/commit/c899e220abe221086191eaa3b63a47480f52c493
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2018-01-30 (Tue, 30 Jan 2018)

  Changed paths:
    M src/plugins/mail-crypt/mail-crypt-pluginenv.c

  Log Message:
  -----------
  mail-crypt: Do not free global keys if no error has occured


  Commit: 4e28c31250096ee5e8c739c03f8290f95c473ce0
      https://github.com/dovecot/core/commit/4e28c31250096ee5e8c739c03f8290f95c473ce0
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-30 (Tue, 30 Jan 2018)

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

  Log Message:
  -----------
  lib-auth: Fix memory leak in auth_client_request_abort()

This caused memory leaks when authentication was aborted. For example
with IMAP:

a AUTHENTICATE PLAIN
*

Broken by 9137c55411aa39d41c1e705ddc34d5bd26c65021


  Commit: e2236c3d73efdb2634acf8fea3c2dc8d9702ca09
      https://github.com/dovecot/core/commit/e2236c3d73efdb2634acf8fea3c2dc8d9702ca09
  Author: Aki Tuomi <aki.tuomi at dovecot.fi>
  Date:   2018-01-30 (Tue, 30 Jan 2018)

  Changed paths:
    M src/lib-auth/auth-client-request.c
    M src/lib-auth/auth-server-connection.c
    M src/lib-auth/auth-server-connection.h

  Log Message:
  -----------
  lib-auth: Remove request after abort

Otherwise the request will still stay in hash table
and get dereferenced when all requests are aborted
causing an attempt to access free'd memory.

Found by Apollon Oikonomopoulos <apoikos at debian.org>

Broken in 1a29ed2f96da1be22fa5a4d96c7583aa81b8b060


Compare: https://github.com/dovecot/core/compare/f386bd2c452b...e2236c3d73ef


More information about the dovecot-cvs mailing list