> On 13/01/2023 19:39 EET Stefano Cecconello > <stefano.ceccone...@staff.aruba.it> wrote: > > > Hi, > > If i understood correctly the extra field feature ( > https://doc.dovecot.org/configuration_manual/authentication/user_database_extra_fields/ > ), any extra field that is passed from a SQL query will overwrite any > existing settings on the dovecot.conf configuration file ( if present ) . > > For example, if i want to enable a plugin ( ex: acl ) on a per user basis, i > would add a column\field ( ex: “acl_enabled” = 1 ) into my auth DB , then add > into the dovecot password\user queries : > > … > IF(acl_enabled = 0, NULL, 'acl imap_acl') AS mail_plugins > … > > While having in the dovecot.conf this setting : > … > mail_plugins = quota notify > > protocol imap > mail_plugins = $mail_plugins imap_quota > > … > > From my test, this combination will lead to having the logging users with > acl_enabled=1, a mail_plugins list of acl and imap_acl only, without the > quota and notify plugins . > If i change the acl_value to 0, the returned mail_plugins list is empty and > it will not overrive\overwrite the dovecot.conf mail_plugins configuration . > > If it’s correct, there is a way to merge both settings, like having in the > dovecot.conf a minimal\base subset of settings and adding any additional > values via SQL queries ? > > Thanks and best regards > Stefano
You could try: IF(acl_enabled = 0, NULL, 'acl imap_acl') AS mail_plugins_extra and in config mail_plugins = $mail_plugins $mail_plugins_extra Aki