[dovecot/core] 4693a5: imap: NOTIFY - Fix delayed setting notification ca...

GitHub noreply at github.com
Mon Jun 19 00:30:09 EEST 2017


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

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

  Log Message:
  -----------
  imap: NOTIFY - Fix delayed setting notification callback

This was done in command-post hook, but then when command was soon freed the
callback was immediately added.


  Commit: 0081ed0d90d302027ed4a53cb617c0179c246868
      https://github.com/dovecot/core/commit/0081ed0d90d302027ed4a53cb617c0179c246868
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-18 (Sun, 18 Jun 2017)

  Changed paths:
    M src/imap/imap-client.c
    M src/imap/imap-notify.c
    M src/imap/imap-notify.h

  Log Message:
  -----------
  imap: NOTIFY - Fix crash due to not hooking into commands correctly

The pre/post hooks aren't always called immediately when commands are
created. They're called only after the command input is being read.
Call notify hooks explicitly now immediately when commands are allocated.

Fixes a panic with for example:

a notify set (selected (Messagenew (uid flags) MessageExpunge FlagChange) personal (MessageNew MessageExpunge FlagChange))
b select inbox
c store 1 +flags \deleted
d expunge
e append inbox {10}

Which crashed with:
Panic: file imap-notify.c: line 397 (imap_notify_callback): assertion failed: (client->command_queue_size == 0)


  Commit: 906a651134bead2be605f2be6c47bd91a4cb94be
      https://github.com/dovecot/core/commit/906a651134bead2be605f2be6c47bd91a4cb94be
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-19 (Mon, 19 Jun 2017)

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

  Log Message:
  -----------
  imap: NOTIFY - Cleanup notify watch timeout handling

It's not useful to set the timeout until all the commands are finished.


  Commit: 64d2efdc4b0bdf92249840e9db89b91c8dc0f3a3
      https://github.com/dovecot/core/commit/64d2efdc4b0bdf92249840e9db89b91c8dc0f3a3
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-19 (Mon, 19 Jun 2017)

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

  Log Message:
  -----------
  imap: Fix NOTIFY to parse more than just the first event-group


  Commit: 5052aa061a3246d26a70c9a40d171cd09888ba34
      https://github.com/dovecot/core/commit/5052aa061a3246d26a70c9a40d171cd09888ba34
  Author: Timo Sirainen <timo.sirainen at dovecot.fi>
  Date:   2017-06-19 (Mon, 19 Jun 2017)

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

  Log Message:
  -----------
  imap: NOTIFY - Fix potential crash when reading invalid parameters


Compare: https://github.com/dovecot/core/compare/77124c580f12...5052aa061a32


More information about the dovecot-cvs mailing list