[dovecot/core] d171b1: imap: Fix pipelining commands with SEARCH

GitHub noreply at github.com
Fri Jun 16 16:30:13 EEST 2017


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

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

  Log Message:
  -----------
  imap: Fix pipelining commands with SEARCH

If the SEARCH wasn't a long-running one, it ends with going to sync.
The command state shouldn't then be changed to _WAIT_EXTERNAL.


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

  Changed paths:
    M src/pop3-login/client.c

  Log Message:
  -----------
  pop3-login: Cleanup - move command handling to pop3_client_input_next_cmd()


  Commit: 692f109a89a73daf204c9f8e1170396fc05c0b54
      https://github.com/dovecot/core/commit/692f109a89a73daf204c9f8e1170396fc05c0b54
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-16 (Fri, 16 Jun 2017)

  Changed paths:
    M src/imap-login/imap-login-client.c
    M src/imap-urlauth/imap-urlauth-login.c
    M src/login-common/client-common.h
    M src/pop3-login/client.c

  Log Message:
  -----------
  *-login: Add client_vfuncs.input_next_cmd()

This allows plugins to hook into all the pre-login commands. For example
with imap-login most of the commands could already be hooked into, except
for ID and AUTHENTICATE because their parameters reading is handled
specially. This allows hooking into them as well.

This is actually internal to all the login binaries, so it wouldn't have to
be in login-common. However, login-common already has all the code to handle
overriding functions nicely and this is a rather useful feature for all the
protocols anyway, so it's easier this way and not too ugly.


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

  Changed paths:
    M src/imap-login/imap-login-client.c
    M src/imap-urlauth/imap-urlauth-login.c
    M src/login-common/client-common.c
    M src/login-common/client-common.h
    M src/pop3-login/client.c

  Log Message:
  -----------
  *-login: Add client_vfuncs.free() that is called when client refcount=0

This can be useful for plugins that want to run something after proxying
ends.

Use an empty default function so plugins can call super.free() without
having to check if it's NULL.


Compare: https://github.com/dovecot/core/compare/a8f6bbf04d28...b33182d9d479


More information about the dovecot-cvs mailing list