[dovecot/core] b2dd04: lib-imap-client: Fix hang when imapc_client_get_ca...

GitHub noreply at github.com
Tue Jun 13 13:30:14 EEST 2017


  Branch: refs/heads/master-2.2
  Home:   https://github.com/dovecot/core
  Commit: b2dd0489952dbab471dd63a5a171b1bc9805d91a
      https://github.com/dovecot/core/commit/b2dd0489952dbab471dd63a5a171b1bc9805d91a
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  lib-imap-client: Fix hang when imapc_client_get_capabilities() is called without connection


  Commit: 81d10aff29baede9ae4944d6c89790871123d11d
      https://github.com/dovecot/core/commit/81d10aff29baede9ae4944d6c89790871123d11d
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M src/plugins/quota-clone/quota-clone-plugin.c

  Log Message:
  -----------
  quota-clone: Don't clone quota resources that aren't enabled.

They would always just be zeros anyway, so this makes the update slightly
more efficient. Although practically this only matters with dirsize and
fs quotas, which people generally don't use with quota_clone.


  Commit: 27456d2cbb629001543a05bcea93017fd0b125cf
      https://github.com/dovecot/core/commit/27456d2cbb629001543a05bcea93017fd0b125cf
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M src/plugins/imap-quota/imap-quota-plugin.c

  Log Message:
  -----------
  imap-quota: If quota root doesn't have any quotas, don't send empty QUOTA reply

For example if GETQUOTA is asked for fs quota, but the user doesn't have fs
quota enabled.


  Commit: f0a71cb27250cc903f0cb67e54b6071c799ce559
      https://github.com/dovecot/core/commit/f0a71cb27250cc903f0cb67e54b6071c799ce559
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M src/plugins/quota/quota-private.h
    M src/plugins/quota/quota.c

  Log Message:
  -----------
  quota: quota_root_iter_next() - Iterate all visible roots

Don't try to skip the roots that don't have an active quota. imap_quota
plugin does the skipping now itself, and quota_clone shouldn't really be
even used with more than one quota root.


  Commit: 701279638520af8ceb6e53aa0137b4250e451e8b
      https://github.com/dovecot/core/commit/701279638520af8ceb6e53aa0137b4250e451e8b
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M src/plugins/quota/quota.h

  Log Message:
  -----------
  quota: Update comments in quota.h


  Commit: c044686c1e7e0638a102a27daf1d32a40c160bdd
      https://github.com/dovecot/core/commit/c044686c1e7e0638a102a27daf1d32a40c160bdd
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M src/plugins/imap-quota/imap-quota-plugin.c

  Log Message:
  -----------
  imap-quota: If quota lookups fail, return NO for GETQUOTA/GETQUOTAROOT


  Commit: 5ce94fd6dd6722c0eee85daddc649f70583352d9
      https://github.com/dovecot/core/commit/5ce94fd6dd6722c0eee85daddc649f70583352d9
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  imapc: Remove auth_failed check from imapc_list_get_storage_name()

Reverts 9949dc3649ac7a00289f6bf0662c793bee3d4286. It doesn't seem to be
actually needed at least now, and it's breaking:

 * SELECT INBOX -> failure due to remote server being down
 * SELECT INBOX -> NO [CANNOT] Invalid mailbox name: Name is empty


  Commit: b139348506f9acb242999d057d8aed110d602e9c
      https://github.com/dovecot/core/commit/b139348506f9acb242999d057d8aed110d602e9c
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M src/lib-imap-client/imapc-client.h
    M src/lib-storage/index/imapc/imapc-list.c
    M src/lib-storage/index/imapc/imapc-storage.c
    M src/lib-storage/index/imapc/imapc-storage.h

  Log Message:
  -----------
  imapc: Change auth_failed boolean to more specific auth_failed_state

Since we now rely on auth_failed_state being initialized to zero,
explicitly set IMAPC_COMMAND_STATE_OK to be defined as 0.


  Commit: 767e8356e2a3d40f1bbed499e6cefbf1babf6b47
      https://github.com/dovecot/core/commit/767e8356e2a3d40f1bbed499e6cefbf1babf6b47
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  imapc: Cleanup - Rename auth_error to auth_failed_reason for consistency


  Commit: 92ca4065a587efc7a2193f4995d0939b690e3d15
      https://github.com/dovecot/core/commit/92ca4065a587efc7a2193f4995d0939b690e3d15
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  imapc: Make sure storage error has the proper auth failure error string

The first failed command always had the correct error string, but the
following failed commands just returned -1 without updating storage error.
The storage error could have been something completely different by then.


  Commit: 5dc62de014fd8ca800dc95ab4c575891a8aff418
      https://github.com/dovecot/core/commit/5dc62de014fd8ca800dc95ab4c575891a8aff418
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  imapc: Fix APPEND error message to include APPEND, not COPY


  Commit: 67a01e6b3a4669d42420aeb9eb7d12ea1397449e
      https://github.com/dovecot/core/commit/67a01e6b3a4669d42420aeb9eb7d12ea1397449e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  imapc: Check for auth failures when saving messages

First, don't even attempt an APPEND if we've already seen an auth failure.
Second, if APPEND does fail because of auth error, set the correct error to
storage.


  Commit: 78afd5b387e47a04245245f9198230ae486d1f89
      https://github.com/dovecot/core/commit/78afd5b387e47a04245245f9198230ae486d1f89
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  imapc: Remove root_sep_lookup_failed cache

The auth_failed_* should already be enough for this. This removal also
fixes the storage error message to be auth_failed_reason when possible.


  Commit: e157d2a2ace0d692d54601206127868d8dbefee7
      https://github.com/dovecot/core/commit/e157d2a2ace0d692d54601206127868d8dbefee7
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  imapc: Don't reconnect on STATUS if auth failure was already seen.


  Commit: f8cd28e86421ef3b404ee1c640bd00b28fbc794e
      https://github.com/dovecot/core/commit/f8cd28e86421ef3b404ee1c640bd00b28fbc794e
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  imapc: Don't reconnect on DELETE if auth failure was already seen.


  Commit: de8bdfb2257d16b99ccd5c1b8cbe6445bd9dd367
      https://github.com/dovecot/core/commit/de8bdfb2257d16b99ccd5c1b8cbe6445bd9dd367
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M src/lib-storage/list/mailbox-list-iter.c

  Log Message:
  -----------
  lib-storage: If mailbox list iteration fails, don't add INBOX

It possibly should have been returned by the list iteration itself and we
could be returning it wrong here.

Also calling this causes imapc to lost the error message in mailbox_list.


  Commit: 4cfc234bc050a04e91595a37465c2a6c14a23599
      https://github.com/dovecot/core/commit/4cfc234bc050a04e91595a37465c2a6c14a23599
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

  Changed paths:
    M src/lib-storage/list/mailbox-list-iter.c

  Log Message:
  -----------
  lib-storage: Fail mailbox list iteration early if it fails to get INBOX flags

The resulting INBOX reply could be wrong in that case.

Also with imapc if the remote server is down, this causes two connection
errors instead of just one.


  Commit: 70cca5798b60f99477cf40eae3fbd200584da466
      https://github.com/dovecot/core/commit/70cca5798b60f99477cf40eae3fbd200584da466
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-13 (Tue, 13 Jun 2017)

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

  Log Message:
  -----------
  imapc: If mailbox iteration fails, make sure error message isn't lost.


Compare: https://github.com/dovecot/core/compare/a6a68d990ce9...70cca5798b60


More information about the dovecot-cvs mailing list