[dovecot/core | refs/heads/master-2.3] 267c247f: lib: test-istream-seekable - Add asserts to make sure blocking state changes at EOF

noreply at dovecot.org noreply at dovecot.org
Wed Feb 20 14:30:15 EET 2019


  Branch: refs/heads/master-2.3
  Home:   https://github.com/dovecot/core
  Commit: 267c247fba5a4033acc17e22c3bb126d5f51d9da
      https://github.com/dovecot/core/commit/267c247fba5a4033acc17e22c3bb126d5f51d9da
  Author: Timo Sirainen <timo.sirainen at open-xchange.com>
  Date:   2019-02-20 (Wed, 20 Feb 2019)

  Changed paths:
    M src/lib/test-istream-seekable.c

  Log Message:
  -----------
  lib: test-istream-seekable - Add asserts to make sure blocking state changes at EOF

  Commit: c2f6ae2e1a30372b38772c32a21c22f293cb7e1b
      https://github.com/dovecot/core/commit/c2f6ae2e1a30372b38772c32a21c22f293cb7e1b
  Author: Timo Sirainen <timo.sirainen at open-xchange.com>
  Date:   2019-02-20 (Wed, 20 Feb 2019)

  Changed paths:
    M src/lib-storage/mail.c

  Log Message:
  -----------
  lib-storage: mail_get_*stream*() - Assert that returned streams are blocking

Several callers already rely on them being blocking. Making these asserts
explicit makes sure that any bugs are caught early.

  Commit: dd649c14ac5b7ca4a2683483405ec51104b47872
      https://github.com/dovecot/core/commit/dd649c14ac5b7ca4a2683483405ec51104b47872
  Author: Timo Sirainen <timo.sirainen at open-xchange.com>
  Date:   2019-02-20 (Wed, 20 Feb 2019)

  Changed paths:
    M src/lib/istream-seekable.c

  Log Message:
  -----------
  lib: istream-seekable - Change stream to be blocking=TRUE after reaching EOF

After EOF is reached, the stream is now fully read into file or memory.
read()s can no longer return 0, so blocking=TRUE can be used.

Some callers were reusing the seekable stream in places that required
blocking=TRUE.

Fixes at least with imapsieve vnd.dovecot report extension:
Panic: file ostream.c: line 427 (o_stream_nsend_istream): assertion failed: (instream->blocking)

  Patch: https://github.com/dovecot/core/compare/9f809b6aa2f7...267c247fba5a.patch


More information about the dovecot-cvs mailing list