1<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" 2 "http://www.w3.org/TR/html4/loose.dtd"> 3 4<html> 5 6<head> 7 8<title>Postfix Backwards-Compatibility Safety Net</title> 9 10<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 11<link rel='stylesheet' type='text/css' href='postfix-doc.css'> 12 13</head> 14 15<body> 16 17<h1><img src="postfix-logo.jpg" width="203" height="98" ALT="">Postfix 18Backwards-Compatibility Safety Net</h1> 19 20<hr> 21 22<h2>Purpose of this document </h2> 23 24<p> Postfix 3.0 introduces a safety net that runs Postfix programs 25with backwards-compatible default settings after an upgrade. The 26safety net will log a warning whenever a "new" default setting could 27have an negative effect on your mail flow. </p> 28 29<p>This document provides information on the following topics: </p> 30 31<ul> 32 33<li> <p> <a href="#overview">Detailed descriptions</a> of Postfix 34backwards-compatibility warnings. 35 36<li> <p> What backwards-compatible settings you may have to make 37permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>. </p> 38 39<li> <p> <a href="#turnoff">How to turn off</a> Postfix 40backwards-compatibility warnings. </p> 41 42</ul> 43 44<h2> <a name="overview"> Overview </a> </h2> 45 46<p> With backwards compatibility turned on, Postfix logs a message 47whenever a backwards-compatible default setting may be required for 48continuity of service. Based on this logging the system administrator 49can decide if any backwards-compatible settings need to be made 50permanent in main.cf or master.cf, before <a href="#turnoff">turning 51off the backwards-compatibility safety net</a> as described at the 52end of this document. </p> 53 54<p> Logged with <a href="postconf.5.html#compatibility_level">compatibility_level</a> < 1: </p> 55 56<ul> 57 58<li> <p> <a href="#append_dot_mydomain"> Using backwards-compatible 59default setting append_dot_mydomain=yes </a> </p> 60 61<li> <p> <a href="#chroot"> Using backwards-compatible default setting 62chroot=y</a> </p> 63 64</ul> 65 66<p> Logged with <a href="postconf.5.html#compatibility_level">compatibility_level</a> < 2: </p> 67 68<ul> 69 70<li><p> <a href="#relay_restrictions"> Using backwards-compatible 71default setting "smtpd_relay_restrictions = (empty)"</a> </p> 72 73<li> <p> <a href="#mynetworks_style"> Using backwards-compatible 74default setting mynetworks_style=subnet </a> </p> 75 76<li> <p> <a href="#relay_domains"> Using backwards-compatible default 77setting relay_domains=$mydestination </a> </p> 78 79<li> <p> <a href="#smtputf8_enable"> Using backwards-compatible 80default setting smtputf8_enable=no</a> </p> 81 82</ul> 83 84<p> Logged with <a href="postconf.5.html#compatibility_level">compatibility_level</a> < 3.6: </p> 85 86<ul> 87 88<li> <p> <a href="#smtpd_digest"> Using backwards-compatible 89default setting smtpd_tls_fingerprint_digest=md5</a> </p> 90 91<li> <p> <a href="#smtp_digest"> Using backwards-compatible 92default setting smtp_tls_fingerprint_digest=md5</a> </p> 93 94<li> <p> <a href="#smtp_digest"> Using backwards-compatible 95default setting lmtp_tls_fingerprint_digest=md5</a> </p> 96 97<li> <p> <a href="#relay_before_rcpt"> Using backwards-compatible 98default setting smtpd_relay_before_recipient_restrictions=no</a> </p> 99 100<li> <p> <a href="#respectful_logging"> Using backwards-compatible 101default setting respectful_logging=no</a> </p> 102 103</ul> 104 105<p> If such a message is logged in the context of a legitimate 106request, the system administrator should make the backwards-compatible 107setting permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>, as detailed in the 108sections that follow. </p> 109 110<p> When no more backwards-compatible settings need to be made 111permanent, the system administrator should <a href="#turnoff">turn 112off the backwards-compatibility safety net</a> as described at the 113end of this document. </p> 114 115<h2> <a name="append_dot_mydomain"> Using backwards-compatible default 116setting append_dot_mydomain=yes</a> </h2> 117 118<p> The <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a> default value has changed from "yes" 119to "no". This could result in unexpected non-delivery of email after 120Postfix is updated from an older version. The backwards-compatibility 121safety net is designed to prevent such surprises. </p> 122 123<p> As long as the <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a> parameter is left at 124its implicit default value, and the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting is 125less than 1, Postfix may log one of the following messages:</p> 126 127<ul> 128 129<li> <p> Messages about missing "localhost" in <a href="postconf.5.html#mydestination">mydestination</a> or 130other address class: </p> 131 132<blockquote> 133<pre> 134postfix/trivial-rewrite[14777]: using backwards-compatible 135 default setting <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a>=yes to rewrite 136 "localhost" to "localhost.example.com"; please add 137 "localhost" to <a href="postconf.5.html#mydestination">mydestination</a> or other address class 138</pre> 139</blockquote> 140 141<p> If Postfix logs the above message, add "localhost" to 142<a href="postconf.5.html#mydestination">mydestination</a> (or <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a>, <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a>, 143or <a href="postconf.5.html#relay_domains">relay_domains</a>) and execute the command "<b>postfix reload</b>". 144 145<li> <p> Messages about incomplete domains in email addresses: </p> 146 147<blockquote> 148<pre> 149postfix/trivial-rewrite[25835]: using backwards-compatible 150 default setting <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a>=yes to rewrite "foo" to 151 "foo.example.com" 152</pre> 153</blockquote> 154 155<p> If Postfix logs the above message for domains different from 156"localhost", and the sender cannot be changed to use complete domain 157names in email addresses, then the system administrator should make 158the backwards-compatible setting "<a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a> = yes" permanent 159in <a href="postconf.5.html">main.cf</a>: </p> 160 161<blockquote> 162<pre> 163# <b>postconf <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a>=yes</b> 164# <b>postfix reload</b> 165</pre> 166</blockquote> 167 168</ul> 169 170<h2> <a name="chroot"> Using backwards-compatible default 171setting chroot=y</a> </h2> 172 173<p> The <a href="master.5.html">master.cf</a> chroot default value has changed from "y" (yes) 174to "n" (no). The new default avoids the need for copies of system 175files under the Postfix queue directory. However, sites with strict 176security requirements may want to keep the chroot feature enabled 177after updating Postfix from an older version. The backwards-compatibility 178safety net is designed allow the administrator to choose if they 179want to keep the old behavior. </p> 180 181<p> As long as a <a href="master.5.html">master.cf</a> chroot field is left at its 182implicit default value, and the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting 183is less than 1, Postfix may log the following message while it 184reads the <a href="master.5.html">master.cf</a> file: </p> 185 186<blockquote> 187<pre> 188postfix/master[27664]: /etc/postfix/<a href="master.5.html">master.cf</a>: line 72: using 189 backwards-compatible default setting chroot=y 190</pre> 191</blockquote> 192 193<p> If this service should remain chrooted, then the system 194administrator should make the backwards-compatible setting "chroot 195= y" permanent in <a href="master.5.html">master.cf</a>. For example, to update the chroot 196setting for the "smtp inet" service: </p> 197 198<blockquote> 199<pre> 200# <b>postconf -F smtp/inet/chroot=y</b> 201# <b>postfix reload</b> 202</pre> 203</blockquote> 204 205<h2> <a name="relay_restrictions"> Using backwards-compatible default 206setting smtpd_relay_restrictions = (empty)</a> </h2> 207 208<p> The <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> feature was introduced with Postfix 209version 2.10, as a safety mechanism for configuration errors in 210<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> that could make Postfix an open relay. 211</p> 212 213<p> The <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> implicit default setting forbids 214mail to remote destinations from clients that don't match 215<a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a> or <a href="postconf.5.html#permit_sasl_authenticated">permit_sasl_authenticated</a>. This could result 216in unexpected 'Relay access denied' errors after Postfix is updated 217from an older Postfix version. The backwards-compatibility safety 218net is designed to prevent such surprises. </p> 219 220<p> When the <a href="postconf.5.html#compatibility_level">compatibility_level</a> less than 1, and the 221<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> parameter is left at its implicit default 222setting, Postfix may log the following message: </p> 223 224<blockquote> 225<pre> 226postfix/smtpd[38463]: using backwards-compatible default setting 227 "<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> = (empty)" to avoid "Relay access 228 denied" error for recipient "user@example.com" from client 229 "host.example.net[10.0.0.2]" 230</pre> 231</blockquote> 232 233<p> If this request should not be blocked, then the system 234administrator should make the backwards-compatible setting 235"<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>=" (i.e. empty) permanent in <a href="postconf.5.html">main.cf</a>: 236 237<blockquote> 238<pre> 239# <b>postconf <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>=</b> 240# <b>postfix reload</b> 241</pre> 242</blockquote> 243 244<h2> <a name="mynetworks_style"> Using backwards-compatible default 245setting mynetworks_style=subnet</a> </h2> 246 247<p> The <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> default value has changed from "subnet" 248to "host". This parameter is used to implement the "<a href="postconf.5.html#permit_mynetworks">permit_mynetworks</a>" 249feature. The change could cause unexpected 'access denied' errors after 250Postfix is updated from an older version. The backwards-compatibility 251safety net is designed to prevent such surprises. </p> 252 253<p> As long as the <a href="postconf.5.html#mynetworks">mynetworks</a> and <a href="postconf.5.html#mynetworks_style">mynetworks_style</a> parameters are 254left at their implicit default values, and the <a href="postconf.5.html#compatibility_level">compatibility_level</a> 255setting is less than 2, the Postfix SMTP server may log one of the 256following messages: </p> 257 258<blockquote> 259<pre> 260postfix/smtpd[17375]: using backwards-compatible default setting 261 <a href="postconf.5.html#mynetworks_style">mynetworks_style</a>=subnet to permit request from client 262 "foo.example.com[10.1.1.1]" 263</pre> 264</blockquote> 265 266<blockquote> 267<pre> 268postfix/postscreen[24982]: using backwards-compatible default 269 setting <a href="postconf.5.html#mynetworks_style">mynetworks_style</a>=subnet to permit request from client 270 "10.1.1.1" 271</pre> 272</blockquote> 273 274<p> If the client request should not be rejected, then the system 275administrator should make the backwards-compatible setting 276"<a href="postconf.5.html#mynetworks_style">mynetworks_style</a> = subnet" permanent in <a href="postconf.5.html">main.cf</a>: </p> 277 278<blockquote> 279<pre> 280# <b>postconf <a href="postconf.5.html#mynetworks_style">mynetworks_style</a>=subnet</b> 281# <b>postfix reload</b> 282</pre> 283</blockquote> 284 285<h2><a name="relay_domains"> Using backwards-compatible default 286setting relay_domains=$mydestination </a> </h2> 287 288<p> The <a href="postconf.5.html#relay_domains">relay_domains</a> default value has changed from "$<a href="postconf.5.html#mydestination">mydestination</a>" 289to the empty value. This could result in unexpected 'Relay access 290denied' errors or ETRN errors after Postfix is updated from an older 291version. The backwards-compatibility safety net is designed to 292prevent such surprises. </p> 293 294<p> As long as the <a href="postconf.5.html#relay_domains">relay_domains</a> parameter is left at its implicit 295default value, and the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting is less than 2, 296Postfix may log one of the following messages. </p> 297 298<ul> 299 300<li> <p> Messages about accepting mail for a remote domain:</p> 301 302<blockquote> 303<pre> 304postfix/smtpd[19052]: using backwards-compatible default setting 305 <a href="postconf.5.html#relay_domains">relay_domains</a>=$<a href="postconf.5.html#mydestination">mydestination</a> to accept mail for domain 306 "foo.example.com" 307</pre> 308</blockquote> 309 310<blockquote> 311<pre> 312postfix/smtpd[19052]: using backwards-compatible default setting 313 <a href="postconf.5.html#relay_domains">relay_domains</a>=$<a href="postconf.5.html#mydestination">mydestination</a> to accept mail for address 314 "user@foo.example.com" 315</pre> 316</blockquote> 317 318<li> <p> Messages about providing ETRN service for a remote domain:</p> 319 320<blockquote> 321<pre> 322postfix/smtpd[19138]: using backwards-compatible default setting 323 <a href="postconf.5.html#relay_domains">relay_domains</a>=$<a href="postconf.5.html#mydestination">mydestination</a> to flush mail for domain 324 "bar.example.com" 325</pre> 326</blockquote> 327 328<blockquote> 329<pre> 330postfix/smtp[13945]: using backwards-compatible default setting 331 <a href="postconf.5.html#relay_domains">relay_domains</a>=$<a href="postconf.5.html#mydestination">mydestination</a> to update fast-flush logfile for 332 domain "bar.example.com" 333</pre> 334</blockquote> 335 336</ul> 337 338<p> If Postfix should continue to accept mail for that domain or 339continue to provide ETRN service for that domain, then the system 340administrator should make the backwards-compatible setting 341"<a href="postconf.5.html#relay_domains">relay_domains</a> = $<a href="postconf.5.html#mydestination">mydestination</a>" permanent in <a href="postconf.5.html">main.cf</a>: </p> 342 343<blockquote> 344<pre> 345# <b>postconf '<a href="postconf.5.html#relay_domains">relay_domains</a>=$<a href="postconf.5.html#mydestination">mydestination</a>'</b> 346# <b>postfix reload</b> 347</pre> 348</blockquote> 349 350<p> Note: quotes are required as indicated above. </p> 351 352<p> Instead of $<a href="postconf.5.html#mydestination">mydestination</a>, it may be better to specify an 353explicit list of domain names. </p> 354 355<h2> <a name="smtputf8_enable"> Using backwards-compatible default 356setting smtputf8_enable=no</a> </h2> 357 358<p> The <a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a> default value has changed from "no" to "yes". 359With the new "yes" setting, the Postfix SMTP server rejects non-ASCII 360addresses from clients that don't request SMTPUTF8 support, after 361Postfix is updated from an older version. The backwards-compatibility 362safety net is designed to prevent such surprises. </p> 363 364<p> As long as the <a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a> parameter is left at its implicit 365default value, and the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting is 366less than 1, Postfix logs a warning each time an SMTP command uses a 367non-ASCII address localpart without requesting SMTPUTF8 support: </p> 368 369<blockquote> 370<pre> 371postfix/smtpd[27560]: using backwards-compatible default setting 372 <a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a>=no to accept non-ASCII sender address 373 "??@example.org" from localhost[127.0.0.1] 374</pre> 375</blockquote> 376 377<blockquote> 378<pre> 379postfix/smtpd[27560]: using backwards-compatible default setting 380 <a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a>=no to accept non-ASCII recipient address 381 "??@example.com" from localhost[127.0.0.1] 382</pre> 383</blockquote> 384 385<p> If the address should not be rejected, and the client cannot 386be updated to use SMTPUTF8, then the system administrator should 387make the backwards-compatible setting "<a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a> = no" permanent 388in <a href="postconf.5.html">main.cf</a>: 389 390<blockquote> 391<pre> 392# <b>postconf <a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a>=no</b> 393# <b>postfix reload</b> 394</pre> 395</blockquote> 396 397<h2> <a name="smtpd_digest"> Using backwards-compatible 398default setting smtpd_tls_fingerprint_digest=md5</a> </h2> 399 400<p> The <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> default value has changed from 401"md5" to "sha256". With the new "sha256" setting, the Postfix SMTP 402server avoids using the deprecated "md5" algorithm and computes a more 403secure digest of the client certificate. </p> 404 405<p> If you're using the default "md5" setting, or even an explicit 406"sha1" (also deprecated) setting, you should consider switching to 407"sha256". This will require updating any associated lookup table keys 408with the "sha256" digests of the expected client certificate or public 409key. </p> 410 411<p> As long as the <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a> parameter is left at its 412implicit default value, and the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting is less than 4133.6, Postfix logs a warning each time a client certificate or public key 414fingerprint is (potentially) used for access control: </p> 415 416<blockquote> 417<pre> 418postfix/smtpd[27560]: using backwards-compatible default setting 419 <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>=md5 to compute certificate fingerprints 420</pre> 421</blockquote> 422 423<p> Since any client certificate fingerprints are passed in policy service 424lookups, and Postfix doesn't know whether the fingerprint will be used, the 425warning may also be logged when policy lookups are performed for connections 426that used a client certificate, even if the policy service does not in fact 427examine the client certificate. To reduce the noise somewhat, such warnings 428are issued at most once per <a href="smtpd.8.html">smtpd(8)</a> process instance. </p> 429 430<p> If you prefer to stick with "md5", you can suppress the warnings by 431making that setting explicit. After addressing any other compatibility 432warnings, you can <a href="#turnoff">update</a> your compatibility level. 433</p> 434 435<blockquote> 436<pre> 437# <b>postconf <a href="postconf.5.html#smtpd_tls_fingerprint_digest">smtpd_tls_fingerprint_digest</a>=md5</b> 438# <b>postfix reload</b> 439</pre> 440</blockquote> 441 442<h2> <a name="smtp_digest"> Using backwards-compatible 443default setting smtp_tls_fingerprint_digest=md5</a> </h2> 444 445<p> The <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> and <a href="postconf.5.html#lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a> 446default values have changed from "md5" to "sha256". With the new 447"sha256" setting, the Postfix SMTP and LMTP client avoids using the 448deprecated "md5" algorithm and computes a more secure digest of the 449server certificate. </p> 450 451<p> If you're using the default "md5" setting, or even an explicit 452"sha1" (also deprecated) setting, you should consider switching to 453"sha256". This will require updating any "fingerprint" security level 454policies in the TLS policy table to specify matching "sha256" digests of 455the expected server certificates or public keys. </p> 456 457<p> As long as the <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> (or LMTP equivalent) 458parameter is left at its implicit default value, and the 459<a href="postconf.5.html#compatibility_level">compatibility_level</a> setting is less than 3.6, Postfix logs a warning each 460time the "fingerprint" security level is used to specify matching "md5" 461digests of trusted server certificates or public keys: </p> 462 463<blockquote> 464<pre> 465postfix/smtp[27560]: using backwards-compatible default setting 466 <a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a>=md5 to compute certificate fingerprints 467</pre> 468</blockquote> 469 470<p> If you prefer to stick with "md5", you can suppress the warnings by 471making that setting explicit. After addressing any other compatibility 472warnings, you can <a href="#turnoff">update</a> your compatibility level. 473</p> 474 475<blockquote> 476<pre> 477# <b>postconf '<a href="postconf.5.html#smtp_tls_fingerprint_digest">smtp_tls_fingerprint_digest</a> = md5' \ 478 '<a href="postconf.5.html#lmtp_tls_fingerprint_digest">lmtp_tls_fingerprint_digest</a> = md5' </b> 479# <b>postfix reload</b> 480</pre> 481</blockquote> 482 483<h2> <a name="relay_before_rcpt"> Using backwards-compatible 484default setting smtpd_relay_before_recipient_restrictions=no</a> </h2> 485 486<p> The <a href="postconf.5.html#smtpd_relay_before_recipient_restrictions">smtpd_relay_before_recipient_restrictions</a> feature was 487introduced in Postfix version 3.6, to evaluate <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> 488before <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>. Historically, <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> 489was evaluated after <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a>, contradicting 490documented behavior. </p> 491 492<blockquote> <p> Background: <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a> is 493primarily designed to enforce a mail relaying policy, while 494<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> is primarily designed to enforce spam 495blocking policy. Both are evaluated while replying to the RCPT TO 496command, and both support the same features. </p> </blockquote> 497 498<p> To maintain compatibility with earlier versions, Postfix will 499keep evaluating <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> before 500<a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>, as long as the <a href="postconf.5.html#compatibility_level">compatibility_level</a> is 501less than 3.6, and the <a href="postconf.5.html#smtpd_relay_before_recipient_restrictions">smtpd_relay_before_recipient_restrictions</a> 502parameter is left at its implicit default setting. As a reminder, 503Postfix may log the following message: </p> 504 505<blockquote> 506<pre> 507postfix/smtpd[54696]: using backwards-compatible default setting 508 <a href="postconf.5.html#smtpd_relay_before_recipient_restrictions">smtpd_relay_before_recipient_restrictions</a>=no to reject recipient 509 "user@example.com" from client "host.example.net[10.0.0.2]" 510</pre> 511</blockquote> 512 513<p> If Postfix should keep evaluating <a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> 514before <a href="postconf.5.html#smtpd_relay_restrictions">smtpd_relay_restrictions</a>, then the system 515administrator should make the backwards-compatible setting 516"<a href="postconf.5.html#smtpd_relay_before_recipient_restrictions">smtpd_relay_before_recipient_restrictions</a>=no" permanent in <a href="postconf.5.html">main.cf</a>: </p> 517 518<blockquote> 519<pre> 520# <b> postconf <a href="postconf.5.html#smtpd_relay_before_recipient_restrictions">smtpd_relay_before_recipient_restrictions</a>=no </b> 521# <b> postfix reload </b> 522</pre> 523</blockquote> 524 525<h2> <a name="respectful_logging"> Using backwards-compatible 526default setting respectful_logging=no</a> </h2> 527 528<p> Postfix version 3.6 deprecates configuration parameter names and 529logging that suggest white is better than black. Instead it prefers 530'allowlist, 'denylist', and variations of those words. While the renamed 531configuration parameters have backwards-compatible default values, 532the changes in logging could affect logfile analysis tools. </p> 533 534<p> To avoid breaking existing logfile analysis tools, Postfix will keep 535logging the deprecated form, as long as the <a href="postconf.5.html#respectful_logging">respectful_logging</a> parameter 536is left at its implicit default value, and the <a href="postconf.5.html#compatibility_level">compatibility_level</a> 537setting is less than 3.6. As a reminder, Postfix may log the following 538when a remote SMTP client is allowlisted or denylisted: </p> 539 540<blockquote> 541<pre> 542postfix/postscreen[22642]: Using backwards-compatible default setting 543 <a href="postconf.5.html#respectful_logging">respectful_logging</a>=no for client [<i>address</i>]:<i>port</i> 544</pre> 545</blockquote> 546 547<p> If Postfix should keep logging the deprecated form, then the 548system administrator should make the backwards-compatible setting 549"<a href="postconf.5.html#respectful_logging">respectful_logging</a> = no" permanent in <a href="postconf.5.html">main.cf</a>. 550 551<blockquote> 552<pre> 553# <b>postconf "<a href="postconf.5.html#respectful_logging">respectful_logging</a> = no"</b> 554# <b>postfix reload</b> 555</pre> 556</blockquote> 557 558<h2> <a name="turnoff">Turning off the backwards-compatibility safety net</a> </h2> 559 560<p> Backwards compatibility is turned off by updating the 561<a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in <a href="postconf.5.html">main.cf</a>. </p> 562 563<blockquote> 564<pre> 565# <b>postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i></b> 566# <b>postfix reload</b> 567</pre> 568</blockquote> 569 570<p> For <i>N</i> specify the number that is logged in your <a href="postfix.1.html">postfix(1)</a> 571warning message: </p> 572 573<blockquote> 574<pre> 575warning: To disable backwards compatibility use "postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=<i>N</i>" and "postfix reload" 576</pre> 577</blockquote> 578 579<p> Sites that don't care about backwards compatibility may set 580"<a href="postconf.5.html#compatibility_level">compatibility_level</a> = 9999" at their own risk. </p> 581 582<p> Starting with Postfix version 3.6, the compatibility level in 583the above warning message is the Postfix version that introduced 584the last incompatible change. The level is formatted as 585<i>major.minor.patch</i>, where <i>patch</i> is usually omitted and 586defaults to zero. Earlier compatibility levels are 0, 1 and 2. </p> 587 588<p> NOTE: Postfix 3.6 also introduces support for the "<level", 589"<=level", and other operators to compare compatibility levels. 590With the standard operators "<", "<=", etc., compatibility 591level "3.10" would be smaller than "3.9" which is undesirable. </p> 592 593</body> 594 595</html> 596