[dovecot/core] 143ef7: dsync: Don't assert-crash if duplicate attributes ...

GitHub noreply at github.com
Sun Feb 19 20:30:13 UTC 2017


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: 143ef74e136d3bc9310d7e68e5e4988330ed79d8
      https://github.com/dovecot/core/commit/143ef74e136d3bc9310d7e68e5e4988330ed79d8
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

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

  Log Message:
  -----------
  dsync: Don't assert-crash if duplicate attributes are seen

Just ignore the duplicates. Normally this shouldn't happen, but due to
some bugs for example a Sieve script could be returned once by doveadm_sieve
plugin and another time from mail_attribute_dict.


  Commit: db102ed2b1c0019528d93f24488727fccc3d5d9b
      https://github.com/dovecot/core/commit/db102ed2b1c0019528d93f24488727fccc3d5d9b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

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

  Log Message:
  -----------
  lib-storage: Clarify what MAIL_LOOKUP_ABORT_READ_MAIL means.

It should maybe even be renamed to something clearer.


  Commit: 0d736be21e55c83da316241d70c539f26fbe73b0
      https://github.com/dovecot/core/commit/0d736be21e55c83da316241d70c539f26fbe73b0
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

  Changed paths:
    M src/lib-storage/index/cydir/cydir-mail.c
    M src/lib-storage/index/dbox-multi/mdbox-mail.c
    M src/lib-storage/index/dbox-single/sdbox-mail.c
    M src/lib-storage/index/imapc/imapc-mail-fetch.c
    M src/lib-storage/index/index-mail.c
    M src/lib-storage/index/maildir/maildir-mail.c
    M src/lib-storage/index/mbox/mbox-mail.c
    M src/lib-storage/index/raw/raw-mail.c
    M src/lib-storage/mail-storage.h

  Log Message:
  -----------
  lib-storage: Add mail.mail_stream_opened and .mail_metadata_accessed

These allow determining after mail_*() calls how efficiently they were
performed.


  Commit: 75673aa9437c359a48d1375f7e746119be8dee5c
      https://github.com/dovecot/core/commit/75673aa9437c359a48d1375f7e746119be8dee5c
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

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

  Log Message:
  -----------
  lib-storage: Change vsize calculation to use the new mail_stream_opened

This avoids calling mail_get_virtual_size() twice and is a bit cleaner
approach.


  Commit: af01d7cd4555ee3a65d9c3c168a77f8fcc752c6d
      https://github.com/dovecot/core/commit/af01d7cd4555ee3a65d9c3c168a77f8fcc752c6d
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

  Changed paths:
    M src/lib-storage/index/index-search.c
    M src/lib-storage/index/index-sort-private.h
    M src/lib-storage/index/index-sort-string.c
    M src/lib-storage/index/index-sort.c
    M src/lib-storage/index/index-sort.h

  Log Message:
  -----------
  lib-storage: Fix error handling when sorting mails.

All errors were treated the same as if message had been expunged. This
caused potentially wrong results to be sent to the client without any
indication that they're wrong.


  Commit: 61b952ff05745db4e5fd1232af2d9c801064e4c6
      https://github.com/dovecot/core/commit/61b952ff05745db4e5fd1232af2d9c801064e4c6
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

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

  Log Message:
  -----------
  lib-storage: Search optimization - avoid parsing message_parts unnecessarily

If they're not already cached, the mail is parsed twice: once to get the
message_parts and again to perform the actual search. The searching can
however do the message_parts parsing internally as well.


  Commit: f565008869032a411ed7e58c24a0d6505613f009
      https://github.com/dovecot/core/commit/f565008869032a411ed7e58c24a0d6505613f009
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

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

  Log Message:
  -----------
  lib-storage: Fix error handling when searching mails

Only expunge errors and failures caused by lookup_abort should be ignored.
The rest of the mail errors mean that the search result might not be
correct. We'll still run the search as fully as possible, but we just
return an error at the end.


  Commit: 808dfbe3471b19ae983093119976ff914bc2ae2e
      https://github.com/dovecot/core/commit/808dfbe3471b19ae983093119976ff914bc2ae2e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

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

  Log Message:
  -----------
  imap: If SEARCH/SORT fails but returns some results, send them to client.

The previous error handling fixes cause SEARCH/SORT to now fail if there
are any problems reading mails. This change makes the commands still
return the best known results, so the IMAP client can still use them,
even though they may not be entirely correct.


  Commit: 8c96c6d2814ddbebe62da9fdc7882feb759e5f61
      https://github.com/dovecot/core/commit/8c96c6d2814ddbebe62da9fdc7882feb759e5f61
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

  Changed paths:
    M src/doveadm/doveadm-mail.c
    M src/imap/imap-commands-util.c
    M src/lib-storage/index/dbox-multi/mdbox-map.c
    M src/lib-storage/index/imapc/imapc-storage.c
    M src/lib-storage/mail-error.h

  Log Message:
  -----------
  lib-storage: Add MAIL_ERROR_LIMIT


  Commit: 89aff52c75b012dd13492e622b5cd5ca49f8f5af
      https://github.com/dovecot/core/commit/89aff52c75b012dd13492e622b5cd5ca49f8f5af
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

  Changed paths:
    M src/lib-storage/index/index-sort-private.h
    M src/lib-storage/index/index-sort-string.c
    M src/lib-storage/index/index-sort.c
    M src/lib-storage/mail-storage-settings.c
    M src/lib-storage/mail-storage-settings.h

  Log Message:
  -----------
  lib-storage: Add mail_sort_max_read_count setting.

This controls how many slow mail accesses sorting can perform before it
fails:

a NO [LIMIT] Requested sort would have taken too long

The SORT reply is still returned, but it's likely not correct.


  Commit: da29d3a047e3e3164acc2e5b1bffb2d8874e73aa
      https://github.com/dovecot/core/commit/da29d3a047e3e3164acc2e5b1bffb2d8874e73aa
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

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

  Log Message:
  -----------
  lib-storage: Add mail.access_type


  Commit: 37038df03954425d19bc1b3b1470e7b013b3f4b9
      https://github.com/dovecot/core/commit/37038df03954425d19bc1b3b1470e7b013b3f4b9
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

  Changed paths:
    M src/doveadm/doveadm-mail.c
    M src/imap/imap-commands-util.c
    M src/lib-storage/index/index-mailbox-size.c
    M src/lib-storage/index/index-search.c
    M src/lib-storage/index/index-sort.c
    M src/lib-storage/mail-error.h
    M src/lib-storage/mail.c
    M src/pop3/pop3-client.c

  Log Message:
  -----------
  lib-storage: Add explicit MAIL_ERROR_LOOKUP_ABORT error

The MAIL_ERROR_NOTPOSSIBLE was a bit too generic to assume to mean the same
thing. It doesn't look like there are any external plugins that break
because of this change.


Compare: https://github.com/dovecot/core/compare/bd612a097050...37038df03954


More information about the dovecot-cvs mailing list