[Dovecot] quota plugin feature request
Hi am having an issue with the quota plugin To reproduce: - have a mailbox close to its quota limit (say 10 MB), and a large email in the inbox (say 6 MB) - use Squirrelmail or Thunderbird to delete the email The operation fails, as by default the email client seems to try and copy the message into the Trash before deleting it from the inbox, and dovecot will correctly deny the copy operation as the quota will be exceeded if the message is copied... Because of this, I am wondering if it is possible to have an option for the quota plugin to track, but not enforce the quota. This is because I don't require quota enforcement on IMAP operations, as Postfix will enforce quota on incoming mail anyway. Attached is a quick hack job I did on the plugin to strip out the enforcing functionality, but it would be great if this could be a configurable option.. Thanks Michael --- ./dovecot-1.0.rc7/src/plugins/quota/quota-storage.c.orig 2006-09-07 14:56:57.000000000 +1000 +++ ./dovecot-1.0.rc7/src/plugins/quota/quota-storage.c 2006-09-07 15:12:41.000000000 +1000 @@ -116,8 +116,8 @@ struct quota_transaction_context *qt = QUOTA_CONTEXT(t); int ret; bool too_large; - - ret = quota_try_alloc(qt, mail, &too_large); + return 0; +/* ret = quota_try_alloc(qt, mail, &too_large); if (ret > 0) return 0; else if (ret == 0) { @@ -127,7 +127,7 @@ mail_storage_set_error(t->box->storage, "%s", quota_last_error(quota)); return -1; - } + }*/ } static int @@ -167,7 +167,7 @@ { struct quota_transaction_context *qt = QUOTA_CONTEXT(t); struct quota_mailbox *qbox = QUOTA_CONTEXT(t->box); - const struct stat *st; +/* const struct stat *st; int ret; st = i_stream_stat(input, TRUE); @@ -181,7 +181,7 @@ I think these don't really matter though compared to the benefit of giving "out of quota" error before sending the full mail. */ - bool too_large; +/* bool too_large; ret = quota_test_alloc_bytes(qt, st->st_size, &too_large); if (ret == 0) {
participants (1)
-
Michael Tibben