[Dovecot] Dovecot Quota plugin as Couier quota
Timo Sirainen
tss at iki.fi
Thu Dec 30 12:31:35 EET 2010
On Mon, 2010-12-27 at 12:08 +0100, Antonio Perez-Aranda wrote:
> I get a similar behavior between dovecot quota plugin and courier
> quota with the attached patch.
>
> When the client change flags, then is forced to recalc. This is
> because I don't know how to get the changed flags on quota sync
> method.
Right, there's no way to see what flags changed with the current API. I
guess you could modify the API for that.. In maildir_sync_flags() the
old flags are in ctx->flags after:
/* get the current flags and keywords */
maildir_filename_get_flags(ctx->keywords_sync_ctx,
fname, &ctx->flags, &ctx->keywords);
And new flags are set to ctx->flags also later.
The API change could be something like:
struct mailbox_sync_notify {
enum mailbox_sync_type sync_type;
uint8_t old_flags, new_flags;
};
void (*sync_notify)(struct mailbox *box, uint32_t uid,
const struct mailbox_sync_notify *notify);
I guess I could do this change for v2.1.
> The courier quota behavior is avoid to count all deleted mails,
> include "mark as deleted" mails.
I don't much like this feature though..
> + /* YACO: Avoid to count in dirsize Trash Marked mails*/
> + p = strchr(dp->d_name, 'T');
> + if (p != NULL){
> + continue;
> + }
This isn't always reliable (e.g. hostname could have 'T' letter in it).
You should first find the ':' in the filename and look for 'T' only
after that.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20101230/8169ed68/attachment.bin
More information about the dovecot
mailing list