Add main option exim_version
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Tue, 7 May 2019 19:25:41 +0000 (21:25 +0200)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Tue, 7 May 2019 19:25:41 +0000 (21:25 +0200)
There might be reasons to cheat about the Exim version you're running.
(Think of stupid security scanners.)

doc/doc-docbook/spec.xfpt
doc/doc-txt/NewStuff
doc/doc-txt/OptionLists.txt
src/src/readconf.c

index 783aeb429d70406a5c2d394fd83d396b9573558e..5e2d7a5f65fbe668aa4fa955fbc841fdef3416bd 100644 (file)
@@ -12182,6 +12182,7 @@ This variable contains the version string of the Exim build.
 The first character is a major version number, currently 4.
 Then after a dot, the next group of digits is a minor version number.
 There may be other characters following the minor version.
 The first character is a major version number, currently 4.
 Then after a dot, the next group of digits is a minor version number.
 There may be other characters following the minor version.
+This value may be overridden by the &%exim_version%& main config option.
 
 .vitem &$header_$&<&'name'&>
 This is not strictly an expansion variable. It is expansion syntax for
 
 .vitem &$header_$&<&'name'&>
 This is not strictly an expansion variable. It is expansion syntax for
@@ -13513,7 +13514,8 @@ Otherwise, empty.
 
 .vitem &$version_number$&
 .vindex "&$version_number$&"
 
 .vitem &$version_number$&
 .vindex "&$version_number$&"
-The version number of Exim.
+The version number of Exim. Same as &$exim_version$&, may be overridden
+by the &%exim_version%& main config option.
 
 .vitem &$warn_message_delay$&
 .vindex "&$warn_message_delay$&"
 
 .vitem &$warn_message_delay$&
 .vindex "&$warn_message_delay$&"
@@ -15344,6 +15346,14 @@ not also supplied, the gid is taken from the result of &[getpwnam()]& if it is
 used. See chapter &<<CHAPsecurity>>& for a discussion of security issues.
 
 
 used. See chapter &<<CHAPsecurity>>& for a discussion of security issues.
 
 
+.option exim_version main string "current version"
+.cindex "Exim version"
+.cindex customizing "version number"
+.cindex "version number of Exim" override
+This option allows to override the &$version_number$&/&$exim_version$& Exim reports in
+various places.  Use with care, this may fool stupid security scanners.
+
+
 .option extra_local_interfaces main "string list" unset
 This option defines network interfaces that are to be considered local when
 routing, but which are not used for listening by the daemon. See section
 .option extra_local_interfaces main "string list" unset
 This option defines network interfaces that are to be considered local when
 routing, but which are not used for listening by the daemon. See section
index 352833c4b68b4780724fbb4f5174932eae9a7425..f6044b6c6b47b8c668c3725d0cab2b1eecb45924 100644 (file)
@@ -23,6 +23,9 @@ Version 4.93
  6. EXPERIMENTAL_TLS_RESUME optional build feature.  See the experimental.spec
     file.
 
  6. EXPERIMENTAL_TLS_RESUME optional build feature.  See the experimental.spec
     file.
 
+ 7. A main option exim_version to override the version Exim
+    reports in verious places ($exim_version, $version_number).
+
 
 Version 4.92
 --------------
 
 Version 4.92
 --------------
index 069a787d608a3f83c76aa73d6052abd545c17592..09045a40ddb3e91775e97ce988af2781fe5a75a8 100644 (file)
@@ -213,6 +213,7 @@ escape_string                        string          ">From "      appendfile
 exim_group                           string          ++            main
 exim_path                            string          ++            main
 exim_user                            string          ++            main
 exim_group                           string          ++            main
 exim_path                            string          ++            main
 exim_user                            string          ++            main
+exim_version                         string          ++            main              4.93
 expn                                 boolean         true          routers
 extra_local_interfaces               string          unset         main              4.21
 extract_addresses_remove_arguments   boolean         true          main              1.92
 expn                                 boolean         true          routers
 extra_local_interfaces               string          unset         main              4.21
 extract_addresses_remove_arguments   boolean         true          main              1.92
index cac8fe5c2e81a475663d2a30d50b2e412927716d..b6c41bc65ddf322dabb53b1921eef5cdc777218e 100644 (file)
@@ -149,6 +149,7 @@ static optionlist optionlist_config[] = {
   { "exim_group",               opt_gid,         &exim_gid },
   { "exim_path",                opt_stringptr,   &exim_path },
   { "exim_user",                opt_uid,         &exim_uid },
   { "exim_group",               opt_gid,         &exim_gid },
   { "exim_path",                opt_stringptr,   &exim_path },
   { "exim_user",                opt_uid,         &exim_uid },
+  { "exim_version",             opt_stringptr,   &version_string },
   { "extra_local_interfaces",   opt_stringptr,   &extra_local_interfaces },
   { "extract_addresses_remove_arguments", opt_bool, &extract_addresses_remove_arguments },
   { "finduser_retries",         opt_int,         &finduser_retries },
   { "extra_local_interfaces",   opt_stringptr,   &extra_local_interfaces },
   { "extract_addresses_remove_arguments", opt_bool, &extract_addresses_remove_arguments },
   { "finduser_retries",         opt_int,         &finduser_retries },