Oh, this makes excellent sense. Still, I can't help thinking of the
famous prayer of Augustine of Hippo:"Grant me chastity and continence,
but not yet" (/da mihi castitatem et continentiam, sed noli modo/).
That is, my current build environment just works and has worked for a
couple of years....and I dread having to reverse-engineer why it does
what it does and then make those things happen for a new plugin
environment. Excellent, *righteous* program engineering in this...but
not yet, O Timo.....and yes, I'm chicken-$%#@ to be fussing about it.
Timo Sirainen wrote:> It's getting more and more annoying to have separate plugin directories
> for lda, pop3 and imap. Currently all the plugins are installed into
> $lib/dovecot/ and then symlinked to the lda, pop3, imap directories. The
> original reason was that v0.99 just loaded everything in those
> directories since there was no mail_plugins setting.
>
> But then there are things like expire-tool and convert-tool (and the
> upcoming doveadm) that don't load plugins at all, even though they
> probably should. Adding just more directories to them seems to be
> pointless.
>
> Also SQL plugins are shared by dovecot-auth and dict and those would
> need symlinking.. And in future you might want to load SQL plugins to
> e.g. imap process.
>
> So, I was planning on just putting everything into $lib/dovecot/.
> expire-tool etc. would use mail_plugins setting that wasn't inside
> protocol {}. So for example:
>
> mail_plugins = quota
> protocol lda {
> mail_plugins = quota sieve
> }
> protocol imap {
> mail_plugins = quota imap_quota
> }
> protocol pop3 {
> # defaults to mail_plugins=quota above, no need to set it explicitly
> }
>
> That leaves auth and dict.. I was considering adding new auth_plugins
> and dict_plugins settings, but that might make it more difficult to
> start using distro-compiled Dovecot where sql, ldap, etc. are in
> plugins. So perhaps the auth/ and dict/ directories can stay and contain
> symlinks. But the $lib/dovecot/sql/ directory could go away and the sql
> plugins be stored just in $lib/dovecot/ among everything else.
>
> Any thoughts?
>
--
==== Once upon a time, the Internet was a friendly,
neighbors-helping-neighbors small town, and no one locked their doors.
Now it's like an apartment in Bed-Stuy: you need three heavy duty
pick-proof locks, one of those braces that goes from the lock to the
floor, and bars on the windows.... ==== Stewart Dean, Unix System Admin,
Bard College, New York 12504 sdean at bard.edu voice: 845-758-7475, fax:
845-758-7035