← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1633220] Re: Dovecot panics when sieve filter outputs much data

 

This bug was fixed in the package dovecot - 1:2.2.22-1ubuntu2.2

---------------
dovecot (1:2.2.22-1ubuntu2.2) xenial; urgency=medium

  * d/p/fix-sieve-pigeonhole-crash-on-huge-mails.patch: Fix sieve-pigeonhole
    crash when filtering too much data (LP: #1633220)

 -- Christian Ehrhardt <christian.ehrhardt@xxxxxxxxxxxxx>  Wed, 09 Nov
2016 13:13:08 +0100

** Changed in: dovecot (Ubuntu Xenial)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1633220

Title:
  Dovecot panics when sieve filter outputs much data

Status in dovecot package in Ubuntu:
  Fix Released
Status in dovecot source package in Xenial:
  Fix Released
Status in dovecot source package in Yakkety:
  Fix Released

Bug description:
  [Impact]

   * a crash of sieve when filtering large mails

   * The fix is done via a backport of upstream
     https://github.com/dovecot/pigeonhole/commit/a95b0579 which solves
     it by destroying the output stream before the fd is closed.
     Patch is nice and small, just moving two lines and applies as-is.

  [Test Case]

   * Set up dovecot with sieve filtering on top:
     - https://help.ubuntu.com/lts/serverguide/dovecot-server.html
     - http://wiki2.dovecot.org/Pigeonhole/Sieve/Examples
     - https://easyengine.io/tutorials/mail/server/sieve-filtering/
     Then push a bunch of larger mails through, >60k seems to be the area to
     trigger it.

   * It can be complex to set up, but fortunately the reporter is very
     active and willing to verify Xenial and Yakkety in their setup.

  [Regression Potential]

   * The change itself is rather minimal and from upstream.

   * given the change any regression we might overlook should be contained
     to sieve which is not default enabled without a user configuring it.

   * Did build and autopkgtest prior to suggest the upload all working 
     as expected (known to fail in Xenial, I fixed that back in Yakkety).

  [Other Info]

   * The change as done upstream is active for quite a while upstream and
     not changed anymore later on. It was even moved into dovecot-core to be
     reused for more use-cases and none of them triggered the need to
     rewrite the code, see:
     https://github.com/dovecot/core/blob/master/src/lib-program-client/program-client.c#L94

  ----

  When using dovecot with vnd.dovecot.filter, where the filter returns
  at least ~60KB of data back to dovecot, dovecot panics (see dovecot
  log in attached apport report).

  The error's origin is the pigeonhole plugin. The described error is
  already fixed in the github repo for sieve-pigeonhole [1].

  We successfully managed to apply the patch locally for ubuntu's
  current version of pigeonhole (0.4.13 (7b14904)) by simply cherry
  picking the mentioned commit.

  System information:
    Description:	Ubuntu 16.04.1 LTS
    Release:	16.04
    dovecot-core:
      Installed: 1:2.2.22-1ubuntu2.1
    dovecot-sieve:
      Installed: 1:2.2.22-1ubuntu2.1

    $ doveconf | head -n2
    # 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf
    # Pigeonhole version 0.4.13 (7b14904)

  [1] https://github.com/dovecot/pigeonhole/commit/a95b0579

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dovecot/+bug/1633220/+subscriptions