[dovecot/core] b748f9: imap: Don't send empty FETCH () on failure

GitHub noreply at github.com
Mon Feb 6 12:30:10 UTC 2017


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

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

  Log Message:
  -----------
  imap: Don't send empty FETCH () on failure

It violates IMAP RFC. Send FETCH (UID n) instead.


  Commit: 9aa91e371b05dc9b38bfc5b4ad5fe41bcf03a362
      https://github.com/dovecot/core/commit/9aa91e371b05dc9b38bfc5b4ad5fe41bcf03a362
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-06 (Mon, 06 Feb 2017)

  Changed paths:
    M src/imap/cmd-close.c

  Log Message:
  -----------
  imap: Free search updates on CLOSE


  Commit: 287a58f11ad8421dd3c959c1f2a6ef26fbb0afa8
      https://github.com/dovecot/core/commit/287a58f11ad8421dd3c959c1f2a6ef26fbb0afa8
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-06 (Mon, 06 Feb 2017)

  Changed paths:
    M src/imap/cmd-close.c
    M src/imap/cmd-logout.c
    M src/imap/cmd-select.c
    M src/imap/cmd-unselect.c
    M src/imap/imap-client.c
    M src/imap/imap-commands-util.c
    M src/imap/imap-commands-util.h

  Log Message:
  -----------
  imap: Share mailbox closing code in SELECT/UNSELECT/CLOSE/LOGOUT/deinit


  Commit: 704a96fa677763eef7ae62466e14e83a2f535427
      https://github.com/dovecot/core/commit/704a96fa677763eef7ae62466e14e83a2f535427
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-02-06 (Mon, 06 Feb 2017)

  Changed paths:
    M src/imap/cmd-fetch.c
    M src/imap/imap-client.h
    M src/imap/imap-commands-util.c
    M src/imap/imap-fetch.c
    M src/imap/imap-fetch.h
    M src/imap/imap-settings.c
    M src/imap/imap-settings.h

  Log Message:
  -----------
  imap: Add imap_fetch_failure setting

This controls what happens when FETCH fails for some mails. The possible
values are:

disconnect-immediately: This is the original behavior. Whenever FETCH
fails for a mail, the FETCH is aborted and client is disconnected.

disconnect-after: The FETCH runs for all the requested mails, skipping
any mails that returned failures, but at the end the client is still
disconnected.

no-after: The FETCH runs for all the requested mails, skipping any mails
that returned failures. At the end tagged NO reply is returned. If the
client attempts to FETCH the same failed mail more than once, the client
is disconnected. This is to avoid clients from going into infinite loops
trying to FETCH a broken mail.


Compare: https://github.com/dovecot/core/compare/2b8c4027ae95...704a96fa6777


More information about the dovecot-cvs mailing list