Re: [Dovecot] First release (v0.1.0) of the new Sieve implementation for Dovecot v1.2
sergey ivanov schreef:
Hi Stephan, Thank you for quick fix. I've built it (from changeset 646:747107b816dc) and it looks like working with dovecot-1.2. I'm doing some testing before put it into Sisyphus repository (http://en.altlinux.org). What I saw - it does not recognize lines like:
sieve = /var/sievescripts/%n/sieve
as cmusieve did. But it works ok with default .dovecot.sieve files in user home directories Hmm, I'll look into that. This is not intended and would be a bug.
Then, it reports
error: failed to store into mailbox 'Inbox/R/Commits': Invalid mailbox name.
where cmusieve did
fileinto fileinto "Inbox/R/Commits";
this new plugin require changing slashes to dots:
fileinto fileinto "Inbox.R.Commits";
This doesn't look like something that has changed for the Sieve implementation specifically. Did you try dovecot-sieve-1.1 with dovecot 1.2 to verify? I'll ask Timo about this. What is the configuration of your mail store. Did you perhaps migrate from mbox to maildir?
I think this changes should be described somewhere. May be, it's already needed to create wiki page for libsieve at wiki.dovecot.org? Well, first one is probably a bug. The second one I am not sure about yet. I'll get back to you when I do.
PS: please reply to the mailing list as well. Your problems and solutions may interest others as well.
Regards,
-- Stephan Bosch stephan@rename-it.nl
Hi Stephan, I've tried dovecot-sieve cmusieve with at the same place. As I can see, both problems I've though to be in libsieve, actually are that of dovecot. Both plugins do not expand variables like %n, %h, %u. But just filename works, - if I've set
sieve = sievescript
then both have used ~/sievescript file, like:
deliver(seriv): Oct 29 20:14:08 Info: sieve: using sieve path: /home/seriv/sievescript deliver(seriv): Oct 29 20:14:08 Info: sieve: opening script /home/seriv/sievescript deliver(seriv): Oct 29 20:14:08 Info: sieve: executing compiled script /home/seriv/sievescript
Buth implementations don't work wihth slashes. I took a piece of sieve script from working installation of dovecot-1.1.2 with Maildirs, and here on dovecot-1.2-alpha3 I have default mail location with inbox as mbox in /var/spool/log/mail/<user> and Maildir in /home/<user>/Maildir.
I should test cmusieve before reporting these as libsieve bugs, I'm sorry.
-- WBR, Sergey.
On Wed, Oct 29, 2008 at 3:31 PM, Stephan Bosch <stephan@rename-it.nl> wrote:
sergey ivanov schreef:
Hi Stephan, Thank you for quick fix. I've built it (from changeset 646:747107b816dc) and it looks like working with dovecot-1.2. I'm doing some testing before put it into Sisyphus repository (http://en.altlinux.org). What I saw - it does not recognize lines like:
sieve = /var/sievescripts/%n/sieve
as cmusieve did. But it works ok with default .dovecot.sieve files in user home directories
Hmm, I'll look into that. This is not intended and would be a bug.
Then, it reports
error: failed to store into mailbox 'Inbox/R/Commits': Invalid mailbox name.
where cmusieve did
fileinto fileinto "Inbox/R/Commits";
this new plugin require changing slashes to dots:
fileinto fileinto "Inbox.R.Commits";
This doesn't look like something that has changed for the Sieve implementation specifically. Did you try dovecot-sieve-1.1 with dovecot 1.2 to verify? I'll ask Timo about this. What is the configuration of your mail store. Did you perhaps migrate from mbox to maildir?
I think this changes should be described somewhere. May be, it's already needed to create wiki page for libsieve at wiki.dovecot.org?
Well, first one is probably a bug. The second one I am not sure about yet. I'll get back to you when I do.
sergey ivanov schreef:
Hi Stephan, I've tried dovecot-sieve cmusieve with at the same place. As I can see, both problems I've though to be in libsieve, actually are that of dovecot. Both plugins do not expand variables like %n, %h, %u. But just filename works, - if I've set
sieve = sievescript
then both have used ~/sievescript file, like:
deliver(seriv): Oct 29 20:14:08 Info: sieve: using sieve path: /home/seriv/sievescript deliver(seriv): Oct 29 20:14:08 Info: sieve: opening script /home/seriv/sievescript deliver(seriv): Oct 29 20:14:08 Info: sieve: executing compiled script /home/seriv/sievescript
Buth implementations don't work wihth slashes. I took a piece of sieve script from working installation of dovecot-1.1.2 with Maildirs, and here on dovecot-1.2-alpha3 I have default mail location with inbox as mbox in /var/spool/log/mail/<user> and Maildir in /home/<user>/Maildir.
I should test cmusieve before reporting these as libsieve bugs, I'm sorry. No problem. I think for obtaining further support you should post the output of dovecot -n here.
To spot problems with sieve script paths more quickly, I've added some debug messages that are printed to the log when mail_debug=yes. Some of these are actually already similarly present in cmusieve, but were probably added after I copied this particular section of code. Maybe this helps to spot your problem.
Regards,
-- Stephan Bosch stephan@rename-it.nl
On Wed, 2008-10-29 at 20:31 +0100, Stephan Bosch wrote:
sergey ivanov schreef:
Hi Stephan, Thank you for quick fix. I've built it (from changeset 646:747107b816dc) and it looks like working with dovecot-1.2. I'm doing some testing before put it into Sisyphus repository (http://en.altlinux.org). What I saw - it does not recognize lines like:
sieve = /var/sievescripts/%n/sieve
Is this inside protocol lda {} or plugin {}? In former it's not supposed to be expanded (shouldn't have been with cmusieve either), in latter it should be.
where cmusieve did
fileinto fileinto "Inbox/R/Commits";
this new plugin require changing slashes to dots:
fileinto fileinto "Inbox.R.Commits";
With a namespace configuration like:
namespace private {
separator = /
prefix = INBOX/
inbox = yes
}
And a script:
require ["fileinto"]; fileinto "INBOX/foo/bar";
It seems to work just fine:
deliver(tss): Oct 30 00:04:36 Info: sieve: msgid=unspecified: stored mail into mailbox 'foo.bar'
Although it probably should use the full untranslated INBOX/foo/bar name when logging (same with deliver -m INBOX/foo/bar).
Hi Stephan, I've tried dovecot-sieve cmusieve with at the same place. As I can see, both problems I've though to be in libsieve, actually are that of dovecot. Both plugins do not expand variables like %n, %h, %u. But just filename works, - if I've set
sieve = sievescript
then both have used ~/sievescript file, like:
deliver(seriv): Oct 29 20:14:08 Info: sieve: using sieve path: /home/seriv/sievescript deliver(seriv): Oct 29 20:14:08 Info: sieve: opening script /home/seriv/sievescript deliver(seriv): Oct 29 20:14:08 Info: sieve: executing compiled script /home/seriv/sievescript
Buth implementations don't work wihth slashes. I took a piece of sieve script from working installation of dovecot-1.1.2 with Maildirs, and here on dovecot-1.2-alpha3 I have default mail location with inbox as mbox in /var/spool/log/mail/<user> and Maildir in /home/<user>/Maildir.
I should test cmusieve before reporting these as libsieve bugs, I'm sorry.
participants (4)
-
sergey ivanov
-
sergey ivanov
-
Stephan Bosch
-
Timo Sirainen