[dovecot/core] d405b0: lib-imap-client: After reconnection send retried c...

GitHub noreply at github.com
Fri Jan 19 14:00:24 EET 2018


  Branch: refs/heads/master-2.3
  Home:   https://github.com/dovecot/core
  Commit: d405b021405ab4d23be187d9033f53e24e50b888
      https://github.com/dovecot/core/commit/d405b021405ab4d23be187d9033f53e24e50b888
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

  Changed paths:
    M src/lib-imap-client/imapc-connection.c

  Log Message:
  -----------
  lib-imap-client: After reconnection send retried commands last

Previously only SELECT was sent before others. This allows sending more
commands on reconnection before the retried commands.


  Commit: 5044de00680c2aad9fdfdc13f9c324c9827a342a
      https://github.com/dovecot/core/commit/5044de00680c2aad9fdfdc13f9c324c9827a342a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

  Changed paths:
    M src/lib-imap-client/imapc-connection.c

  Log Message:
  -----------
  lib-imap-client: Delay sending more commands while SELECT is running


  Commit: 1421648d260a11023fd184be391414be76436e01
      https://github.com/dovecot/core/commit/1421648d260a11023fd184be391414be76436e01
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

  Changed paths:
    M src/lib-imap-client/imapc-connection.c

  Log Message:
  -----------
  lib-imap-client: Add asserts for reconnect_command_count


  Commit: f98b9b4cdc3df33fbb024a0c2d79d33dee1350ee
      https://github.com/dovecot/core/commit/f98b9b4cdc3df33fbb024a0c2d79d33dee1350ee
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

  Changed paths:
    M src/lib-imap-client/imapc-connection.c

  Log Message:
  -----------
  lib-imap-client: Fix reason text when unselecting mailbox aborts commands


  Commit: 41093d6fdfc90c00218a1cf04c686d1494257644
      https://github.com/dovecot/core/commit/41093d6fdfc90c00218a1cf04c686d1494257644
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

  Changed paths:
    M src/lib-imap-client/imapc-connection.c

  Log Message:
  -----------
  lib-imap-client: Avoid "Unknown tag" errors for aborted commands

If mailbox is closed before all command replies were received, the commands
were aborted but they'll still receive the replies from server. Remember
the aborted commands' tag numbers so they can be ignored.


  Commit: 88e551a4b0d5ed742efbeec5c7f7aa66665c31d7
      https://github.com/dovecot/core/commit/88e551a4b0d5ed742efbeec5c7f7aa66665c31d7
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

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

  Log Message:
  -----------
  imapc: Fix leaking mail_index_view on delayed expunge handling

Fixes:
Panic: Leaked view for index (in-memory index): Opened in imapc-mailbox.c:47


  Commit: ce651ecc1cdfcc630334a95e9e65cede4989065f
      https://github.com/dovecot/core/commit/ce651ecc1cdfcc630334a95e9e65cede4989065f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

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

  Log Message:
  -----------
  imapc: Keep "selected" state TRUE only while mailbox is successfully SELECTed


  Commit: 33b25be1b2d954b1edafa7dce8983fd8d9bd0fb7
      https://github.com/dovecot/core/commit/33b25be1b2d954b1edafa7dce8983fd8d9bd0fb7
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

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

  Log Message:
  -----------
  imapc: If mailbox select fails, rollback any changes done to it

Required by the following changes that start adding changes immediately
after SELECT. If the initial syncing doesn't finish successfully, these
changes need to be reverted.


  Commit: f3ccac7b49f973a2709cb2370d2745de9f4e338f
      https://github.com/dovecot/core/commit/f3ccac7b49f973a2709cb2370d2745de9f4e338f
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

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

  Log Message:
  -----------
  imapc: Handle untagged UIDVALIDITY immediately

This is part of the changes to fix mailbox resyncing after reconnect.


  Commit: ddd79dd916092d23cbb317b4dadb311be3f7a942
      https://github.com/dovecot/core/commit/ddd79dd916092d23cbb317b4dadb311be3f7a942
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

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

  Log Message:
  -----------
  imapc: Move imapc_mailbox_fetch_state*() to imapc-mailbox.c

Mainly to make the next commit smaller.


  Commit: b5265b4a3b076e938578ac72f6fd73c6e565e636
      https://github.com/dovecot/core/commit/b5265b4a3b076e938578ac72f6fd73c6e565e636
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

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

  Log Message:
  -----------
  imapc: gmail-migration: Fetch X-GM-MSGID for new mails as well

I'm not sure why it was originally restricted only for the initial FETCH.
Fetching GUIDs for new mails can be just as useful.


  Commit: 9c7ec3fa606b8627e70a8dfd7963a601fc6ea23d
      https://github.com/dovecot/core/commit/9c7ec3fa606b8627e70a8dfd7963a601fc6ea23d
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-18 (Thu, 18 Jan 2018)

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

  Log Message:
  -----------
  imapc: Fix sending initial FETCH after reconnection SELECTs mailbox

Move sending the FETCH when the SELECT returns tagged OK reply instead of
delaying it until mailbox is next synced. Most importantly this allows
sending the FETCH before any retried commands that are also sent after
SELECT receives tagged reply.


  Commit: 19dd64eb2e2ae98081a27a75136cc767edffb8e5
      https://github.com/dovecot/core/commit/19dd64eb2e2ae98081a27a75136cc767edffb8e5
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

  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: 1272b52e1128be50c77dbcc95e0fa3f0e282a320
      https://github.com/dovecot/core/commit/1272b52e1128be50c77dbcc95e0fa3f0e282a320
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2018-01-19 (Fri, 19 Jan 2018)

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

  Log Message:
  -----------
  imapc: Fix imap_features=no-msn-updates to not fail on SELECT

The initial EXISTS reply shouldn't be ignored, only the following ones.


Compare: https://github.com/dovecot/core/compare/bdfa22623971...1272b52e1128


More information about the dovecot-cvs mailing list