diff -r 000000000000 -r cdbb57192764 src.maildir_use_size_file --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src.maildir_use_size_file Sat Feb 12 14:35:04 2011 +0100 @@ -0,0 +1,73 @@ +# HG changeset patch +# Parent d98fade4115f99c28d62e112e3f2e9e068a12642 + +diff -r d98fade4115f doc/spec.txt +--- a/doc/spec.txt Fri Feb 11 23:27:39 2011 +0100 ++++ b/doc/spec.txt Sat Feb 12 14:24:32 2011 +0100 +@@ -18180,10 +18180,11 @@ + section 26.5 below. + + +------------------------------------------------------------------+ +-|maildir_use_size_file|Use: appendfile|Type: boolean|Default: false| ++|maildir_use_size_file|Use: appendfile|Type: boolean*|Default: false| + +------------------------------------------------------------------+ + +-Setting this option true enables support for maildirsize files. Exim creates a ++The result of string expansion for this option must be a valid boolean value. ++If it is true, it enables support for maildirsize files. Exim creates a + maildirsize file in a maildir if one does not exist, taking the quota from the + quota option of the transport. If quota is unset, the value is zero. See + maildir_quota_directory_regex above and section 26.5 below for further details. +diff -r d98fade4115f src/transports/appendfile.c +--- a/src/transports/appendfile.c Fri Feb 11 23:27:39 2011 +0100 ++++ b/src/transports/appendfile.c Sat Feb 12 14:24:32 2011 +0100 +@@ -38,6 +38,10 @@ + opt_public flag. */ + + optionlist appendfile_transport_options[] = { ++#ifdef SUPPORT_MAILDIR ++ { "*expand_maildir_use_size_file", opt_stringptr, ++ (void *)offsetof(appendfile_transport_options_block, expand_maildir_use_size_file) }, ++#endif + { "*set_use_fcntl_lock",opt_bool | opt_hidden, + (void *)offsetof(appendfile_transport_options_block, set_use_fcntl) }, + { "*set_use_flock_lock",opt_bool | opt_hidden, +@@ -105,7 +109,7 @@ + (void *)offsetof(appendfile_transport_options_block, maildir_retries) }, + { "maildir_tag", opt_stringptr, + (void *)offsetof(appendfile_transport_options_block, maildir_tag) }, +- { "maildir_use_size_file", opt_bool, ++ { "maildir_use_size_file", opt_expand_bool, + (void *)offsetof(appendfile_transport_options_block, maildir_use_size_file ) } , + { "maildirfolder_create_regex", opt_stringptr, + (void *)offsetof(appendfile_transport_options_block, maildirfolder_create_regex ) }, +@@ -184,6 +188,7 @@ + NULL, /* quota_warn_threshold */ + NULL, /* mailbox_size_string */ + NULL, /* mailbox_filecount_string */ ++ NULL, /* expand_maildir_use_size_file */ + US"^(?:cur|new|\\..*)$", /* maildir_dir_regex */ + NULL, /* maildir_tag */ + NULL, /* maildirfolder_create_regex */ +@@ -272,6 +277,10 @@ + uid = uid; + gid = gid; + ++if (ob->expand_maildir_use_size_file) ++ ob->maildir_use_size_file = expand_check_condition(ob->expand_maildir_use_size_file, ++ US"`maildir_use_size_file` in transport", tblock->name); ++ + /* Loop for quota, quota_filecount, quota_warn_threshold, mailbox_size, + mailbox_filecount */ + +diff -r d98fade4115f src/transports/appendfile.h +--- a/src/transports/appendfile.h Fri Feb 11 23:27:39 2011 +0100 ++++ b/src/transports/appendfile.h Sat Feb 12 14:24:32 2011 +0100 +@@ -23,6 +23,7 @@ + uschar *quota_warn_threshold; + uschar *mailbox_size_string; + uschar *mailbox_filecount_string; ++ uschar *expand_maildir_use_size_file; + uschar *maildir_dir_regex; + uschar *maildir_tag; + uschar *maildirfolder_create_regex;