On 24.9.2005, at 01:18, Kenneth Porter wrote:
--On Friday, September 23, 2005 2:29 PM -0700 Dan Hollis test3943395@anime.net wrote:
Actually an idea i've had in mind for a while is something more akin to PAM, eg an end user definable plugin system for mailbox handling. dovecot etc would just use API calls to plugins. People can write whatever backend they want -- maildir, sql, even gdbm, csv, xml or WEBDAV if they feel like it. And anything could use the modules -- sendmail, postfix, procmail, etc.
Agreed. Defining an API would be more useful than defining a format. Then one could plug in delivery and access modules with different storage modules.
The API already exists, that's how mbox and maildir code is implemented separately (src/lib-storage/mail-storage.h). It could be simpler though and mailbox listing should be separated from mailbox accessing.
That's also how I was planning on implementing ACLs, as a plugin that's called before the real storage. That's also how quota plugin already works.