quota_clone + dict_file_path wound up being somewhat cumbersome on 2.4
The quota_clone syntax is rather cumbersome in comparison to 2.3 when using a flat file dictionary. I found I needed to make a "bogus" config block first:
quota_clone { dict file { path = ${userdb:mail_path}/dovecot-quota } }
Bogus, as the code path which actually deals with that doesn't have the ${userdb:*} vars available (visible by stracing the dovecot process, and seeing it fail to make /dovecotquota for obvious reasons). That said, if you don't include *some* value, it will explode even when you provide the *correct* value via userdb unless you initialize quota clone earlier there in the config. In this case for the 'luser' user:
quota_clone/dict/file/path: /home/luser/mail/dovecot-quota
wound up being the param I needed in order to get that logged in the right place for that specific user.
None of how to format this properly was remotely clear to me from the documentation when looking at the quota_clone page: https://doc.dovecot.org/main/core/config/dict.html#flat-files
As such I made an educated guess after reading the quota_clone code and testing a few things out. This actually works, so I'm happy with it for now. Not sure what this means RE the documentation, as even though it's not exactly obvious, I clearly was able to piece it together for the most part just by reading other documentation pages which mentioned things like separating namespaces by slashes, etc. I don't know how to properly convey "hey here's the list of where all these vars are actually able to be set and not set," as there's clearly some context there that's missing unless you go digging in the code.
Cheers,
Thomas "Andy" Baugh | Software Development Engineer IV 713-384-8831 andy.baugh@webpros.com www.webpros.com
participants (1)
-
Andy Baugh