[PATCH] mail/dovecot2-pigeonhole segfault when validating sieve
syntax
Thomas Steen Rasmussen
thomas at gibfest.dk
Sat Sep 22 09:25:24 UTC 2012
Hello,
There is a known segfault in mail/dovecot2-pigeonhole released with
Dovecot 2.1.8 which is what we have in ports at the moment.
The segfault makes it very near impossible to edit sieve scripts with a
managesieve client which does syntax validation (like the Thunderbird
plugin does). The problem has been fixed in Dovecot 2.1.9 which is not
yet in ports. However, if you are impatient to get this solved, you can
drop the following patch in /usr/ports/mail/dovecot2-pigeonhole/files
and rebuild dovecot2-pidgeonhole and restart dovecot, and the
problem is gone (for me at least):
-----------------------------------------------------------------------------
[tykling at mail /usr/ports/mail/dovecot2-pigeonhole]$ cat files/patch-segfault
diff -r f7ea71241032 -r 6ceeb6421231
src/lib-sievestorage/sieve-storage-save.c
--- src/lib-sievestorage/sieve-storage-save.c Sun Apr 22 11:30:28 2012
+0200
+++ src/lib-sievestorage/sieve-storage-save.c Thu Jul 12 23:57:50 2012
+0200
@@ -318,19 +318,20 @@
bool sieve_storage_save_will_activate
(struct sieve_save_context *ctx)
{
- const char *scriptname;
- int ret = 0;
+ bool result = FALSE;
- T_BEGIN {
+ if ( ctx->scriptname != NULL ) T_BEGIN {
+ const char *scriptname;
+ int ret;
+
ret = sieve_storage_get_active_scriptfile(ctx->storage,
&scriptname);
-
if ( ret > 0 ) {
/* Is the requested script active? */
- ret = ( strcmp(ctx->scriptname, scriptname) == 0
? 1 : 0 );
+ result = ( strcmp(ctx->scriptname, scriptname)
== 0 );
}
} T_END;
- return ret;
+ return result;
}
int sieve_storage_save_commit(struct sieve_save_context **ctx)
--------------------------------------------------------------------------------
The patch is unchange from the upstream patch except for paths:
http://hg.rename-it.nl/dovecot-2.1-pigeonhole/raw-diff/6ceeb6421231/src/lib-sievestorage/sieve-storage-save.c
I'd prepare a proper port patch but I expect Dovecot in ports to be
updated to 2.1.9 soon-ish, so this is just a temporary solution :)
Hope this can help someone,
Best regards,
Thomas Steen Rasmussen
More information about the freebsd-ports
mailing list