On Mon, 22 Aug 2005 08:49:26 -0700
Tom Collins <[EMAIL PROTECTED]> wrote:

> On Aug 22, 2005, at 6:58 AM, Riccardo Bini wrote:
> > ok.. with 5.4.12 works but not as I would want 8-)
> > I mean when vdelivermail deliver the email and the user is over system 
> > quota
> > vdeliver return a "deferral: system_error/".
> > vdelivermail would have to return "user is over quota" with an
> > 'deliver_quota_warning'. Instead the email keep in queue like an error
> > message.
> 
> Well, there's a good chance it won't be able to deliver the over quota 
> message if the user has hit their system quota.
> 
> I'll take a look at the code, and see if we can catch the system quota 
> error and do an overquota bounce instead of a deferral.


I think that it is a problem of i-node excess when 
a new email file opened.
When a new email file is opened, it is necessary to check EDQUOT.



--- vdelivermail.c.orig Wed Mar 23 15:18:11 2005
+++ vdelivermail.c      Tue Aug 23 23:32:43 2005
@@ -429,6 +429,9 @@

     /* open the new email file */
     if ((write_fd=open(local_file_tmp, O_CREAT|O_RDWR, S_IRUSR|S_IWUSR)) == 
-1) {
+        if ( errno == EDQUOT ) {
+            return -1;
+        }
         printf("can not open new email file errno=%d file=%s\n",
             errno, local_file_tmp);
         return(-2);




Best regards,

-- 
Toshihiko Kyoda <[EMAIL PROTECTED]>

Reply via email to