[Dovecot] Sieve plugin should recompile when symbolic link changes [patch]
The sieve plugin compares the modification dates of sieve source and compiled script and compiles the script only if necessary. When the managesieve extension is used, it creates a symbolic link for the script. In order to switch between scripts managesieve changes the link only.
Therefore the sieve plugin should include the modification date of an symlink in its decision about compilation. The attached patch adds this functionality.
Regards, Frank
Frank Behrens, Osterwieck, Germany PGP-key 0x5B7C47ED on public servers available.
Frank Behrens schreef:
The sieve plugin compares the modification dates of sieve source and compiled script and compiles the script only if necessary. When the managesieve extension is used, it creates a symbolic link for the script. In order to switch between scripts managesieve changes the link only.
Therefore the sieve plugin should include the modification date of an symlink in its decision about compilation. The attached patch adds this functionality.
Hmm, good catch. Eventually, I would like to manage the binary from ManageSieve too. Currently the newly installed script is compiled upon upload and again when dovecot-sieve finds it, which is something I consider to be inefficient. I am not yet sure how to solve this in a reliable way.
Regards,
-- Stephan Bosch stephan@rename-it.nl
Stephan Bosch schreef:
Frank Behrens schreef:
The sieve plugin compares the modification dates of sieve source and compiled script and compiles the script only if necessary. When the managesieve extension is used, it creates a symbolic link for the script. In order to switch between scripts managesieve changes the link only.
Therefore the sieve plugin should include the modification date of an symlink in its decision about compilation. The attached patch adds this functionality.
Hmm, good catch. Eventually, I would like to manage the binary from ManageSieve too. Currently the newly installed script is compiled upon upload and again when dovecot-sieve finds it, which is something I consider to be inefficient. I am not yet sure how to solve this in a reliable way. In case you missed it, Timo committed the following change that incorporates your patch:
http://hg.dovecot.org/dovecot-sieve-1.1/rev/f4560fb9b8c1
Regards,
-- Stephan Bosch stephan@rename-it.nl
participants (2)
-
Frank Behrens
-
Stephan Bosch