src.maildir_use_size_file
changeset 0 cdbb57192764
child 1 9f4d070abcf0
--- /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;