summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Pennock <pdp@exim.org>2011-09-25 01:01:41 -0400
committerPhil Pennock <pdp@exim.org>2011-09-25 01:01:41 -0400
commit82c6910a112610ac5c121ff5321365c5dc7e8eb2 (patch)
tree22fbef3ea7e5e442cd2e2f2c9bfa3dfc033b21f8
parentda6dbe26770f1af0bf20891f5c7a6e58809c5788 (diff)
EXPAND_LISTMATCH_RHS plumbed into build makefiles.list_safety_merge_proposal
Tested builds both with and without this option, behaviour matches expectations.
-rw-r--r--src/src/EDITME20
-rw-r--r--src/src/config.h.defaults1
2 files changed, 21 insertions, 0 deletions
diff --git a/src/src/EDITME b/src/src/EDITME
index 4c1c366b8..a180cd5cd 100644
--- a/src/src/EDITME
+++ b/src/src/EDITME
@@ -1205,6 +1205,26 @@ TMPDIR="/tmp"
#------------------------------------------------------------------------------
+# Expanding match_* second paramters: BE CAREFUL IF ENABLING THIS!
+# It has proven too easy in practice for administrators to configure security
+# problems into their Exim install, by treating match_domain{}{} and friends
+# as a form of string comparison, where the second string comes from untrusted
+# data. Because these options take lists, which can include lookup;LOOKUPDATA
+# style elements, a foe can then cause Exim to, eg, execute an arbitrary MySQL
+# query, dropping tables.
+# From Exim 4.77 onwards, the second parameter is not expanded; it can still
+# be a list literal, or a macro, or a named list reference. There is also
+# the new expansion condition "inlisti" which does expand the second parameter,
+# but treats it as a list of strings; also, there's "eqi" which is probably
+# what is normally wanted.
+#
+# If you really need to have the old behaviour, know what you are doing and
+# will not complain if your system is compromised as a result of doing so, then
+# uncomment this option to get the old behaviour back.
+
+# EXPAND_LISTMATCH_RHS=yes
+
+#------------------------------------------------------------------------------
# Disabling the use of fsync(): DO NOT UNCOMMENT THE FOLLOWING LINE unless you
# really, really, really know what you are doing. And even then, think again.
# You should never uncomment this when compiling a binary for distribution.
diff --git a/src/src/config.h.defaults b/src/src/config.h.defaults
index a36cfb0d2..bc983c444 100644
--- a/src/src/config.h.defaults
+++ b/src/src/config.h.defaults
@@ -51,6 +51,7 @@ it's a default value. */
/* Both uid and gid are triggered by this */
#define EXIM_UID
#define EXPAND_DLFUNC
+#define EXPAND_LISTMATCH_RHS
#define FIXED_NEVER_USERS "root"