Hi everyone, That email from Shiloh Jennings today, made me think about some of the issues we've seen over time that relate to quota checks and what method the email arrived -> smtp or psync or redirect, etc.
There are a number of places in Xmail where rules seem to be inconsistent. Actually where rules are applied in one situation and not to another. Pop-sync for example doesn't go through the quota check and in Shiloh Jennings' case, the check in not done in a redirect. It seems that the quota check is done on smtp processing, but should be done at other times too. I'd like to see a change in the way Xmail processes mail, so that whenever a movement of mail occurs, all checks are done. EX. Smtp(inbound) -> recipient Local mail -> recipient Psync - > recipient Recipient -> mbox Recipient -> redirect Redirect -> smtp(outbound) Redirect -> mbox Obviously smtp(outbound) can't check disk quota if the target is another server. In my mind I see "Recipient" in the middle with all the others as in or out arrows from that. "Recipient" is a virtual thing - it isn't the mbox yet. Each arrow would invoke a check relevant to that target. So the list above would have 3 inputs and 4 outputs (there are quite likely more in or out, but I haven't performed an exhaustive investigation - just concept for now.) Having this process does meant that most mail will be checked twice. [Smtp(inbound) -> recipient -> mbox] But at least it covers the redirect to full mbox and the psync to full mbox quite well, and deals with multiple delivery methods that are capable in Xmail. [Psync - > 3 delivery methods in mailproc.tab [Recipient -> mbox1] [Recipient -> redirect -> mbox2] [Recipient -> redirect -> smtp(outbound)] In this example there are 6 arrows, so six different checks were made, each relevant to that target. It also seems to scale to other delivery methods that might come along. You could take this further and have a 5MB email size limit on "Smtp(inbound"), but a 10MB limit on "mbox". This would allow limited incoming smtp sessions (5MB), but allow the mbox to receive larger emails from other inputs, like psync, redirect or local-mail. An extension to this thought is that filters could be applied to the above processes, so that we might have filter capability on psync for example, or the ability to call the filters [filter-mbox and filter-smtpin and filter-smtpout and filter-psync and filter-redirect] instead of filter-in and filter-out, which really is filter-mbox and filter-smtpout. There are so many times people have filtered in the wrong place because they didn't realise where the filter is being applied. Just my $0.02 in case it influences the improvement of Xmail. Rob :-) -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Shiloh Jennings Sent: Saturday, February 18, 2006 7:50 AM To: xmail@xmailserver.org Subject: [xmail] quota bug in forwarding I have found a situation with XMail where XMail ignores the mailbox quotas. If there are two mailboxes on the same box and one forwards into the other, XMail ignores the mailbox quota of the second mailbox when receiving forwards from the first one. For example, lets say we have two mailboxes called [EMAIL PROTECTED] and [EMAIL PROTECTED] If these are one the same machine and [EMAIL PROTECTED] forwards to [EMAIL PROTECTED], then messages sent to [EMAIL PROTECTED] will get delivered to [EMAIL PROTECTED] even if [EMAIL PROTECTED] is significantly over its mailbox quota. The expectation is that [EMAIL PROTECTED] will bounce the email when [EMAIL PROTECTED] is over quota. I can see why we would not want [EMAIL PROTECTED] to bounce back to [EMAIL PROTECTED], because that would just generate a loop. I would like to see the email bounce back to the original sender when this situation occurs. - To unsubscribe from this list: send the line "unsubscribe xmail" in the body of a message to [EMAIL PROTECTED] For general help: send the line "help" in the body of a message to [EMAIL PROTECTED] - To unsubscribe from this list: send the line "unsubscribe xmail" in the body of a message to [EMAIL PROTECTED] For general help: send the line "help" in the body of a message to [EMAIL PROTECTED]