Brad Hards
2010-Jan-18 06:23 UTC
[Dovecot] Adding support for a new storage format - plugin?
Hi, I've spent a little bit of time looking at the dovecot source (from the unstable 2.0 development tree), and I think I'm starting to get it together... Background: I'm interested in dovecot to provide IMAP access to an existing database backed server store (http://www.openchange.org for more details). The goal is to provide parallel access using either IMAP or the exchange RPC protocol. If I understand this stuff: * I can potentially provide access to the store using a plugin. It looks like the virtual mailbox plugin is a potential example here. * I may need to also provide an authentication plugin (not sure whether I can just re-use the existing ldap backend - quite possibly a useful option in my scenario) * I probably can't use the existing SQL code, since it uses its own schema. * I may need to provide some locking to ensure things are always in a consistent state for both IMAP and exchange RPC. Comments? Suggestions? Brad
Timo Sirainen
2010-Jan-18 08:14 UTC
[Dovecot] Adding support for a new storage format - plugin?
On 18.1.2010, at 8.23, Brad Hards wrote:> Background: > I'm interested in dovecot to provide IMAP access to an existing database > backed server store (http://www.openchange.org for more details). The goal is > to provide parallel access using either IMAP or the exchange RPC protocol.I've also previously thought about adding support for OpenChange, but I've never really had time to even start looking much into it. Or actually it's really the other way around, I'd want to add Exchange RPC support for Dovecot's storage backends.> If I understand this stuff: > * I can potentially provide access to the store using a plugin. It looks like > the virtual mailbox plugin is a potential example here.Well, implementing the store using a plugin is exactly the same as implementing it inside Dovecot's lib-storage code. So any of the lib-storage backends could be used as an example.> * I may need to also provide an authentication plugin (not sure whether I can > just re-use the existing ldap backend - quite possibly a useful option in my > scenario)Dovecot can authenticate against AD with LDAP backend, so I'd hope that would be enough.> * I probably can't use the existing SQL code, since it uses its own schema.What SQL code? You mean the SQL mail backend code I wrote years ago and never finished?