From: Phil Pennock Date: Sun, 25 Sep 2011 05:01:41 +0000 (-0400) Subject: EXPAND_LISTMATCH_RHS plumbed into build makefiles. X-Git-Tag: list_safety_merge_proposal^0 X-Git-Url: https://vcs.fsf.org/?p=exim.git;a=commitdiff_plain;h=82c6910a112610ac5c121ff5321365c5dc7e8eb2 EXPAND_LISTMATCH_RHS plumbed into build makefiles. Tested builds both with and without this option, behaviour matches expectations. --- diff --git a/src/src/EDITME b/src/src/EDITME index 4c1c366b8..a180cd5cd 100644 --- a/src/src/EDITME +++ b/src/src/EDITME @@ -1204,6 +1204,26 @@ TMPDIR="/tmp" # SUPPORT_MOVE_FROZEN_MESSAGES=yes +#------------------------------------------------------------------------------ +# 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. 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"