diff -r 399967a8bbf1 -r d2183655483b src.quota-ignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src.quota-ignore Sun Feb 20 23:59:48 2011 +0100 @@ -0,0 +1,99 @@ +# HG changeset patch +# Parent 717fd3d2296015e18687e4b3ecb259f7ded5e15f + +diff -r 717fd3d22960 src/transports/appendfile.c +--- a/src/transports/appendfile.c Sun Feb 13 14:05:44 2011 +0100 ++++ b/src/transports/appendfile.c Tue Feb 15 11:18:53 2011 +0100 +@@ -31,6 +31,8 @@ + #define THRESHOLD_CHECK (ob->quota_warn_threshold_value > 0 && \ + (!ob->quota_warn_threshold_is_percent || ob->quota_value > 0)) + ++#define QUOTA_CHECK (ob->quota_value > 0 && !ob->quota_no_check) ++ + + /* Options specific to the appendfile transport. They must be in alphabetic + order (note that "_" comes before the lower case letters). Some of them are +@@ -236,7 +238,9 @@ + FALSE, /* mailstore_format */ + FALSE, /* mbx_format */ + FALSE, /* quota_warn_threshold_is_percent */ +- TRUE /* quota_is_inclusive */ ++ TRUE, /* quota_is_inclusive */ ++ FALSE, /* quota_no_check */ ++ FALSE /* quota_filecount_no_check */ + }; + + +@@ -270,6 +274,7 @@ + (appendfile_transport_options_block *)(tblock->options_block); + uschar *q = ob->quota; + double default_value = 0.0; ++int no_check = 0; + int i; + + addrlist = addrlist; /* Keep picky compilers happy */ +@@ -323,6 +328,15 @@ + rest++; + } + ++ ++ /* For quota and quota_filecount there may be options ++ appended. Currently only "no_check", so we can be lazy parsing it */ ++ if (i < 2 && Ustrstr(rest, "/no_check") == rest) ++ { ++ no_check = 1; ++ rest += strlen("/no_check"); ++ } ++ + while (isspace(*rest)) rest++; + + if (*rest != 0) +@@ -340,12 +354,14 @@ + case 0: + if (d >= 2.0*1024.0*1024.0*1024.0 && sizeof(off_t) <= 4) which = US"quota"; + ob->quota_value = (off_t)d; ++ ob->quota_no_check = no_check; + q = ob->quota_filecount; + break; + + case 1: + if (d >= 2.0*1024.0*1024.0*1024.0) which = US"quota_filecount"; + ob->quota_filecount_value = (int)d; ++ ob->quota_filecount_no_check = no_check; + q = ob->quota_warn_threshold; + break; + +@@ -1382,10 +1398,12 @@ + DEBUG(D_transport) + { + debug_printf("appendfile: mode=%o notify_comsat=%d quota=" OFF_T_FMT ++ "%s" + " warning=" OFF_T_FMT "%s\n" + " %s=%s format=%s\n message_prefix=%s\n message_suffix=%s\n " + "maildir_use_size_file=%s\n", + mode, ob->notify_comsat, ob->quota_value, ++ ob->quota_no_check? " (no_check)" : "" + ob->quota_warn_threshold_value, + ob->quota_warn_threshold_is_percent? "%" : "", + isdirectory? "directory" : "file", +@@ -2274,7 +2292,7 @@ + create the file. When maildir support is not compiled, + ob->maildir_use_size_file is always FALSE. */ + +- if (ob->quota_value > 0 || THRESHOLD_CHECK || ob->maildir_use_size_file) ++ if (QUOTA_CHECK || THRESHOLD_CHECK || ob->maildir_use_size_file) + { + const uschar *error; + int offset; +diff -r 717fd3d22960 src/transports/appendfile.h +--- a/src/transports/appendfile.h Sun Feb 13 14:05:44 2011 +0100 ++++ b/src/transports/appendfile.h Tue Feb 15 11:18:53 2011 +0100 +@@ -72,6 +72,8 @@ + BOOL mbx_format; + BOOL quota_warn_threshold_is_percent; + BOOL quota_is_inclusive; ++ BOOL quota_no_check; ++ BOOL quota_filecount_no_check; + } appendfile_transport_options_block; + + /* Restricted creation options */