Pigeonhole Sieve: File Location for Sieve Scripts
=================================================
The 'file' <location type> [Pigeonhole.Sieve.Configuration.txt] is used to
retrieve Sieve scripts from the file system. This is the default type if the
type specifier is omitted from the location specification. The location can
either point to a directory or to a regular file. If the location points to a
directory, a script called 'name' is retrieved by reading a file from that
directory with the file name 'name.sieve'.
When this location type is involved in a 'sieve_before' or 'sieve_after' script
sequence and the location points to a directory, all files in that directory
with a '.sieve' extension are part of the sequence. The sequence order of the
scripts in that directory is determined by the file names, using a normal 8bit
per-character comparison.
Unless overridden using the ';bindir=<path>' location option, compiled binaries
for scripts retrieved from the 'file' location type are by default stored in
the same directory as where the script file was found if possible.
Configuration
-------------
The script location syntax is specified as follows:
---%<-------------------------------------------------------------------------
location = file:<path>[;<option>[=<value>][;...]]
---%<-------------------------------------------------------------------------
The following additional options are recognized:
active=<path> :
When <ManageSieve> [Pigeonhole.ManageSieve.txt] is used, one script in the
storage can be active; i.e., evaluated at delivery. For the 'file' location
type, the active script in the storage directory is pointed to by a symbolic
link. This option configures where this symbolic link is located. If the
'file' location path points to a regular file, this setting has no effect
(andManageSieve cannot be used).
Example
-------
---%<-------------------------------------------------------------------------
plugin {
...
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_default = file:/var/lib/dovecot/;name=default
}
---%<-------------------------------------------------------------------------
On <Pigeonhole.Sieve.txt> 2.2.13-12~deb8u4 combined with <ManageSieve>
[Pigeonhole.ManageSieve.txt] on Debian the active option didn't worked and it
lead to following errors/warnings:
---%<-------------------------------------------------------------------------
Warning: sieve-storage: Active sieve script symlink /var/mail/xxx/xxx/xxx/sieve
is no symlink
---%<-------------------------------------------------------------------------
---%<-------------------------------------------------------------------------
Error: sieve: sieve file backend: invalid option `active=~/.dovecot.sieve'
---%<-------------------------------------------------------------------------
---%<-------------------------------------------------------------------------
managesieve(<MAILBOX>): Error: sieve-storage: Active sieve script file
'/var/mail/xxx/xxx/xxx/sieve' is no symlink nor a regular file. This needs to
be fixed manually.
---%<-------------------------------------------------------------------------
Therefore we just used it without the active option as follows and then it
worked:
(We adjusted of course the file paths to our needs)
---%<-------------------------------------------------------------------------
plugin {
...
sieve = file:~/sieve;
sieve_default = file:/var/lib/dovecot/;name=default
}
---%<-------------------------------------------------------------------------
(This file was created from the wiki on 2019-06-19 12:42)
Copyright 2K16 - 2K18 Indonesian Hacker Rulez