Could not complete request over quota errors
John Wade
jwade at oakton.edu
Wed Aug 6 00:07:39 EDT 2003
Hi Christian,
There is no particular reason why you could not use this with
unixhierarchysep, just substitute the "/" (slash) for the "."(period)
in the substring function. Note that this was tested in 2.0.16, the
exact location in index.c might be different in later versions. Also
check the capitalization and spelling your imap clients use for the
Trash folder name and adjust as appropriate.
The advantage of this hack over the infinite Trash quota is that
overquota users are much more limited. With an infinite trash quota,
many folks would soon learn that they could save as much as they wanted
to permanently in their Trash folder. With my hack, you can copy to
trash while over quota and fill it up as large as you want, but as long
as the INBOX and all the subfolders in its quota root ( including Trash
) are overquota, then no new messages will be delivered and you will be
unable to copy messages to anywhere other than Trash. Practically this
means that only truly malicious users could/would abuse the system,
users who legitimately want to get mail will have to go under quota to
continue to receive messages.
I made one other change to the imap_err.et (ultimately to imap_err.c)
to modify the over quota error message to read: "Mailbox is over
quota. Delete some messages and empty Trash" This helps users identify
what to do when overquota.
Truthfully, this is not a perfect implementation since it would allow
over quota users to copy to any folder that contains the string
".Trash" in it (for example: INBOX.Trashme INBOX.Trashhold.save
etc.) Someone with more C library experience could tell me what the
appropriate string function to use is. I just have gotten too spoiled
playing with strings in perl.
Hope this helps,
John
Christian Schulte wrote:
>Am Mittwoch, 6. August 2003 01:12 schrieb John Wade:
>
>
>>diff index.c index.c.org
>>1220,1228c1220
>>< /* next lines changed to allow copy to Trash when usr over quota */
>>< /* jwidera jwade 6/27/03 lets users "move to Trash" when over quota */
>><
>>< if ( strstr(name,".Trash") ) {
>>< r = append_setup(&append_mailbox, name, MAILBOX_FORMAT_NORMAL,
>>< imapd_userid, imapd_authstate, ACL_INSERT, -1);
>>< }
>>< else {
>>< r = append_setup(&append_mailbox, name, MAILBOX_FORMAT_NORMAL,
>>---
>>
>>
>>
>>> r = append_setup(&append_mailbox, name, MAILBOX_FORMAT_NORMAL,
>>>
>>>
>>1230d1221
>>< }
>>
>>
>
>Does it support unixhierarchysep ? Can you tell me the difference to just
>setting an infinite quota on the trash folder ? What do you win with it ? I
>cannot see any improvement to what is possible with quota...
>
>If you would set an infinite quota on the trash folder, whouldn't that behave
>exactly the same ?
>
>--Christian
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.andrew.cmu.edu/mailman/private/info-cyrus/attachments/20030805/2c5202cc/attachment.html
More information about the Info-cyrus
mailing list