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.
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@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@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@rename-it.nl À: "Dovecot Mailing List" dovecot@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.
Hi Nathan,
Nathan Schultheiss schreef op 25-7-2014 12:08:
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@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@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]
This should fix the assert:
http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/e3d3d7a5f642
Regards,
Stephan.
participants (2)
-
Nathan Schultheiss
-
Stephan Bosch