[dovecot/core] 3857e2: lib-storage: Make sure mailbox undeletion won't go...

GitHub noreply at github.com
Thu Feb 16 12:00:09 UTC 2017


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: 3857e2945a3b6744d603f0f5a656849ed8436ba3
      https://github.com/dovecot/core/commit/3857e2945a3b6744d603f0f5a656849ed8436ba3
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-16 (Thu, 16 Feb 2017)

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

  Log Message:
  -----------
  lib-storage: Make sure mailbox undeletion won't go to infinite loop


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

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

  Log Message:
  -----------
  lib-storage: Don't sync mailbox after undeleting it.

This is useful only when deleting it. With undeletion the syncing isn't
useful and might actually be harmful with mailbox formats that didn't
fully open the mailbox while it was undeleted.


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

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

  Log Message:
  -----------
  lib-storage: Re-open mailbox after it's undeleted.

This is needed with mailbox formats that didn't fully open the mailbox while
it was undeleted.


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

  Changed paths:
    M src/lib-index/mail-index-transaction-finish.c
    M src/lib-index/mail-index-transaction-private.h
    M src/lib-index/mail-index-transaction-update.c
    M src/lib-index/test-mail-index-transaction-finish.c

  Log Message:
  -----------
  lib-index: Add day_stamp parameter to mail_index_update_day_headers()

This will help creating a unit test.


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

  Changed paths:
    M src/lib-index/mail-index-transaction-update.c
    M src/lib-index/test-mail-index-transaction-update.c

  Log Message:
  -----------
  lib-index: Fix updating mail_index_header.day_first_uid

If user received a mail every day, the day_first_uid wasn't being updated.
This caused wrong caching decisions to be made in dovecot.index.cache:

 - Accessing >1 week old emails should have changed caching decision from
"tmp" to "yes". This might not have happened, although as long as
day_first_uid[7] pointed to an existing mail and email client accessed
all the mails, this wouldn't have changed anything.

 - Cache compression is supposed to drop >1 week old mails when caching
decision is "tmp". Not enough mails were being dropped because
day_first_uid[7] pointed to a much older than 1 week old mails.

Also added a unit test to make sure this works.

Broken by d9ee2f9fb3ef7b9391bfeeff1b374aead51667aa


Compare: https://github.com/dovecot/core/compare/86448bdb60ed...dfa4b048ec9a


More information about the dovecot-cvs mailing list