Sieve dict and bindir question

Aki Tuomi aki.tuomi at dovecot.fi
Sun Apr 30 10:09:58 EEST 2017


I uspect the problem is in that sieve binaries are only recompiled when the source script is newer than the svbin file, and dict is unable to determine this. Perhaps you should leave ;bindir away for now.

Aki

> On April 28, 2017 at 11:58 AM Alessio Cecchi <alessio at skye.it> wrote:
> 
> 
> Hi,
> 
> I have setup the latest Dovecot and Sieve with dict in order to read 
> rules from MySQL and works fine:
> 
> sieve_before = dict:proxy::sieve;name=activesql;bindir=~/.sieve-bin
> 
> dict {
>    sieve = mysql:/etc/dovecot/dovecot-dict-sieve-sql.conf.ext
> }
> 
> # cat /etc/dovecot/dovecot-dict-sieve-sql.conf.ext
> 
> connect = host=10.1.1.1 dbname=dovecot user=dovecot password=Ciao
> map {
>      pattern = priv/sieve/name/$script_name
>      table = user_sieve_scripts
>      username_field = username
>      value_field = id
>      fields {
>          script_name = $script_name
>      }
> }
> map {
>      pattern = priv/sieve/data/$id
>      table = user_sieve_scripts
>      username_field = username
>      value_field = script_data
>      fields {
>          id = $id
>      }
> }
> 
> But when I update the rules in mysql sieve continue to apply only the 
> "old" rules stored in the binary. The only way to apply the new rules is 
> to delete the .sieve-bin/activesql.svbin. If I remove 
> ";bindir=~/.sieve-bin" works fine.
> 
> This is a cache issue and can be fixed via setting, is an issue or is a 
> "feature" :-) ?
> 
> Thanks
> 
> -- 
> Alessio Cecchi
> Postmaster @ http://www.qboxmail.it
> https://www.linkedin.com/in/alessice


More information about the dovecot mailing list