From: Wietse Z Venema
The LMTP-specific version of the smtp_enforce_tls configuration parameter. See there for details.
+This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_security_level instead.
+This feature is available in Postfix 2.3 and later.
@@ -5804,6 +5807,9 @@ configuration parameter. See there for details.The LMTP-specific version of the smtp_tls_per_site configuration parameter. See there for details.
+This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_policy_maps instead.
+This feature is available in Postfix 2.3 and later.
@@ -5936,6 +5942,9 @@ parameter. See there for details.The LMTP-specific version of the smtp_use_tls configuration parameter. See there for details.
+This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_security_level instead.
+This feature is available in Postfix 2.3 and later.
@@ -15841,6 +15850,9 @@ server. This option is therefore off by default. STARTTLS due to insufficient privileges to access the server private key. This is intended behavior. +This feature is deprecated as of Postfix 3.9. Specify +smtpd_tls_security_level instead.
+This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead.
@@ -19298,6 +19310,9 @@ but do not require that clients use TLS encryption. STARTTLS due to insufficient privileges to access the server private key. This is intended behavior. +This feature is deprecated as of Postfix 3.9. Specify +smtpd_tls_security_level instead.
+This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead.
@@ -20722,6 +20737,9 @@ to configure tlsproxy client keys and certificates is via the See smtp_enforce_tls for further details. Use tlsproxy_client_security_level instead. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_security_level instead.
+This feature is available in Postfix 3.4 and later.
@@ -20793,6 +20811,9 @@ value. usage policy by next-hop destination and by remote TLS server hostname. See smtp_tls_per_site for further details. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_policy_maps instead.
+This feature is available in Postfix 3.4 and later.
@@ -20854,6 +20875,9 @@ was previously called tlsproxy_c support. See smtp_use_tls for further details. Use tlsproxy_client_security_level instead. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_security_level instead.
+This feature is available in Postfix 3.4 and later.
@@ -20866,6 +20890,9 @@ support. See smtp_use_tls for further require that clients use TLS encryption. See smtpd_enforce_tls for further details. Use tlsproxy_tls_security_level instead. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_tls_security_level instead.
+This feature is available in Postfix 2.8 and later.
@@ -20998,6 +21025,8 @@ private DSA key. DSA is obsolete and should not be used. See should use with non-export EDH ciphers. See smtpd_tls_dh1024_param_file for further details. +This feature is deprecated as of Postfix 3.9. Do not specify.
+This feature is available in Postfix 2.8 and later.
@@ -21070,6 +21099,8 @@ the "tlsproxy_tls_chain_files elliptic-curve Diffie-Hellman (EECDH) key exchange. See smtpd_tls_eecdh_grade for further details. +This feature is deprecated as of Postfix 3.9. Do not specify.
+This feature is available in Postfix 2.8 and later.
@@ -21234,6 +21265,9 @@ shared by all three services, namely smtpd_use_tls for further details. Use tlsproxy_tls_security_level instead. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_tls_security_level instead.
+This feature is available in Postfix 2.8 and later.
diff --git a/postfix/man/man1/postconf.1 b/postfix/man/man1/postconf.1 index c5049432e..41218063f 100644 --- a/postfix/man/man1/postconf.1 +++ b/postfix/man/man1/postconf.1 @@ -12,7 +12,7 @@ Postfix configuration utility .ti -4 \fBManaging main.cf:\fR -\fBpostconf\fR [\fB\-dfhHnopvx\fR] [\fB\-c \fIconfig_dir\fR] +\fBpostconf\fR [\fB\-dfhHnopqvx\fR] [\fB\-c \fIconfig_dir\fR] [\fB\-C \fIclass,...\fR] [\fIparameter ...\fR] \fBpostconf\fR [\fB\-epv\fR] [\fB\-c \fIconfig_dir\fR] @@ -27,7 +27,7 @@ Postfix configuration utility .ti -4 \fBManaging master.cf service entries:\fR -\fBpostconf\fR \fB\-M\fR [\fB\-fovx\fR] [\fB\-c \fIconfig_dir\fR] +\fBpostconf\fR \fB\-M\fR [\fB\-foqvx\fR] [\fB\-c \fIconfig_dir\fR] [\fIservice\fR[\fB/\fItype\fR]\fI ...\fR] \fBpostconf\fR \fB\-M\fR [\fB\-ev\fR] [\fB\-c \fIconfig_dir\fR] @@ -42,7 +42,7 @@ Postfix configuration utility .ti -4 \fBManaging master.cf service fields:\fR -\fBpostconf\fR \fB\-F\fR [\fB\-fhHovx\fR] [\fB\-c \fIconfig_dir\fR] +\fBpostconf\fR \fB\-F\fR [\fB\-fhHoqvx\fR] [\fB\-c \fIconfig_dir\fR] [\fIservice\fR[\fB/\fItype\fR[\fB/\fIfield\fR]]\fI ...\fR] \fBpostconf\fR \fB\-F\fR [\fB\-ev\fR] [\fB\-c \fIconfig_dir\fR] @@ -51,7 +51,7 @@ Postfix configuration utility .ti -4 \fBManaging master.cf service parameters:\fR -\fBpostconf\fR \fB\-P\fR [\fB\-fhHovx\fR] [\fB\-c \fIconfig_dir\fR] +\fBpostconf\fR \fB\-P\fR [\fB\-fhHoqvx\fR] [\fB\-c \fIconfig_dir\fR] [\fIservice\fR[\fB/\fItype\fR[\fB/\fIparameter\fR]]\fI ...\fR] \fBpostconf\fR \fB\-P\fR [\fB\-ev\fR] [\fB\-c \fIconfig_dir\fR] @@ -463,6 +463,10 @@ service type fields that are omitted will be handled as "*" wildcard fields. This feature is available with Postfix 2.11 and later. +.IP \fB\-q\fR +Do not log warnings for deprecated or unused parameters. + +This feature is available with Postfix 3.9 and later. .IP "\fB\-t\fR [\fItemplate_file\fR]" Display the templates for text that appears at the beginning of delivery status notification (DSN) messages, without diff --git a/postfix/man/man5/postconf.5 b/postfix/man/man5/postconf.5 index d73298abb..7cf173fb5 100644 --- a/postfix/man/man5/postconf.5 +++ b/postfix/man/man5/postconf.5 @@ -3144,6 +3144,9 @@ This feature is available in Postfix 2.11 and later. The LMTP\-specific version of the smtp_enforce_tls configuration parameter. See there for details. .PP +This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_security_level instead. +.PP This feature is available in Postfix 2.3 and later. .SH lmtp_fallback_relay (default: empty) Optional list of relay hosts for LMTP destinations that can't be @@ -3555,6 +3558,9 @@ This feature is available in Postfix 2.3 and later. The LMTP\-specific version of the smtp_tls_per_site configuration parameter. See there for details. .PP +This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_policy_maps instead. +.PP This feature is available in Postfix 2.3 and later. .SH lmtp_tls_policy_maps (default: empty) The LMTP\-specific version of the smtp_tls_policy_maps @@ -3615,6 +3621,9 @@ This feature is available in Postfix 3.0 and later. The LMTP\-specific version of the smtp_use_tls configuration parameter. See there for details. .PP +This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_security_level instead. +.PP This feature is available in Postfix 2.3 and later. .SH lmtp_xforward_timeout (default: 300s) The Postfix LMTP client time limit for sending the XFORWARD command, @@ -10960,6 +10969,9 @@ Note 2: when invoked via "\fBsendmail \-bs\fR", Postfix will never offer STARTTLS due to insufficient privileges to access the server private key. This is intended behavior. .PP +This feature is deprecated as of Postfix 3.9. Specify +smtpd_tls_security_level instead. +.PP This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead. .SH smtpd_error_sleep_time (default: 1s) @@ -13802,6 +13814,9 @@ Note: when invoked via "\fBsendmail \-bs\fR", Postfix will never offer STARTTLS due to insufficient privileges to access the server private key. This is intended behavior. .PP +This feature is deprecated as of Postfix 3.9. Specify +smtpd_tls_security_level instead. +.PP This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead. .SH smtputf8_autodetect_classes (default: sendmail, verify) @@ -14875,6 +14890,9 @@ Enforcement mode: require that SMTP servers use TLS encryption. See smtp_enforce_tls for further details. Use tlsproxy_client_security_level instead. .PP +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_security_level instead. +.PP This feature is available in Postfix 3.4 and later. .SH tlsproxy_client_fingerprint_digest (default: $smtp_tls_fingerprint_digest) The message digest algorithm used to construct remote TLS server @@ -14910,6 +14928,9 @@ Optional lookup tables with the Postfix \fBtlsproxy\fR(8) client TLS usage policy by next\-hop destination and by remote TLS server hostname. See smtp_tls_per_site for further details. .PP +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_policy_maps instead. +.PP This feature is available in Postfix 3.4 and later. .SH tlsproxy_client_policy (default: $smtp_tls_policy_maps) Optional lookup tables with the Postfix \fBtlsproxy\fR(8) client TLS @@ -14941,12 +14962,18 @@ Opportunistic mode: use TLS when a remote server announces TLS support. See smtp_use_tls for further details. Use tlsproxy_client_security_level instead. .PP +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_security_level instead. +.PP This feature is available in Postfix 3.4 and later. .SH tlsproxy_enforce_tls (default: $smtpd_enforce_tls) Mandatory TLS: announce STARTTLS support to remote SMTP clients, and require that clients use TLS encryption. See smtpd_enforce_tls for further details. Use tlsproxy_tls_security_level instead. .PP +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_tls_security_level instead. +.PP This feature is available in Postfix 2.8 and later. .SH tlsproxy_service_name (default: tlsproxy) The name of the \fBtlsproxy\fR(8) service entry in master.cf. This @@ -15013,6 +15040,8 @@ File with DH parameters that the Postfix \fBtlsproxy\fR(8) server should use with non\-export EDH ciphers. See smtpd_tls_dh1024_param_file for further details. .PP +This feature is deprecated as of Postfix 3.9. Do not specify. +.PP This feature is available in Postfix 2.8 and later. .SH tlsproxy_tls_dh512_param_file (default: $smtpd_tls_dh512_param_file) File with DH parameters that the Postfix \fBtlsproxy\fR(8) server @@ -15055,6 +15084,8 @@ The Postfix \fBtlsproxy\fR(8) server security grade for ephemeral elliptic\-curve Diffie\-Hellman (EECDH) key exchange. See smtpd_tls_eecdh_grade for further details. .PP +This feature is deprecated as of Postfix 3.9. Do not specify. +.PP This feature is available in Postfix 2.8 and later. .SH tlsproxy_tls_enable_rpk (default: $smtpd_tls_enable_rpk) Request that remote SMTP clients send an RFC7250 raw public key @@ -15140,6 +15171,9 @@ Opportunistic TLS: announce STARTTLS support to remote SMTP clients, but do not require that clients use TLS encryption. See smtpd_use_tls for further details. Use tlsproxy_tls_security_level instead. .PP +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_tls_security_level instead. +.PP This feature is available in Postfix 2.8 and later. .SH tlsproxy_watchdog_timeout (default: 10s) How much time a \fBtlsproxy\fR(8) process may take to process local diff --git a/postfix/postfix-install b/postfix/postfix-install index 5c7d844d2..563ee27ac 100644 --- a/postfix/postfix-install +++ b/postfix/postfix-install @@ -193,6 +193,10 @@ # Google, Inc. # 111 8th Avenue # New York, NY 10011, USA +# +# Wietse Venema +# porcupine.org +# Amawalk, NY 10501, USA #-- # Initialize. @@ -521,7 +525,7 @@ test -f $CONFIG_DIRECTORY/main.cf && { case "$junk" in "") eval unset $name;; esac - eval : \${$name=\`bin/postconf -c $CONFIG_DIRECTORY -hx $name\`} || + eval : \${$name=\`bin/postconf -qc $CONFIG_DIRECTORY -hx $name\`} || exit 1 done } @@ -862,7 +866,7 @@ do esac done -bin/postconf -c $CONFIG_DIRECTORY -e \ +bin/postconf -qc $CONFIG_DIRECTORY -e \ "daemon_directory = $daemon_directory" \ "data_directory = $data_directory" \ "command_directory = $command_directory" \ diff --git a/postfix/proto/postconf.proto b/postfix/proto/postconf.proto index 0da915282..ef3fb5536 100644 --- a/postfix/proto/postconf.proto +++ b/postfix/proto/postconf.proto @@ -9833,6 +9833,9 @@ but do not require that clients use TLS encryption. STARTTLS due to insufficient privileges to access the server private key. This is intended behavior. +This feature is deprecated as of Postfix 3.9. Specify +smtpd_tls_security_level instead.
+This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead.
@@ -9849,6 +9852,9 @@ server. This option is therefore off by default. STARTTLS due to insufficient privileges to access the server private key. This is intended behavior. +This feature is deprecated as of Postfix 3.9. Specify +smtpd_tls_security_level instead.
+This feature is available in Postfix 2.2 and later. With Postfix 2.3 and later use smtpd_tls_security_level instead.
@@ -10989,6 +10995,9 @@ configuration parameter. See there for details.The LMTP-specific version of the smtp_tls_per_site configuration parameter. See there for details.
+This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_policy_maps instead.
+This feature is available in Postfix 2.3 and later.
%PARAM lmtp_generic_maps @@ -11094,6 +11103,9 @@ configuration parameter. See there for details.The LMTP-specific version of the smtp_use_tls configuration parameter. See there for details.
+This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_security_level instead.
+This feature is available in Postfix 2.3 and later.
%PARAM lmtp_enforce_tls no @@ -11101,6 +11113,9 @@ parameter. See there for details.The LMTP-specific version of the smtp_enforce_tls configuration parameter. See there for details.
+This feature is deprecated as of Postfix 3.9. Specify +lmtp_tls_security_level instead.
+This feature is available in Postfix 2.3 and later.
%PARAM lmtp_tls_security_level @@ -15731,6 +15746,9 @@ for details. require that clients use TLS encryption. See smtpd_enforce_tls for further details. Use tlsproxy_tls_security_level instead. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_tls_security_level instead.
+This feature is available in Postfix 2.8 and later.
%PARAM tlsproxy_tls_CAfile $smtpd_tls_CAfile @@ -15805,6 +15823,8 @@ smtpd_tls_dcert_file for further details. should use with non-export EDH ciphers. See smtpd_tls_dh1024_param_file for further details. +This feature is deprecated as of Postfix 3.9. Do not specify.
+This feature is available in Postfix 2.8 and later.
%PARAM tlsproxy_tls_dh512_param_file $smtpd_tls_dh512_param_file @@ -15857,6 +15877,8 @@ the "tlsproxy_tls_chain_files" parameter. elliptic-curve Diffie-Hellman (EECDH) key exchange. See smtpd_tls_eecdh_grade for further details. +This feature is deprecated as of Postfix 3.9. Do not specify.
+This feature is available in Postfix 2.8 and later.
%PARAM tlsproxy_tls_exclude_ciphers $smtpd_tls_exclude_ciphers @@ -15961,6 +15983,9 @@ shared by all three services, namely smtpd_tls_session_cache_timeout. but do not require that clients use TLS encryption. See smtpd_use_tls for further details. Use tlsproxy_tls_security_level instead. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_tls_security_level instead.
+This feature is available in Postfix 2.8 and later.
%PARAM smtpd_reject_footer @@ -17764,6 +17789,9 @@ was previously called tlsproxy_client_level. usage policy by next-hop destination and by remote TLS server hostname. See smtp_tls_per_site for further details. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_policy_maps instead.
+This feature is available in Postfix 3.4 and later.
%PARAM tlsproxy_client_policy $smtp_tls_policy_maps @@ -17790,6 +17818,9 @@ was previously called tlsproxy_client_policy. support. See smtp_use_tls for further details. Use tlsproxy_client_security_level instead. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_security_level instead.
+This feature is available in Postfix 3.4 and later.
%PARAM tlsproxy_client_enforce_tls $smtp_enforce_tls @@ -17798,6 +17829,9 @@ tlsproxy_client_security_level instead. See smtp_enforce_tls for further details. Use tlsproxy_client_security_level instead. +This feature is deprecated as of Postfix 3.9. Specify +tlsproxy_client_security_level instead.
+This feature is available in Postfix 3.4 and later.
%PARAM smtpd_tls_chain_files diff --git a/postfix/proto/stop.double-history b/postfix/proto/stop.double-history index 690f12b79..95abfddde 100644 --- a/postfix/proto/stop.double-history +++ b/postfix/proto/stop.double-history @@ -108,4 +108,11 @@ proto proto aliases proto virtual proto ADDRESS_REWRITING_README html postlogd postlogd c qmgr qmgr c qmqpd qmqpd c trivial rewrite trivial rewrite c strategies File smtp smtp c + postconf postconf c postconf postconf_dbms c postconf postconf h + postconf postconf c postconf postconf_unused c + postfix start start fg check reload status Files + Files postconf postconf c postconf postconf_unused c + the commands postfix start start fg check reload or + status Files postconf postconf c postconf postconf_dbms c + postconf postconf h conf postfix script conf post install postconf postconf c postconf postconf_dbms c diff --git a/postfix/proto/stop.spell-cc b/postfix/proto/stop.spell-cc index db5c3564c..2516b151e 100644 --- a/postfix/proto/stop.spell-cc +++ b/postfix/proto/stop.spell-cc @@ -1835,3 +1835,7 @@ Dextrous Mongo SUD qtype +depr +dfhHnopqvx +fhHoqvx +foqvx diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 94c51864f..d1dd2cf8d 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 "20240216" +#define MAIL_RELEASE_DATE "20240218" #define MAIL_VERSION_NUMBER "3.9" #ifdef SNAPSHOT diff --git a/postfix/src/postconf/Makefile.in b/postfix/src/postconf/Makefile.in index 079824ab4..6df6dfa36 100644 --- a/postfix/src/postconf/Makefile.in +++ b/postfix/src/postconf/Makefile.in @@ -56,7 +56,7 @@ tests: test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 \ test42 test43 test44 test45 test46 test47 test48 test49 test50 test51 \ test52 test53 test54 test55 test56 test57 test58 test59 test60 test61 \ test62 test63 test64 test65 test66 test67 test68 test69 test70 test71 \ - test72 test73 test74 test75 + test72 test73 test74 test75 test76 root_tests: @@ -1044,6 +1044,27 @@ test75: $(PROG) test75.ref diff test75.ref test75.tmp rm -f main.cf master.cf test75.tmp +# Warn about unused, deprecated, or deleted parameters. +test76: $(PROG) test76.ref + rm -f main.cf master.cf + touch main.cf master.cf + $(HTABLE_FIX) $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -c. \ + config_directory=. \ + deleted-test-only=whatever \ + disable_dns_lookups=no \ + lmtp_use_tls=no \ + smtpd_tls_dh1024_param_file=auto >test76.tmp 2>&1 + touch -t 197601010000 main.cf + echo foo unix - n n - 0 other >> master.cf + echo ' -o alias_maps=foo' >> master.cf + echo ' -o smtp_enforce_tls=yes' >> master.cf + touch -t 197601010000 master.cf + $(HTABLE_FIX) $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -nc. >>test76.tmp 2>&1 + diff test76.ref test76.tmp + $(HTABLE_FIX) $(SHLIB_ENV) $(VALGRIND) ./$(PROG) -qnc. >/dev/null 2>test76.tmp + diff /dev/null test76.tmp + rm -f main.cf master.cf test76.tmp + printfck: $(OBJS) $(PROG) rm -rf printfck mkdir printfck diff --git a/postfix/src/postconf/postconf.c b/postfix/src/postconf/postconf.c index 5a10f5e96..74f13b2cd 100644 --- a/postfix/src/postconf/postconf.c +++ b/postfix/src/postconf/postconf.c @@ -8,7 +8,7 @@ /* .ti -4 /* \fBManaging main.cf:\fR /* -/* \fBpostconf\fR [\fB-dfhHnopvx\fR] [\fB-c \fIconfig_dir\fR] +/* \fBpostconf\fR [\fB-dfhHnopqvx\fR] [\fB-c \fIconfig_dir\fR] /* [\fB-C \fIclass,...\fR] [\fIparameter ...\fR] /* /* \fBpostconf\fR [\fB-epv\fR] [\fB-c \fIconfig_dir\fR] @@ -23,7 +23,7 @@ /* .ti -4 /* \fBManaging master.cf service entries:\fR /* -/* \fBpostconf\fR \fB-M\fR [\fB-fovx\fR] [\fB-c \fIconfig_dir\fR] +/* \fBpostconf\fR \fB-M\fR [\fB-foqvx\fR] [\fB-c \fIconfig_dir\fR] /* [\fIservice\fR[\fB/\fItype\fR]\fI ...\fR] /* /* \fBpostconf\fR \fB-M\fR [\fB-ev\fR] [\fB-c \fIconfig_dir\fR] @@ -38,7 +38,7 @@ /* .ti -4 /* \fBManaging master.cf service fields:\fR /* -/* \fBpostconf\fR \fB-F\fR [\fB-fhHovx\fR] [\fB-c \fIconfig_dir\fR] +/* \fBpostconf\fR \fB-F\fR [\fB-fhHoqvx\fR] [\fB-c \fIconfig_dir\fR] /* [\fIservice\fR[\fB/\fItype\fR[\fB/\fIfield\fR]]\fI ...\fR] /* /* \fBpostconf\fR \fB-F\fR [\fB-ev\fR] [\fB-c \fIconfig_dir\fR] @@ -47,7 +47,7 @@ /* .ti -4 /* \fBManaging master.cf service parameters:\fR /* -/* \fBpostconf\fR \fB-P\fR [\fB-fhHovx\fR] [\fB-c \fIconfig_dir\fR] +/* \fBpostconf\fR \fB-P\fR [\fB-fhHoqvx\fR] [\fB-c \fIconfig_dir\fR] /* [\fIservice\fR[\fB/\fItype\fR[\fB/\fIparameter\fR]]\fI ...\fR] /* /* \fBpostconf\fR \fB-P\fR [\fB-ev\fR] [\fB-c \fIconfig_dir\fR] @@ -457,6 +457,10 @@ /* wildcard fields. /* /* This feature is available with Postfix 2.11 and later. +/* .IP \fB-q\fR +/* Do not log warnings for deprecated or unused parameters. +/* +/* This feature is available with Postfix 3.9 and later. /* .IP "\fB-t\fR [\fItemplate_file\fR]" /* Display the templates for text that appears at the beginning /* of delivery status notification (DSN) messages, without @@ -784,6 +788,8 @@ static void pcf_check_compat_options(int optval) const int (*op)[2]; int excess; + optval &= ~PCF_DEF_MODE; + for (op = pcf_compat_options; op[0][0] != 0; op++) { if ((optval & *op[0]) != 0 && (excess = (optval & ~((*op)[0] | (*op)[1]))) != 0) @@ -849,7 +855,7 @@ int main(int argc, char **argv) /* * Parse JCL. */ - while ((ch = GETOPT(argc, argv, "aAbc:C:deEfFhHlmMno:pPtT:vxX#")) > 0) { + while ((ch = GETOPT(argc, argv, "aAbc:C:deEfFhHlmMno:pPqtT:vxX#")) > 0) { switch (ch) { case 'a': pcf_cmd_mode |= PCF_SHOW_SASL_SERV; @@ -917,6 +923,9 @@ int main(int argc, char **argv) case 'P': pcf_cmd_mode |= PCF_MASTER_PARAM; break; + case 'q': + pcf_cmd_mode &= ~(PCF_WARN_UNUSED_DEPRECATED); + break; case 't': pcf_cmd_mode |= PCF_DUMP_DSN_TEMPL; if (ext_argv) @@ -1033,7 +1042,7 @@ int main(int argc, char **argv) pcf_set_parameters(override_params->argv); pcf_register_builtin_parameters(basename(argv[0]), getpid()); pcf_register_service_parameters(); - pcf_register_user_parameters(); + pcf_register_user_parameters(pcf_cmd_mode); if (pcf_cmd_mode & PCF_MASTER_FLD) pcf_show_master_fields(VSTREAM_OUT, pcf_cmd_mode, argc - optind, argv + optind); @@ -1043,7 +1052,8 @@ int main(int argc, char **argv) else pcf_show_master_entries(VSTREAM_OUT, pcf_cmd_mode, argc - optind, argv + optind); - pcf_flag_unused_master_parameters(); + if (pcf_cmd_mode & PCF_WARN_UNUSED_DEPRECATED) + pcf_flag_unused_master_parameters(); } /* @@ -1095,7 +1105,7 @@ int main(int argc, char **argv) pcf_read_master(PCF_WARN_ON_OPEN_ERROR); pcf_register_service_parameters(); if ((pcf_cmd_mode & PCF_SHOW_DEFS) == 0) - pcf_register_user_parameters(); + pcf_register_user_parameters(pcf_cmd_mode); /* * Show the requested values. @@ -1104,11 +1114,12 @@ int main(int argc, char **argv) argv + optind); /* - * Flag unused parameters. This makes no sense with "postconf -d", - * because that ignores all the user-specified parameters and - * user-specified macro expansions in main.cf. + * Flag unused or deprecated parameters. This makes no sense with + * "postconf -d", because that ignores all the user-specified + * parameters and user-specified macro expansions in main.cf. */ - if ((pcf_cmd_mode & PCF_SHOW_DEFS) == 0) { + if ((pcf_cmd_mode & PCF_SHOW_DEFS) == 0 + && (pcf_cmd_mode & PCF_WARN_UNUSED_DEPRECATED) != 0) { pcf_flag_unused_main_parameters(); pcf_flag_unused_master_parameters(); } diff --git a/postfix/src/postconf/postconf.h b/postfix/src/postconf/postconf.h index 24a1ed782..b42245c78 100644 --- a/postfix/src/postconf/postconf.h +++ b/postfix/src/postconf/postconf.h @@ -46,8 +46,9 @@ #define PCF_MASTER_PARAM (1<<19) /* manage master.cf -o name=value */ #define PCF_HIDE_VALUE (1<<20) /* hide main.cf/master.cf =value */ #define PCF_SHOW_TLS (1<<21) /* TLS support introspection */ +#define PCF_WARN_UNUSED_DEPRECATED (1<<22) /* As the name says */ -#define PCF_DEF_MODE 0 +#define PCF_DEF_MODE (PCF_WARN_UNUSED_DEPRECATED) /* * Structure for one "valid parameter" (built-in, service-defined or valid @@ -274,12 +275,12 @@ typedef struct { /* * postconf_user.c. */ -extern void pcf_register_user_parameters(void); +extern void pcf_register_user_parameters(int); /* * postconf_dbms.c */ -extern void pcf_register_dbms_parameters(const char *, +extern void pcf_register_dbms_parameters(int, const char *, const char *(*) (const char *, int, PCF_MASTER_ENT *), PCF_MASTER_ENT *); diff --git a/postfix/src/postconf/postconf_dbms.c b/postfix/src/postconf/postconf_dbms.c index 3320875d8..105ae85ea 100644 --- a/postfix/src/postconf/postconf_dbms.c +++ b/postfix/src/postconf/postconf_dbms.c @@ -6,8 +6,9 @@ /* SYNOPSIS /* #include