group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #09186
[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