Name Last Update
..
examples Loading commit data...
.cvsignore Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
addr-lex.l Loading commit data...
addr.y Loading commit data...
comparator.c Loading commit data...
comparator.h Loading commit data...
gram-sieve.y Loading commit data...
imparse.c Loading commit data...
imparse.h Loading commit data...
interp.c Loading commit data...
interp.h Loading commit data...
lex-sieve.lex Loading commit data...
md5-rsa.c Loading commit data...
md5-rsa.h Loading commit data...
message.c Loading commit data...
message.h Loading commit data...
parseaddr.c Loading commit data...
parseaddr.h Loading commit data...
script.c Loading commit data...
script.h Loading commit data...
sieve-gram.y Loading commit data...
sieve-lex.l Loading commit data...
sieve.c Loading commit data...
sieve.h Loading commit data...
sieve_err.c Loading commit data...
sieve_err.h Loading commit data...
sieve_interface.h Loading commit data...
sv.h Loading commit data...
svcb.c Loading commit data...
svctx.c Loading commit data...
svfield.c Loading commit data...
svfield.h Loading commit data...
svutil.c Loading commit data...
tree.c Loading commit data...
tree.h Loading commit data...
util.c Loading commit data...
util.h Loading commit data...
ylwrap Loading commit data...
$Id$

CMU Sieve 2.0
-------------

This code is typically distributed as part of Cyrus imapd 1.6 and higher.
This code will be configured and compiled from the cyrus-imapd directory.

Notes on implementation
-----------------------

This is an implementation of a simple Sieve API.  This API is
well-suited for incorporating in other programs, but is not
extensible.  (If there is interest, we may implement an extensible API
in the future.)

If you wish to compile Sieve without compiling all of imapd, you'll
have to create a Makefile for it.  I recommend you use Makefile.in as
a guide.

It should compile without libcyrus, but then it does not implement the
"address" test.	 That's just too much work to do when I have a neato
library to do it for me.

There's a simple "test" application included, which is not built by
default (type "make test" to build it).  It expects:

test <message> <script>

And prints out the actions taken or errors encountered.  (This
implementation will attempt all the actions or no actions.)

Questions and comments to:
Larry Greenfield (leg+sieve@andrew.cmu.edu)

References:

[SIEVE] Showalter, T., "Sieve: A Mail Filtering Language",
draft-showalter-sieve-11.txt, May, 2000.

[VACATION] Showalter, T., "Sieve: Vacation Extension",
draft-showalter-sieve-vacation-03.txt, May, 2000.

[IMAPFLAGS] Melnikov, A., "Sieve -- IMAP flag extension",
draft-melnikov-sieve-imapflags-02.txt, June, 1999.

[NOTIFY] Martin, T., "Sieve -- An extension for providing instant
notifications", draft-ietf-sieve-notify-00.txt, February, 2000.

[REGEX] Murchison, K., "Sieve: Regular Expression Extension",
draft-murchison-sieve-regex-01.txt, March, 2000.

[SUBADDR] Murchison, K., "Sieve: Subaddress Extension",
draft-murchison-sieve-subaddress-00.txt, March, 2000.