Wietse, That safety net of yours should be a fantastic tool, and I congratulate you for the idea and implementation. Also, I am happy for using postfix, it seems it is the only smtp service with so much valuable and good contributions from the developers and contributors net.
Best regards, --- Fernando Maciel Souto Maior On Wed, Oct 1, 2014 at 12:57 PM, Wietse Venema <[email protected]> wrote: > I am implementing a safety net for incompatible Postfix configuration > changes. After a Postfix upgrade, this will allow you to keep > running Postfix with the historical default settings, during which > time Postfix will log all uses of any old default value that will > be affected by an incompatible change. > > Examples: > > master.cf: line 72: using legacy default setting chroot=y > > using legacy default setting append_dot_mydomain=yes to rewrite > "foo" to "foo.example.com" > > using legacy default setting smtputf8_enable=no to accept > non-ASCII address "[email protected]" > > Once you have run Postfix for some time, you know if any main.cf or > master.cf setting needs to be updated (set explicitly to old default > value) before you can turn off these checks. More on that below. > > The safety net is controlled with one configuration parameter: > > name: compatibility_level > default: 0 (zero) > > At this time, no Postfix system has a compatibility_level setting > in main.cf, therefore it will be zero. > > There is also an internal compatibility level that increments by 1 > with each incompatible change. With the next Postfix snapshot, this > internal level will be 1. > > The next time you upgrade Postfix, the main.f compatibility level > will be zero, which is smaller than the internal level of 1. > > This turns on a couple things: > > - Use backwards-compatible default settings so that Postfix keeps > working as before. > > - Log the above messages when Postfix is actually using any of those > backwards-compatible default settings. This will show whether your > site depends on the old defaults. > > Finally, you set the parameters explicitly that must stay at their > historical value, and configure "compatibility_level = 1" in main.cf. > This turns off the checks and warnings. > > Wietse >
