hi Timo, now its works.. i do in the old way, my dovecot is 2.0.15. You say it "old way", when it's change ? in dovecot 2.0.18 is in the old or new way ?
I asking because if i update dovecot, i need to update the plugin. Tks ! Em 13 de fevereiro de 2012 18:18, Timo Sirainen <t...@iki.fi> escreveu: > On 13.2.2012, at 19.28, Alex Baule wrote: > >> static void emexis_mailbox_allocated(struct mailbox *box) >> { >> union mailbox_module_context *zbox; >> >> zbox = p_new(box->pool, union mailbox_module_context, 1); >> zbox->super = box->v; >> box->v.open = Mplugin_mailbox_open; >> box->v.sync_notify = Mplugin_mailbox_sync_notify; >> >> MODULE_CONTEXT_SET_SELF(box, emexis_storage_module, zbox); >> } > > The above is an "old way" to do it. It doesn't work well if you have any > other plugins loaded. > >> struct mailbox_vfuncs *v = box->vlast; >> v->sync_notify = Mplugin_mailbox_sync_notify; >> >> But in this two cases, the Mplugin_mailbox_sync_notify is never >> called... i missing something ?? > > Never called at all? What storage backend are you using as the base? Maildir? > > Anyway, the way you should be calling it is the exact same way quota plugin > does: > > void Mplugin_mailbox_allocated(struct mailbox *box) > { > struct mailbox_vfuncs *v = box->vlast; > union mailbox_module_context *zbox; > > zbox = p_new(box->pool, union mailbox_module_context, 1); > zbox->super = *v; > box->vlast = &zbox->super; > > v->open = Mplugin_mailbox_open; > v->sync_notify = Mplugin_mailbox_sync_notify; > MODULE_CONTEXT_SET_SELF(box, Mplugin_storage_module, zbox); > } >