From fc3ae6c3391047524b5b71edea33122b995af2d4 Mon Sep 17 00:00:00 2001
From: Wietse Venema
With Postfix command that run with set-gid privileges, a -config_directory override requires either root privileges, or it +
With Postfix commands that run with set-gid privileges, a +config_directory override either requires root privileges, or it requires that the directory is listed with the alternate_config_directories parameter in the default main.cf file.
diff --git a/postfix/html/postfix.1.html b/postfix/html/postfix.1.html index e9cf42b7e..2e5b4eb2a 100644 --- a/postfix/html/postfix.1.html +++ b/postfix/html/postfix.1.html @@ -217,6 +217,11 @@ POSTFIX(1) POSTFIX(1) Available in Postfix version 3.0 and later: + compatibility_level (0) + A safety net that causes Postfix to run with backwards-compati- + ble default settings after an upgrade to a newer Postfix ver- + sion. + meta_directory (see 'postconf -d' output) The location of non-executable files that are shared among mul- tiple Postfix instances, such as postfix-files, dynamicmaps.cf, @@ -294,18 +299,19 @@ POSTFIX(1) POSTFIX(1) FILES Prior to Postfix version 2.6, all of the following files were in $con- - fig_directory. Some files are now in $daemon_directory so that they can - be shared among multiple instances that run the same Postfix version. + fig_directory. Some files are now in $daemon_directory or $meta_direc- + tory so that they can be shared among multiple instances that run the + same Postfix version. - Use the command "postconf config_directory" or "postconf daemon_direc- + Use the command "postconf config_directory" or "postconf daemon_direc- tory" to expand the names into their actual values. $config_directory/main.cf, Postfix configuration parameters $config_directory/master.cf, Postfix daemon processes - $daemon_directory/postfix-files, file/directory permissions $daemon_directory/postfix-script, administrative commands $daemon_directory/post-install, post-installation configuration - $daemon_directory/dynamicmaps.cf, plug-in database clients + $meta_directory/dynamicmaps.cf, plug-in database clients + $meta_directory/postfix-files, file/directory permissions SEE ALSO Commands: diff --git a/postfix/man/man1/postfix.1 b/postfix/man/man1/postfix.1 index 412c0c9d1..38e518173 100644 --- a/postfix/man/man1/postfix.1 +++ b/postfix/man/man1/postfix.1 @@ -199,6 +199,9 @@ The directory with Postfix\-writable data files (for example: caches, pseudo\-random numbers). .PP Available in Postfix version 3.0 and later: +.IP "\fBcompatibility_level (0)\fR" +A safety net that causes Postfix to run with backwards\-compatible +default settings after an upgrade to a newer Postfix version. .IP "\fBmeta_directory (see 'postconf -d' output)\fR" The location of non\-executable files that are shared among multiple Postfix instances, such as postfix\-files, dynamicmaps.cf, @@ -264,8 +267,9 @@ The name of the \fBpostlogd\fR(8) service entry in master.cf. .fi Prior to Postfix version 2.6, all of the following files were in \fB$config_directory\fR. Some files are now in -\fB$daemon_directory\fR so that they can be shared among -multiple instances that run the same Postfix version. +\fB$daemon_directory\fR or \fB$meta_directory\fR so that they +can be shared among multiple instances that run the same Postfix +version. Use the command "\fBpostconf config_directory\fR" or "\fBpostconf daemon_directory\fR" to expand the names @@ -275,10 +279,10 @@ into their actual values. $config_directory/main.cf, Postfix configuration parameters $config_directory/master.cf, Postfix daemon processes -$daemon_directory/postfix\-files, file/directory permissions $daemon_directory/postfix\-script, administrative commands $daemon_directory/post\-install, post\-installation configuration -$daemon_directory/dynamicmaps.cf, plug\-in database clients +$meta_directory/dynamicmaps.cf, plug\-in database clients +$meta_directory/postfix\-files, file/directory permissions .SH "SEE ALSO" .na .nf diff --git a/postfix/man/man5/postconf.5 b/postfix/man/man5/postconf.5 index d40fe566a..91b877757 100644 --- a/postfix/man/man5/postconf.5 +++ b/postfix/man/man5/postconf.5 @@ -1005,8 +1005,8 @@ and commands). The "\-c" command\-line option (commands only). .br .PP -With Postfix command that run with set\-gid privileges, a -config_directory override requires either root privileges, or it +With Postfix commands that run with set\-gid privileges, a +config_directory override either requires root privileges, or it requires that the directory is listed with the alternate_config_directories parameter in the default main.cf file. .SH confirm_delay_cleared (default: no) diff --git a/postfix/proto/postconf.proto b/postfix/proto/postconf.proto index cccd0a283..e95a10bae 100644 --- a/postfix/proto/postconf.proto +++ b/postfix/proto/postconf.proto @@ -9117,8 +9117,8 @@ and commands). -With Postfix command that run with set-gid privileges, a -config_directory override requires either root privileges, or it +
With Postfix commands that run with set-gid privileges, a +config_directory override either requires root privileges, or it requires that the directory is listed with the alternate_config_directories parameter in the default main.cf file.
diff --git a/postfix/src/global/mail_params.c b/postfix/src/global/mail_params.c index 526879c3e..95c91ccc8 100644 --- a/postfix/src/global/mail_params.c +++ b/postfix/src/global/mail_params.c @@ -874,7 +874,8 @@ void mail_params_init() * Extract compatibility level first, so that we can determine what * parameters of interest are left at their legacy defaults. */ - compat_level_relop_register(); + if (var_compatibility_level == 0) + compat_level_relop_register(); get_mail_conf_str_table(compat_level_defaults); compat_level = compat_level_from_string(var_compatibility_level, msg_fatal); check_legacy_defaults(); diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index f57e73196..1250d0099 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,7 +20,7 @@ * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ -#define MAIL_RELEASE_DATE "20210109" +#define MAIL_RELEASE_DATE "20210110" #define MAIL_VERSION_NUMBER "3.6" #ifdef SNAPSHOT diff --git a/postfix/src/postfix/postfix.c b/postfix/src/postfix/postfix.c index 4a63f4ed2..0c0e6fd7a 100644 --- a/postfix/src/postfix/postfix.c +++ b/postfix/src/postfix/postfix.c @@ -189,6 +189,9 @@ /* caches, pseudo-random numbers). /* .PP /* Available in Postfix version 3.0 and later: +/* .IP "\fBcompatibility_level (0)\fR" +/* A safety net that causes Postfix to run with backwards-compatible +/* default settings after an upgrade to a newer Postfix version. /* .IP "\fBmeta_directory (see 'postconf -d' output)\fR" /* The location of non-executable files that are shared among /* multiple Postfix instances, such as postfix-files, dynamicmaps.cf, @@ -252,8 +255,9 @@ /* .fi /* Prior to Postfix version 2.6, all of the following files /* were in \fB$config_directory\fR. Some files are now in -/* \fB$daemon_directory\fR so that they can be shared among -/* multiple instances that run the same Postfix version. +/* \fB$daemon_directory\fR or \fB$meta_directory\fR so that they +/* can be shared among multiple instances that run the same Postfix +/* version. /* /* Use the command "\fBpostconf config_directory\fR" or /* "\fBpostconf daemon_directory\fR" to expand the names @@ -263,10 +267,10 @@ /* /* $config_directory/main.cf, Postfix configuration parameters /* $config_directory/master.cf, Postfix daemon processes -/* $daemon_directory/postfix-files, file/directory permissions /* $daemon_directory/postfix-script, administrative commands /* $daemon_directory/post-install, post-installation configuration -/* $daemon_directory/dynamicmaps.cf, plug-in database clients +/* $meta_directory/dynamicmaps.cf, plug-in database clients +/* $meta_directory/postfix-files, file/directory permissions /* SEE ALSO /* Commands: /* postalias(1), create/update/query alias database