Hi, Andreas Metzler <eximus...@bebt.de> (Do 10 Mär 2016 18:22:43 CET): > Hello, > > I am a little bit unhappy with the current state of > add_environment/keep_environment: > > * Exim throws a runtime warning if neither of the options is set. > * configure.default does not set either of the options > (even f26587cbf325ebb365cd670db767363775391dc6 has only commented > examples).
Yes. We can't provide a sensible default, as it depends on the users need and system environment. > * Setting keep_environment to an empty value ("keep_environment =") > makes the warning go away, doing the same for add_environment doesn't. Setting keep_environment to some, even an empty value clearly indicates the users intention. If only add_environment is there, it's not obvious that the "default" environment is empty. In fact, the warning should persist as long as keep_environment isn't used at all. But see my notes below. > All this seems to be incongruent. The warning suggests that all but very > atypical installation will want to set at least one of the environment > options. Hm, yes. I'd consider the warning as a debugging aid. Exim changes its behaviour and some installations are expected to break because of the cleaned environment. And users are expected to check the log files. So hopefully they find the warning about the environment and the new options. > But we are not able to come up with a a sane, safe default that > is set in our configuration example. (If there was a sane safe default > keep_environment would use this instead of "" by default and we would > not need to set it explicitely everywhere, and the warning would be > superfluous.) IMHO there is no sane default except an empty value. Exim itself doesn't make use of any environment, but some of the linked libraries may make use of some existing environment. Same holds for pipe transports, commands run via the ${run{…}} and similar. The users should be forced to think about the variables they need. > I am personally wondering whether the warning is really necessary lor > too invasive. In Debian I have set "add_environment = <; > PATH=/bin:/usr/bin" for lack of a better idea and because my experiment > with "add_environment =" failed to suppress the warning. If I started > fresh now I'd set "keep_environment =" instead. Yes, the intention was to do exactly that keep_environment = to show the intention, to show that you know about the implications of an empty environment. > The third issue mentioned above ("add_environment =" does not suppress > a warning) seems to be a bug as it is not documented. Yes, but I'd like to turn it the other way round: the use of add_environment doesn't influence the warnings at all. And, I can imagine that future release of Exim do not issue that warning at all anymore, because for new versions users are expected to read the release notes. Best regards from Dresden/Germany Viele Grüße aus Dresden Heiko Schlittermann -- SCHLITTERMANN.de ---------------------------- internet & unix support - Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} - gnupg encrypted messages are welcome --------------- key ID: F69376CE - ! key id 7CBF764A and 972EAC9F are revoked since 2015-01 ------------ -
signature.asc
Description: Digital signature
-- ## List details at https://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##