Pigeonhole Sieve LDAP support

Nathan Schultheiss nathan at schultheiss.fr
Fri Jul 25 10:08:02 UTC 2014


Hi Stephan,

Yesterday I've make a update with your repo and now I've the 2.2.13 (e07f504f1040)

And today I've error on my LDA:
2014-07-25 11:29:43 LDA(nathan at schultheiss.fr): Panic: file sieve-storage.c: line 471 (sieve_storage_unref): assertion failed: (storage->refcount > 0)
2014-07-25 11:29:43 LDA(nathan at schultheiss.fr): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0x710bf) [0x7f0a74a3f0bf] -> /usr/lib/dovecot/libdovecot.so.0(default_fatal_handler+0x2a) [0x7f0a74a3f19a] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f0a749f47fe] -> /usr/lib/dovecot/libdovecot-sieve.so.0(+0x2c9e9) [0x7f0a720bb9e9] -> /usr/lib/dovecot/modules/lib90_sieve_plugin.so(+0x2c80) [0x7f0a7232ec80] -> /usr/lib/dovecot/libdovecot-lda.so.0(mail_deliver+0x44) [0x7f0a74fd3464] -> /usr/lib/dovecot/dovecot-lda(main+0x3b2) [0x402a92] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f0a7462f76d] -> /usr/lib/dovecot/dovecot-lda() [0x40333d]

I use:
deb http://xi.rename-it.nl/debian/ stable-auto/dovecot-2.2 main
deb-src http://xi.rename-it.nl/debian/ stable-auto/dovecot-2.2 main

On my dovecot I've for sieve:
plugin {
 sieve = file:~/sieve;active=~/.dovecot.sieve
 sieve_before = /home/vmail/.sieve/virus.sieve
}

That working without problem since the update.
After the update, account with sieve rule work with the LDA and without does not work with the error listed.

I've found, if I add on the plugin section:
sieve_default = /home/vmail/.sieve/default.sieve

That work again without errors :)
Evtl. this fix can help people who they have the same error :)

I've no entry on my default.sieve it's just here for "fix" the "Panic" error.

Bests Regards,
Nathan


----- Mail original -----
De: "Stephan Bosch" <stephan at rename-it.nl>
À: "Dovecot Mailing List" <dovecot at dovecot.org>
Envoyé: Jeudi 24 Juillet 2014 14:44:27
Objet: Pigeonhole Sieve LDAP support

Hi,

Yesterday, I committed two important and rather big changes to the 
Pigeonhole repository.

The first creates a generic interface for implementing Sieve script 
storages. It was already possible to some extent to read Sieve scripts 
from other sources than the local filesystem, such as Dovecot dict, but 
that was still pretty limited, as it was not possible to do this with 
sieve_before/sieve_after. This is now supported. But, more importantly, 
ManageSieve did not support storing Sieve scripts on locations other 
than the local filesystem. Now, alternatives can be implemented. Still, 
I haven't actually implemented write access to a storage other than the 
local filesystem yet, but now this would be much easier to achieve.

The second creates an LDAP script storage implementation. Much like the 
dict storage, it is still read-only. It can be compiled directly into 
the Sieve interpreter, and, alternatively, it can also be compiled as a 
plugin called sieve_storage_ldap.

I've updated the documentation in the sources. For all Xi repository 
users: I added compilation of LDAP storage as a plugin. Read the INSTALL 
files and other files referenced therein for more information about how 
to use the plugin. The plugin is installed as part of the dovecot-ldap 
package.

This is a rather big change, but it should all be backwards compatible 
in terms of configuration.

If you have problems (I heard about one so far), please don't hesitate 
to notify me.

Regards,

Stephan.


More information about the dovecot mailing list