[dovecot/core] d80818: lib-index: Add mail_index_set_error_nolog()

GitHub noreply at github.com
Mon Dec 25 22:30:10 EET 2017


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: d808185fd6263862e93637d296f0c4fb0529118e
      https://github.com/dovecot/core/commit/d808185fd6263862e93637d296f0c4fb0529118e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-12-25 (Mon, 25 Dec 2017)

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

  Log Message:
  -----------
  lib-index: Add mail_index_set_error_nolog()


  Commit: 103b44c67f38862d1e72c9bfdf11f067b4670675
      https://github.com/dovecot/core/commit/103b44c67f38862d1e72c9bfdf11f067b4670675
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-12-25 (Mon, 25 Dec 2017)

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

  Log Message:
  -----------
  lib-storage: Set index error on transaction commit() callback

The commit callback is setting errors to storage. However, it's being
called from mail_index_transaction_commit() whose callers are expecting
the error to be in index. If that index error was attempted to be used,
it could have been wrong or NULL. Fix this by setting the same storage
error also to the index.


  Commit: efbed6ccb15f8287f83e99c5dc4fe963675a44cc
      https://github.com/dovecot/core/commit/efbed6ccb15f8287f83e99c5dc4fe963675a44cc
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-12-25 (Mon, 25 Dec 2017)

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

  Log Message:
  -----------
  lib-storage: mail_storage_set_index_error() - handle NULL index error

This avoids assert-crashing later on in mail*_get_last_internal_error().

This could potentially be an assert instead of setting it as "BUG", but
it looks like there are various code paths in lib-index that return -1
without setting an error. (That's to avoid duplicate error logging,
although it could now be fixed with mail_index_set_error_nolog().)


  Commit: 7484b1b01bee9b767f8b67396e1f4af4b0ea1dd3
      https://github.com/dovecot/core/commit/7484b1b01bee9b767f8b67396e1f4af4b0ea1dd3
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-12-25 (Mon, 25 Dec 2017)

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

  Log Message:
  -----------
  imapc: Add imapc_features=no-msn-updates

This is a stricter version of fetch-msn-workarounds. The MSNs aren't trusted
at all. This means any new untagged EXISTS and EXPUNGE replies are ignored,
as well as untagged FETCH replies that don't include UID.

A potential downside with this feature is that UID FETCH/STORE commands
sent to expunged messages will likely fail without the IMAP client being
notified of the EXPUNGEs. New mails are also not noticed, so this should
be used only when it's known that the clients don't keep the connection
open for long.


  Commit: 4c9989b49cf92d606df2667d9b472d8e0d259485
      https://github.com/dovecot/core/commit/4c9989b49cf92d606df2667d9b472d8e0d259485
  Author: Phil Carmody <phil at dovecot.fi>
  Date:   2017-12-25 (Mon, 25 Dec 2017)

  Changed paths:
    M src/lib/data-stack.c

  Log Message:
  -----------
  lib/datastack - remove useless thing

It was useless.

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


  Commit: b0b9b292c7e3bdf0369fc04005793ace77f09f50
      https://github.com/dovecot/core/commit/b0b9b292c7e3bdf0369fc04005793ace77f09f50
  Author: Phil Carmody <phil at dovecot.fi>
  Date:   2017-12-25 (Mon, 25 Dec 2017)

  Changed paths:
    M src/lib/data-stack.c

  Log Message:
  -----------
  lib/data-stack  - in panic scenarios, use the panic memory buffer

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


Compare: https://github.com/dovecot/core/compare/961a5c472495...b0b9b292c7e3


More information about the dovecot-cvs mailing list