Sieve script parse error problem

Andreas Haumer andreas at xss.co.at
Mon Oct 10 13:35:13 EDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi!

I'm currently hunting a problem with the Cyrus sieve functionality.

I have a OpenGroupware.org installation and I want to use the
integrated mail filter editor which is based on a sieve script.
But it doesn't seem to work as the Cyrus sieve server always
reports the following error when OpenGroupware tries to upload
a new sieve script:

Oct 10 19:08:19 schiller sieve[17790]: line 1: parse error, unexpected IF, expecting STRING^M


To narrow down the problem I followed the tests as described in the
documentation provided with the Cyrus sources (file "install-sieve.html",
chapter "testing the sieve server")

Here are the results:

I can successfully telnet to the sieve server:

andreas at schiller:~ {1007} % telnet localhost 2000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
"IMPLEMENTATION" "Cyrus timsieved v2.2.12"
"SASL" "PLAIN"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress relational comparator-i;ascii-numeric regex"
OK
logout
OK "Logout Complete"
Connection closed by foreign host.


I can also successfully connect to the sieve server using
"sieveshell":

andreas at schiller:~ {1008} % sieveshell localhost
connecting to localhost
Please enter your password:
> quit


But I am not able to upload the little sieve script provided
as example in the Cyrus documentation:

andreas at schiller:~ {1009} % cat myscript.script
require ["reject","fileinto"];

if address :is :all "From" "andreas at xss.co.at"
{
  reject "testing";
}

andreas at schiller:~ {1010} % sieveshell localhost
connecting to localhost
Please enter your password:
> put myscript.script
upload failed: put script: script errors:
line 1: parse error, unexpected IF, expecting STRING

As you can see I'm getting exactly the same error message
like the one I get when OGo tries to upload the "ogo" script,
so it looks at this is a general problem with the cyrus sieve
server. I tried several other sieve scripts, but I always
get some "parse error", except when I upload an empty
script or a script consisting of comments only:

andreas at schiller:~ {1012} % cat sievetest
#
# this is just a test
#
andreas at schiller:~ {1012} % sieveshell localhost
connecting to localhost
Please enter your password:
> put sievetest
> list
sievetest
> get sievetest
#
# this is just a test
#
>

I'm using Cyrus imapd 2.2.12 under Linux (kernel 2.4.31,
glibc 2.3.5, gcc 3.3.4, everything was compiled by myself)

The Cyrus IMAP server is working fine, but I haven't got
sieve to work yet.

Do I miss something here?

- - andreas

- --
Andreas Haumer                     | mailto:andreas at xss.co.at
*x Software + Systeme              | http://www.xss.co.at/
Karmarschgasse 51/2/20             | Tel: +43-1-6060114-0
A-1100 Vienna, Austria             | Fax: +43-1-6060114-71
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDSqZPxJmyeGcXPhERAuRwAJ48TL+x1mRO4tFHinSbduVsRibEbwCcDPQb
hwru2eB7S1wt6Fn/lqDPr+8=
=RmD/
-----END PGP SIGNATURE-----



More information about the Info-cyrus mailing list