Inconsistent sieve parse errors
Kevin M. Myer
kevin_myer at iu13.org
Fri Feb 11 20:30:35 EST 2005
I had posted about a week ago about Debugging Sieve scripts. Unfortunately, I
didn't get any response and unfortunately, I'm still having problems with Sieve
behaving erratically. For reference, my Cyrus-IMAP install is version 2.1.16
on Red Hat Linux.
We use two packages to generate Sieve scripts - websieve and the Ingo module
from the Horde project. I'm seeing oddities with scripts produced by both
packages.
Example: a user goes on vacation and uses websieve to turn on their vacation
notice. They come back and turn off the notice. Some commented out
Pseudo-Code from websieve is left in the default script file and this causes
parse errors
Sieve script:
# Mail rules for user user_name
# Created by Websieve version 0.61i
##PSEUDO script start
#vacation&&1&&"user_name at domain", "user_name at mailhost"&&I will be out of the
office from date, returning date. If there is an emergency, email User Name
<user_name at domain> or call phone number&&off
#mode&&basic
The essense of this script is five commented out lines (the one that starts with
vacation wraps), and two blank lines with only CR/LF. Yet this file generates
the following error:
sieve parse error for user_name: line 6: parse error, unexpected STRING
So sieve appears to be ignoring hash marks that should serve as comments.
Second oddity is my own script, which I mentioned in my previous message.
Periodically (and it appears to be message load related), Sieve will just stop
filtering and messages that should be filtered into mailboxes drop into my
INBOX. This appears to be triggered by turning on the vacation messages, as I
start to see the messages appear during the time I'm out of the office and in
this case, at least two weeks after I'm back and the vacation message is off.
I use Ingo to generate my script and thinking it was something in that module
causing the problem, I restored my script that was working fine prior to being
out of the office. A diff revealed absolutely no changes, except the timestamp
in the comment, created by Ingo.
The following error message appears in the log:
sieve parse error for kevin_myer: line 3: parse error, unexpected STRING
and lines 1,2, and 3 are:
# sieve filter generated by Ingo (February 7, 2005, 2:04 pm)
require "fileinto";
So I'm puzzled what's wrong here. And why it only happens sporadically. And
why, before I turn on the vacation message, it doesn't happen at all.
And yet another oddity from my script:
# sieve filter generated by Ingo (February 7, 2005, 2:04 pm)
require "fileinto";
# Dell OMSA problems
if anyof ( header :comparator "i;ascii-casemap" :contains "Subject" "Dell
problems", header :comparator "i;ascii-casemap" :contains "Subject" "Alert from
ERA" ) {
redirect "another_user at iu13.org";
keep;
stop;
}
The error generated:
sieve parse error for kevin_myer: line 7: address 'another_user at iu13.org': parse
error, unexpected '@', expecting $
So do I have a whole bunch of buggy user scripts? Or is sieve acting up?
Cyrus-imapd has been restarted since I first had these problems, to update an
SSL certificate. The problems persist.
Thanks for any input or feedback or suggestions.
Kevin
--
Kevin M. Myer
Senior Systems Administrator
Lancaster-Lebanon Intermediate Unit 13
(717) 560-6140
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus
mailing list