I have written a managesieve server from scratch in Python. I did just enough work to get it working with avelsieve (the squirrelmail plugin), smartsieve, and KDE's sieve kioplugin. It supports the entire Internet draft. Since I didn't have a working sieve server to compare against, I'm not sure if it's 100% compatible with timsieved. Client applications seem to work okay anyway. I wrote it in such a way as to decouple how authentication is carried out and how sieve scripts are actually stored, so you could for instance modify this to work with SASL and Exim. Currently it only has code for PAM and Dovecot's LDA, because I run Postfix :). TLS support is in the code but disabled because I had problems writing a unit test for it. All my connections are from localhost anyway. http://woozle.org/~neale/repos/pysieved if anyone is interested. I haven't looked closely at Stephan Bosch's managesieve server in C but I do want to acknowledge that he has written a C managesieve server that currently exists as a patch to the Dovecot source code. People looking for a managesieve implementation in C are encouraged to try his patch out: http://sinas.rename-it.nl/~sirius/ Neale
Robert Schetterer
2007-Feb-08 22:53 UTC
[Dovecot] I wrote a managesieve server for Dovecot
Neale Pickett schrieb:> I have written a managesieve server from scratch in Python. I did just enough > work to get it working with avelsieve (the squirrelmail plugin), smartsieve, > and KDE's sieve kioplugin. It supports the entire Internet draft. Since I > didn't have a working sieve server to compare against, I'm not sure if it's > 100% compatible with timsieved. Client applications seem to work okay > anyway. > > I wrote it in such a way as to decouple how authentication is carried out and > how sieve scripts are actually stored, so you could for instance modify this > to work with SASL and Exim. Currently it only has code for PAM and Dovecot's > LDA, because I run Postfix :). TLS support is in the code but disabled > because I had problems writing a unit test for it. All my connections are > from localhost anyway. > > http://woozle.org/~neale/repos/pysieved if anyone is interested. > > I haven't looked closely at Stephan Bosch's managesieve server in C but I do > want to acknowledge that he has written a C managesieve server that currently > exists as a patch to the Dovecot source code. People looking for a > managesieve implementation in C are encouraged to try his patch out: > http://sinas.rename-it.nl/~sirius/ > > Neale >Hi Neale, thx for programming this , i was waiting along time for this i will try it soon on some test server stay tuned for the results -- Mit freundlichen Gruessen Best Regards Robert Schetterer https://www.schetterer.org Munich/Bavaria/Germany
Neale Pickett wrote:> I have written a managesieve server from scratch in Python. I did just enough > work to get it working with avelsieve (the squirrelmail plugin), smartsieve, > and KDE's sieve kioplugin. It supports the entire Internet draft. Since I > didn't have a working sieve server to compare against, I'm not sure if it's > 100% compatible with timsieved. Client applications seem to work okay > anyway. > > I wrote it in such a way as to decouple how authentication is carried out and > how sieve scripts are actually stored, so you could for instance modify this > to work with SASL and Exim. Currently it only has code for PAM and Dovecot's > LDA, because I run Postfix :). TLS support is in the code but disabled > because I had problems writing a unit test for it. All my connections are > from localhost anyway. > > http://woozle.org/~neale/repos/pysieved if anyone is interested. > > I haven't looked closely at Stephan Bosch's managesieve server in C but I do > want to acknowledge that he has written a C managesieve server that currently > exists as a patch to the Dovecot source code. People looking for a > managesieve implementation in C are encouraged to try his patch out: > http://sinas.rename-it.nl/~sirius/ > > Neale >Thanks for the managesieve server ! I am running this via xinetd with a mysql database and smartsieve as the client.I tried using it as a daemon but it becomes unresponsive over time. I am running it as the same user that the dovecot lda runs as it store's the smartsieve script with 0600 permisions. Haven't run it to long yet but so far so good. Harley