Scroll to navigation

SIEVEC(1) Pigeonhole SIEVEC(1)

NAME

sievec - Pigeonhole's Sieve script compiler

SYNOPSIS

sievec [options] script-file [out-file]

DESCRIPTION

The sieve-dump command is part of the Pigeonhole Project (pigeonhole(7)), which adds Sieve (RFC 5228) support to the Dovecot secure IMAP and POP3 server (dovecot(1)).

Using the sievec command, Sieve scripts can be compiled into a binary representation. The resulting binary can be used directly to process e-mail messages during the delivery process. The delivery of mail messages and - by means of the LDA Sieve plugin - also the execution of Sieve scripts is performed by Dovecotqs local delivery agent (LDA) called dovecot-lda(1). Usually, it is not necessaryto compile the Sieve script manually using sievec, because dovecot-lda will do this automatically if the binary is missing. However, in some cases dovecot-lda does not have permission to write the compiled binary to disk, forcing it to recompile the script every time it is executed. Using the sievec tool, this can be performed manually by an authorized user to increase performance.

The Pigeonhole Sieve implementation recognizes files with a .sieve extension as Sieve scripts and corresponding files with a .svbin extension as the associated compiled binary. This means for example that Dovecot's LDA process will first look for a binary file "dovecot.svbin" when it needs to execute "dovecot.sieve". It will compile a new binary when it is missing.

The sievec command is also useful to verify Sieve scripts before using. Additionally, with the -d option it can output a textual (and thus human-readable) dump of the generated Sieve code to the specified file. The output is then identical to what the sieve-dump(1) command produces for a stored binary file. This output is mainly useful to find bugs in the compiler that yield corrupt binaries.

OPTIONS

Alternative Dovecot configuration file path.
Don't write the binary to out-file, but write a textual dump of the binary instead. In this context, the out-file value '-' has special meaning: it causes the the textual dump to be written to stdout. The out-file argument may also be omitted, which has the same effect as '-'. The output is identical to what the sieve-dump(1) command produces for a compiled Sieve binary file. Note that this option is not allowed when the out-file argument is a directory.
Set the available extensions. The parameter is a space-separated list of the active extensions. By prepending the extension identifiers with + or -, extensions can be included or excluded relative to the default set of extensions. If no extensions have a + or - prefix, only those extensions that are explicitly listed will be enabled. Unknown extensions are ignored and a warning is produced. By default, all supported extensions are available, except for deprecated extensions or those that are still under development.

For example -x "+imapflags -enotify" will enable the deprecated imapflags extension along with all extensions that are available by default, except for the enotify extension.

ARGUMENTS

Specifies the script to be compiled. If the script-file argument is a directory, all files in that directory with a .sieve extension are compiled into a corresponding .svbin binary file. The compilation is not halted upon errors; it attempts to compile as many scripts in the directory as possible. Note that the -d option and the out-file argument are not allowed when the script-file argument is a directory.
Specifies where the (binary) output is to be written. This argument is optional. If omitted a binary compiled from <scriptname>.sieve is saved as <scriptname>.svbin. If -b is specified, the binary dump is output to stdout.

EXIT STATUS

sievec will exit with one of the following values:

0
Delivery was successful. (EX_OK, EXIT_SUCCES)
1
Operation failed. This is returned for almost all failures. (EXIT_FAILURE)
64
Invalid parameter given. (EX_USAGE)

FILES

/usr/local/etc/dovecot/dovecot.conf
Dovecot's main configuration file.
/usr/local/etc/dovecot/conf.d/90-sieve.conf
Sieve interpreter settings (included from Dovecot's main configuration file)

REPORTING BUGS

Report bugs, including doveconf -n output, to the Dovecot Mailing List <dovecot@dovecot.org>. Information about reporting Dovecot and Pigeonhole bugs is available at: http://dovecot.org/bugreport.html

SEE ALSO

dovecot(1), dovecot-lda(1), sieve-dump(1), sieve-test(1), pigeonhole(7)

2010-08-23 Pigeonhole for Dovecot v2.0