- 8. Routers now support multiple "condition" tests, IF each router yields
- a string which the bool{} operator recognises. Note that this is a departure
- from normal Router "condition" truth, requiring the stricter standard of
- "true" that ACLS use. This might be relaxed in a future release if there
- is sufficient demand.
- When debugging, bear in mind that these are internally wrapped up into
- a longer, more complicated, string. There's a reason that the bool{}
- logic is a dependency.
+ 8. There is a new expansion operator, bool_lax{}. Where bool{} uses the ACL
+ condition logic to determine truth/failure and will fail to expand many
+ strings, bool_lax{} uses the router condition logic, where most strings
+ do evaluate true.
+ Note: bool{00} is false, bool_lax{00} is true.
+
+ 9. Routers now support multiple "condition" tests,
+
+10. There is now a runtime configuration option "tcp_wrappers_daemon_name".
+ Setting this allows an admin to define which entry in the tcpwrappers
+ config file will be used to control access to the daemon. This option
+ is only available when Exim is built with USE_TCP_WRAPPERS. The
+ default value is set at build time using the TCP_WRAPPERS_DAEMON_NAME
+ build option.
+
+11. [POSSIBLE CONFIG BREAKAGE] The default value for system_filter_user is now
+ the Exim run-time user, instead of root.
+
+12. [POSSIBLE CONFIG BREAKAGE] ALT_CONFIG_ROOT_ONLY is no longer optional and
+ is forced on. This is mitigated by the new build option
+ TRUSTED_CONFIG_PREFIX_LIST which defines a list of pathname prefices which
+ are trusted; if a config file is owned by root and is under that prefix,
+ then it may be used by the Exim run-time user.
+
+13. [POSSIBLE CONFIG BREAKAGE] The Exim user is no longer automatically
+ trusted to supply -D<Macro[=Value]> overrides on the command-line. Going
+ forward, we recommend using TRUSTED_CONFIG_PREFIX_LIST with shim configs
+ that include the main config. As a transition mechanism, we are
+ temporarily providing a work-around: the new build option
+ WHITELIST_D_MACROS provides a colon-separated list of macro names which
+ may be overriden by the Exim run-time user. The values of these macros
+ are constrained to the regex ^[A-Za-z0-9_/.-]*$ (which explicitly does
+ allow for empty values).