[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: the virtual mailbox plugin is a potential example here.
- I can potentially provide access to the store using a plugin. It looks like
- 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
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: the virtual mailbox plugin is a potential example here.
- I can potentially provide access to the store using a plugin. It looks like
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?
participants (2)
-
Brad Hards
-
Timo Sirainen