Good morning,

I've figured out what the issue is. Sadly the Cyrus 3 upgrade guide is quite lacking. The segfault mentioned before is caused by outdated sieve script bytecode. You need to manually recompile all sieve scripts using:

su cyrus -c '/usr/lib/cyrus/upgrade/masssievec /usr/lib/cyrus/bin/sievec'

Furthermore sieve script paths have changed. Again this doesn't appear to be mentioned in the upgrade guides. I was aware of this change before filing this bug, but didn't bring it up here, since it seemed irrelevant. It is not, since my migration is what actually caused the issue. This should be fixed using Debian maintainer scripts as well since the current state will cause data loss and unexpected behaviour, because existing sieve scripts will be inaccessible to (non-root) users and no longer do their job. You can migrate the paths using:

find /var/spool/sieve/ -type d -regextype sed -regex '.*/[^/]\+^[^/]\+' -print | awk '{system("mv " $0 " " gensub("\\^", ".", "g", $1))}'

(This is a bit of hack that only takes our setups into account. Might need changes for the broader Debian ecosystem)

Don't forget to recompile the scripts with the command above afterwards.

This leaves me with 2 more issues: Vacation still doesn't appear to work correctly. I'd kindly ask someone to help me look into that. We also appear to have issues with squatter, but I'm not quite ready yet to make statements about that publicly.

P.S. I don't usually do lower level programming, but from my understanding there is at least a chance that the segfault might cause security issues that could potentially be exploited, since sieve scripts are indirectly created by unprivileged users. I leave that assessment to somebody else.

--
Kind regards,
Kim-Alexander Brodowski

IServ GmbH
Bültenweg 73
38106 Braunschweig

Telefon:   +49 531 22 43 666-0
Mobil:     +49 152 55 17 55 16
Fax:       +49 531 22 43 666-9
E-Mail:    kim.brodow...@iserv.eu
Internet:  https://iserv.eu

USt-IdNr. DE265149425 | Amtsgericht Braunschweig | HRB 201822
Geschäftsführer: Benjamin Heindl, Martin Hüppe, Jörg Ludwig

Reply via email to