Node:Extending Sieve, Previous:Logging and Debugging, Up:sieve interpreter
The basic set of sieve actions, tests and comparators may be extended
using loadable extensions. Usual require
mechanism is used for
that.
When processing arguments for require
statement, sieve
uses the following algorithm:
comparator-
it is looked up in the comparator table. If it
begins with test-
, the test table is used instead. Otherwise
the name is looked up in the action table.
comparator-
or
test-
prefix is stripped. Then, any character other than
alphanumeric characters, .
and ,
is replaced with
dash (-
). The name thus obtained is used as a file name
of an external loadable module.
$prefix/lib/mailutils
.
#searchpath
directive.
/etc/ld.so.conf
and the value of the environment variable
LD_LIBRARY_PATH).
The value of LTDL_LIBRARY_PATH and LD_LIBRARY_PATH must be a
colon-separated list of absolute directories, for example,
"/usr/lib/mypkg:/lib/foo"
.
In any of these directories, sieve
first attempts to find
and load the given filename. If this fails, it tries to append the
following suffixes to the file name:
.la
.so
, .sl
, etc.
sieve
executes its
initialization function (see below) and again looks up the name
in the symbol table. If found, search terminates successfully.
sieve
then displays
the following diagnostic message:
source for the required action NAME is not available