[dovecot/core] c44fcb: lib-storage: Don't crash if cache is thought broke...

GitHub noreply at github.com
Sat May 20 21:30:09 EEST 2017


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: c44fcb83f26c0a86fbcdef05036aa4daa5e1da2e
      https://github.com/dovecot/core/commit/c44fcb83f26c0a86fbcdef05036aa4daa5e1da2e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-20 (Sat, 20 May 2017)

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

  Log Message:
  -----------
  lib-storage: Don't crash if cache is thought broken for a newly saved mail

It's a bug that it happens, but the resulting crash is confusing.
Although arguably this new error could be i_panic() instead.

Fixes:
Panic: file mail-index-transaction-update.c: line 1018 (mail_index_update_ext): assertion failed: (seq > 0 && (seq <= mail_index_view_get_messages_count(t->view) || seq <= t->last_new_seq))


  Commit: ac8cb75fb110a9d03363d1219a5672ce3c4ff89a
      https://github.com/dovecot/core/commit/ac8cb75fb110a9d03363d1219a5672ce3c4ff89a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-20 (Sat, 20 May 2017)

  Changed paths:
    M src/lib-index/mail-transaction-log-view.c

  Log Message:
  -----------
  lib-index: mail_transaction_log_view_set_all() - don't entirely ignore corrupted logs

Ignore them only if it's followed by an index reset.


  Commit: ce9d23c7c1e621398d2572a1d95171136f7ef6a2
      https://github.com/dovecot/core/commit/ce9d23c7c1e621398d2572a1d95171136f7ef6a2
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-20 (Sat, 20 May 2017)

  Changed paths:
    M src/lib-index/mail-transaction-log-file.c
    M src/lib-index/mail-transaction-log-private.h
    M src/lib-index/mail-transaction-log-view.c
    M src/lib-index/mail-transaction-log.c
    M src/lib-index/test-mail-transaction-log-view.c

  Log Message:
  -----------
  lib-index: mail_transaction_log_file_map() - return reason/error string

This can help figuring out why some error happened when more context is
provided in the caller's error messages.


  Commit: 20a10690f6dd922b36f72f995c95b96face85971
      https://github.com/dovecot/core/commit/20a10690f6dd922b36f72f995c95b96face85971
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-20 (Sat, 20 May 2017)

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

  Log Message:
  -----------
  lib-index: Add missing error logging for mail_index_view_sync_begin()


  Commit: a0c8af555ec481ab12c2a99518cf7b20debd1627
      https://github.com/dovecot/core/commit/a0c8af555ec481ab12c2a99518cf7b20debd1627
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-20 (Sat, 20 May 2017)

  Changed paths:
    M src/lib-index/mail-transaction-log-file.c
    M src/lib-index/mail-transaction-log-private.h
    M src/lib-index/mail-transaction-log-view.c
    M src/lib-index/test-mail-transaction-log-view.c

  Log Message:
  -----------
  lib-index: mail_transaction_log_file_get_highest_modseq_at() - return error string

This can help figuring out why some error happened when more context is
provided in the caller's error messages.


  Commit: 0a1a4e586ced13635fc1b8f2c78c94cb35ef645a
      https://github.com/dovecot/core/commit/0a1a4e586ced13635fc1b8f2c78c94cb35ef645a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-20 (Sat, 20 May 2017)

  Changed paths:
    M src/lib-index/mail-transaction-log-file.c

  Log Message:
  -----------
  lib-index: Improve "start_offset > current sync_offset" error message.

Try to make it clear what is the root cause of it.


  Commit: 67c25cb4af273aff7384d5028d459cc9afdf8712
      https://github.com/dovecot/core/commit/67c25cb4af273aff7384d5028d459cc9afdf8712
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-20 (Sat, 20 May 2017)

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

  Log Message:
  -----------
  imap: Allow plugins to replace existing FETCH handlers

They can use imap_fetch_handler_lookup() to get the old init() function.
Then they can imap_fetch_handler_unregister() the existing handler and
register a new handler, which can do its own work and call the old init()
if needed.


  Commit: 08406452bf0deae412437463618ed3f870ed03d5
      https://github.com/dovecot/core/commit/08406452bf0deae412437463618ed3f870ed03d5
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-20 (Sat, 20 May 2017)

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

  Log Message:
  -----------
  imap: Move struct client_sync_context to imap-sync-private.h and add imap_ prefix


  Commit: e3d797bc851dc90fb88e68ae715c204d0f46e6ff
      https://github.com/dovecot/core/commit/e3d797bc851dc90fb88e68ae715c204d0f46e6ff
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-05-20 (Sat, 20 May 2017)

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

  Log Message:
  -----------
  config: When showing an "Unknown setting" error, show the full section path

For example with:

service foo {
  inet_listener bar {
    key = value
  }
}

Instead of showing just:

Unknown setting: key

Show the entire path:

Unknown setting: service { inet_listener { key

Any filters won't be shown, because they don't affect the result.


Compare: https://github.com/dovecot/core/compare/369847496787...e3d797bc851d


More information about the dovecot-cvs mailing list