mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-30 05:38:06 +00:00
postfix-2.12-20141002
This commit is contained in:
parent
dec262c51f
commit
9247564286
@ -20546,3 +20546,10 @@ Apologies for any names omitted.
|
||||
|
||||
Bugfix: do not reset the mail transaction after receiving
|
||||
a non-ASCII recipient. File: smtpd/smtpd.c.
|
||||
|
||||
20141002
|
||||
|
||||
Cleanup: moved the details of BC safety-net messages from
|
||||
RELEASE_NOTES to postconf(5) manpage, and changed the wording
|
||||
of the BC messages. Files: RELEASE_NOTES, proto/postconf.proto,
|
||||
master/master_ent.c, smtpd/smtpd.c, trivial-rewrite/rewrite.c.
|
||||
|
@ -61,65 +61,17 @@ about build options that are not described in the INSTALL instructions.
|
||||
Major changes with snapshot 20141001
|
||||
====================================
|
||||
|
||||
A new backwards-compatibility safety net forces Postfix to keep
|
||||
running with backwards-compatible main.cf and master.cf default
|
||||
settings after an upgrade to a newer Postfix version.
|
||||
A new backwards-compatibility safety net forces Postfix to run with
|
||||
backwards-compatible main.cf and master.cf default settings after
|
||||
an upgrade to a newer but incompatible Postfix version.
|
||||
|
||||
The following presents the messages that the backwards-compatibility
|
||||
safety net will log, what the messages mean, and what action the
|
||||
system adminstrator is expected to take.
|
||||
While the backwards-compatible default settings are in effect,
|
||||
Postfix logs what services or what email would be affected by the
|
||||
incompatible change. Based on this the administrator can make some
|
||||
backwards-compatibility settings permanent in main.cf or master.cf,
|
||||
before turning off backwards compatibility.
|
||||
|
||||
1) postfix/master[27664]: /etc/postfix/master.cf: line 72: using
|
||||
legacy default setting chroot=y
|
||||
|
||||
chroot=n is the new default, but that may not always be disirable.
|
||||
Postfix continues to use the backwards-compatible default,
|
||||
chroot=y, until the system administrator has determined whether
|
||||
or not the backwards-compatible chroot=y setting needs to be
|
||||
made permanent in master.cf.
|
||||
|
||||
2) postfix/trivial-rewrite[25835]: using legacy default setting
|
||||
append_dot_mydomain=yes to rewrite "foo" to "foo.example.com"
|
||||
|
||||
append_dot_mydomain=no is the new default, but that change may
|
||||
affect email from ancient clients that cannot be updated. Postfix
|
||||
continues to use the backwards-compatible default,
|
||||
append_dot_mydomain=yes, until the system administrator has
|
||||
determined whether or not the backwards-compatible
|
||||
append_dot_mydomain=yes setting needs to be made permanent in
|
||||
main.cf.
|
||||
|
||||
3) postfix/smtpd[27560]: using legacy default setting smtputf8_enable=no
|
||||
to accept non-ASCII sender address "??@example.org" from
|
||||
localhost[127.0.0.1]
|
||||
|
||||
4) postfix/smtpd[27560]: using legacy default setting smtputf8_enable=no
|
||||
to accept non-ASCII recipient address "??@example.com" from
|
||||
localhost[127.0.0.1]
|
||||
|
||||
smtputf8_enable=yes is the new default, but that would break
|
||||
existing email streams with non-ASCII localparts. Postfix continues
|
||||
to use the backwards-compatible default, smtputf8_enable=no,
|
||||
until the system administrator has determined whether or not the
|
||||
backwards-compatible smtputf8_enable=no setting needs to be made
|
||||
permanent in main.cf.
|
||||
|
||||
It may take several weeks until all dependencies on backwards-compatible
|
||||
default settings are identified. After the review is complete, and
|
||||
no more backwards-compatible settings need to be made permanent.
|
||||
the administrator should accept the remaining Postfix built-in
|
||||
default settings by updating the compatibility_level setting in
|
||||
main.cf.
|
||||
|
||||
For the changes discussed above, the administrator should set:
|
||||
|
||||
/etc/postfix/main.cf:
|
||||
compatibility_level = 1
|
||||
|
||||
This will stop all the warning messages shown above.
|
||||
|
||||
Future incompatible changes will require setting "compatibility_level
|
||||
= 2", and so on.
|
||||
See postconf.5.html#compatibility_level for details.
|
||||
|
||||
Major changes with snapshot 20140928
|
||||
====================================
|
||||
|
@ -11,6 +11,8 @@ Wish list:
|
||||
|
||||
Things to do after the stable release:
|
||||
|
||||
Update smtputf8_enable in postconf(5)
|
||||
|
||||
use "static const char myname[] ..."
|
||||
|
||||
Add milter_mumble_macros to the list of per-macro features.
|
||||
|
@ -1539,24 +1539,111 @@ global <a href="postconf.5.html#ipc_timeout">ipc_timeout</a> parameter as well.
|
||||
<DT><b><a name="compatibility_level">compatibility_level</a>
|
||||
(default: 0)</b></DT><DD>
|
||||
|
||||
<p> A safety net that forces Postfix to keep running with
|
||||
backwards-compatible <a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> default settings after
|
||||
an upgrade to a newer but incompatible Postfix version. </p>
|
||||
<p> A safety net that forces Postfix to run with backwards-compatible
|
||||
<a href="postconf.5.html">main.cf</a> and <a href="master.5.html">master.cf</a> default settings after an upgrade to a newer
|
||||
but incompatible Postfix version. </p>
|
||||
|
||||
<p> Depending on the <a href="postconf.5.html#compatibility_level">compatibility_level</a> parameter setting, Postfix
|
||||
continues to use backwards-compatible default settings, and logs
|
||||
the use of those backwards-compatible default settings with messages
|
||||
that contain the string "using legacy default setting". Based on
|
||||
this logging the system administrator can determine that a new
|
||||
default setting breaks nothing or that a backwards-compatible
|
||||
default setting needs to be made permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>.
|
||||
</p>
|
||||
<p> While the backwards-compatible default settings are in effect,
|
||||
Postfix logs what services or what email would be affected by
|
||||
the incompatible change. </p>
|
||||
|
||||
<p> After this review is complete, and no more backwards-compatible
|
||||
settings need to be made permanent, the administrator should accept
|
||||
the remaining Postfix built-in default settings by updating the
|
||||
<a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in <a href="postconf.5.html">main.cf</a> as recommended in the Postfix
|
||||
RELEASE_NOTES. </p>
|
||||
<p> Based on this logging the system administrator can determine
|
||||
whether or not a backwards-compatible default setting needs to be
|
||||
made permanent in <a href="postconf.5.html">main.cf</a> or <a href="master.5.html">master.cf</a>. </p>
|
||||
|
||||
<p> Changes introduced with Postfix 2.12 (compatibility level 1):</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li> <p> The <a href="master.5.html">master.cf</a> chroot default value has changed from "y"
|
||||
(yes) to "n" (no). As long as the backwards-compatible default
|
||||
settings are turned on, Postfix logs a warning each time the master
|
||||
daemon reads the <a href="master.5.html">master.cf</a> file: </p>
|
||||
|
||||
<pre>
|
||||
postfix/master[27664]: /etc/postfix/<a href="master.5.html">master.cf</a>: line 72: using
|
||||
backwards-compatible default setting chroot=y
|
||||
</pre>
|
||||
|
||||
<p> If Postfix logs such messages for a service that should remain
|
||||
chrooted, then the system administrator should make the
|
||||
backwards-compatible setting "chroot = y" permanent in <a href="master.5.html">master.cf</a>.
|
||||
For example, to update the chroot setting for the "smtp inet"
|
||||
service: </p>
|
||||
|
||||
<pre>
|
||||
# <b>postconf -F smtp/inet/chroot=y</b>
|
||||
# <b>postfix reload</b>
|
||||
</pre>
|
||||
|
||||
<li> <p> The <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a> default value has changed from
|
||||
"yes" to "no". As long as the backwards-compatible default settings
|
||||
are turned on, Postfix logs a warning for each email address with
|
||||
an incomplete domain: </p>
|
||||
|
||||
<pre>
|
||||
postfix/trivial-rewrite[25835]: using backwards-compatible
|
||||
default setting <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a>=yes to rewrite "foo" to
|
||||
"foo.example.com"
|
||||
</pre>
|
||||
|
||||
|
||||
<p> The backwards-compatible setting prevents delivery errors for
|
||||
email with an incomplete domain in an email address. If Postfix
|
||||
logs the above message for addresses different from "user@localhost",
|
||||
and the client cannot be changed to use complete domain names in
|
||||
email addresses, then the system administrator should make the
|
||||
backwards-compatible setting "<a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a> = yes" permanent
|
||||
in <a href="postconf.5.html">main.cf</a>: </p>
|
||||
|
||||
<pre>
|
||||
# <b>postconf <a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a>=yes</b>
|
||||
# <b>postfix reload</b>
|
||||
</pre>
|
||||
|
||||
<li> <p> The <a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a> default value has changed from "no"
|
||||
to "yes. As long as the backwards-compatible default settings are
|
||||
turned on, Postfix logs a warning each time an SMTP command uses a
|
||||
non-ASCII address localpart: </p>
|
||||
|
||||
<pre>
|
||||
postfix/smtpd[27560]: using backwards-compatible default setting
|
||||
<a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a>=no to accept non-ASCII sender address
|
||||
"??@example.org" from localhost[127.0.0.1]
|
||||
</pre>
|
||||
|
||||
<pre>
|
||||
postfix/smtpd[27560]: using backwards-compatible default setting
|
||||
<a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a>=no to accept non-ASCII recipient address
|
||||
"??@example.com" from localhost[127.0.0.1]
|
||||
</pre>
|
||||
|
||||
<p> The backwards-compatible setting prevents Postfix from rejecting
|
||||
non-SMTPUTF8 email from legacy clients that send email with a
|
||||
non-ASCII sender or recipient address localpart. If Postfix logs
|
||||
the above messages and the client cannot be updated to use SMTPUTF8,
|
||||
then the system administrator should make the backwards-compatible
|
||||
setting "<a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a> = no" permanent in <a href="postconf.5.html">main.cf</a>:
|
||||
|
||||
<pre>
|
||||
# <b>postconf <a href="postconf.5.html#smtputf8_enable">smtputf8_enable</a>=no</b>
|
||||
# <b>postfix reload</b>
|
||||
</pre>
|
||||
|
||||
</ul>
|
||||
|
||||
<p> When no more backwards-compatible settings need to be made
|
||||
permanent, the administrator should turn off the backwards-compatible
|
||||
default settings by updating the <a href="postconf.5.html#compatibility_level">compatibility_level</a> setting in
|
||||
<a href="postconf.5.html">main.cf</a>. </p>
|
||||
|
||||
<pre>
|
||||
# <b>postconf <a href="postconf.5.html#compatibility_level">compatibility_level</a>=1</b>
|
||||
# <b>postfix reload</b>
|
||||
</pre>
|
||||
|
||||
<p> Future incompatible changes will require setting "<a href="postconf.5.html#compatibility_level">compatibility_level</a>
|
||||
= 2", and so on. </p>
|
||||
|
||||
<p> This feature is available in Postfix 2.12 and later. </p>
|
||||
|
||||
|
@ -890,23 +890,139 @@ delivery by the \fBpipe\fR(8) delivery agent.
|
||||
Note: if you set this time limit to a large value you must update the
|
||||
global ipc_timeout parameter as well.
|
||||
.SH compatibility_level (default: 0)
|
||||
A safety net that forces Postfix to keep running with
|
||||
backwards-compatible main.cf and master.cf default settings after
|
||||
an upgrade to a newer but incompatible Postfix version.
|
||||
A safety net that forces Postfix to run with backwards-compatible
|
||||
main.cf and master.cf default settings after an upgrade to a newer
|
||||
but incompatible Postfix version.
|
||||
.PP
|
||||
Depending on the compatibility_level parameter setting, Postfix
|
||||
continues to use backwards-compatible default settings, and logs
|
||||
the use of those backwards-compatible default settings with messages
|
||||
that contain the string "using legacy default setting". Based on
|
||||
this logging the system administrator can determine that a new
|
||||
default setting breaks nothing or that a backwards-compatible
|
||||
default setting needs to be made permanent in main.cf or master.cf.
|
||||
While the backwards-compatible default settings are in effect,
|
||||
Postfix logs what services or what email would be affected by
|
||||
the incompatible change.
|
||||
.PP
|
||||
After this review is complete, and no more backwards-compatible
|
||||
settings need to be made permanent, the administrator should accept
|
||||
the remaining Postfix built-in default settings by updating the
|
||||
compatibility_level setting in main.cf as recommended in the Postfix
|
||||
RELEASE_NOTES.
|
||||
Based on this logging the system administrator can determine
|
||||
whether or not a backwards-compatible default setting needs to be
|
||||
made permanent in main.cf or master.cf.
|
||||
.PP
|
||||
Changes introduced with Postfix 2.12 (compatibility level 1):
|
||||
.IP \(bu
|
||||
The master.cf chroot default value has changed from "y"
|
||||
(yes) to "n" (no). As long as the backwards-compatible default
|
||||
settings are turned on, Postfix logs a warning each time the master
|
||||
daemon reads the master.cf file:
|
||||
.sp
|
||||
.nf
|
||||
.na
|
||||
.ft C
|
||||
postfix/master[27664]: /etc/postfix/master.cf: line 72: using
|
||||
backwards-compatible default setting chroot=y
|
||||
.fi
|
||||
.ad
|
||||
.ft R
|
||||
.sp
|
||||
If Postfix logs such messages for a service that should remain
|
||||
chrooted, then the system administrator should make the
|
||||
backwards-compatible setting "chroot = y" permanent in master.cf.
|
||||
For example, to update the chroot setting for the "smtp inet"
|
||||
service:
|
||||
.sp
|
||||
.nf
|
||||
.na
|
||||
.ft C
|
||||
# \fBpostconf -F smtp/inet/chroot=y\fR
|
||||
# \fBpostfix reload\fR
|
||||
.fi
|
||||
.ad
|
||||
.ft R
|
||||
.IP \(bu
|
||||
The append_dot_mydomain default value has changed from
|
||||
"yes" to "no". As long as the backwards-compatible default settings
|
||||
are turned on, Postfix logs a warning for each email address with
|
||||
an incomplete domain:
|
||||
.sp
|
||||
.nf
|
||||
.na
|
||||
.ft C
|
||||
postfix/trivial-rewrite[25835]: using backwards-compatible
|
||||
default setting append_dot_mydomain=yes to rewrite "foo" to
|
||||
"foo.example.com"
|
||||
.fi
|
||||
.ad
|
||||
.ft R
|
||||
.sp
|
||||
The backwards-compatible setting prevents delivery errors for
|
||||
email with an incomplete domain in an email address. If Postfix
|
||||
logs the above message for addresses different from "user@localhost",
|
||||
and the client cannot be changed to use complete domain names in
|
||||
email addresses, then the system administrator should make the
|
||||
backwards-compatible setting "append_dot_mydomain = yes" permanent
|
||||
in main.cf:
|
||||
.sp
|
||||
.nf
|
||||
.na
|
||||
.ft C
|
||||
# \fBpostconf append_dot_mydomain=yes\fR
|
||||
# \fBpostfix reload\fR
|
||||
.fi
|
||||
.ad
|
||||
.ft R
|
||||
.IP \(bu
|
||||
The smtputf8_enable default value has changed from "no"
|
||||
to "yes. As long as the backwards-compatible default settings are
|
||||
turned on, Postfix logs a warning each time an SMTP command uses a
|
||||
non-ASCII address localpart:
|
||||
.sp
|
||||
.nf
|
||||
.na
|
||||
.ft C
|
||||
postfix/smtpd[27560]: using backwards-compatible default setting
|
||||
smtputf8_enable=no to accept non-ASCII sender address
|
||||
"??@example.org" from localhost[127.0.0.1]
|
||||
.fi
|
||||
.ad
|
||||
.ft R
|
||||
.sp
|
||||
.nf
|
||||
.na
|
||||
.ft C
|
||||
postfix/smtpd[27560]: using backwards-compatible default setting
|
||||
smtputf8_enable=no to accept non-ASCII recipient address
|
||||
"??@example.com" from localhost[127.0.0.1]
|
||||
.fi
|
||||
.ad
|
||||
.ft R
|
||||
.sp
|
||||
The backwards-compatible setting prevents Postfix from rejecting
|
||||
non-SMTPUTF8 email from legacy clients that send email with a
|
||||
non-ASCII sender or recipient address localpart. If Postfix logs
|
||||
the above messages and the client cannot be updated to use SMTPUTF8,
|
||||
then the system administrator should make the backwards-compatible
|
||||
setting "smtputf8_enable = no" permanent in main.cf:
|
||||
.sp
|
||||
.nf
|
||||
.na
|
||||
.ft C
|
||||
# \fBpostconf smtputf8_enable=no\fR
|
||||
# \fBpostfix reload\fR
|
||||
.fi
|
||||
.ad
|
||||
.ft R
|
||||
.br
|
||||
.PP
|
||||
When no more backwards-compatible settings need to be made
|
||||
permanent, the administrator should turn off the backwards-compatible
|
||||
default settings by updating the compatibility_level setting in
|
||||
main.cf.
|
||||
.PP
|
||||
.nf
|
||||
.na
|
||||
.ft C
|
||||
# \fBpostconf compatibility_level=1\fR
|
||||
# \fBpostfix reload\fR
|
||||
.fi
|
||||
.ad
|
||||
.ft R
|
||||
.PP
|
||||
Future incompatible changes will require setting "compatibility_level
|
||||
= 2", and so on.
|
||||
.PP
|
||||
This feature is available in Postfix 2.12 and later.
|
||||
.SH config_directory (default: see "postconf -d" output)
|
||||
|
@ -7,7 +7,10 @@
|
||||
# - Process input as text blocks separated by one or more empty
|
||||
# (or all whitespace) lines.
|
||||
#
|
||||
# - Skip text between <!-- and -->; each must be on a different line.
|
||||
# - Remove text between <!-- and -->; each may be on a different line.
|
||||
#
|
||||
# - Optionally remove <nroffescape> pass-through requests (unless
|
||||
# the -n option is specified).
|
||||
#
|
||||
# - Don't touch blocks that start with `<' in column zero.
|
||||
#
|
||||
@ -18,13 +21,14 @@
|
||||
#
|
||||
# All other non-comment input is flagged as an error.
|
||||
|
||||
#use Getopt::Std;
|
||||
use Getopt::Std;
|
||||
|
||||
#$opt_h = undef;
|
||||
#$opt_v = undef;
|
||||
#getopts("hv");
|
||||
$opt_h = undef;
|
||||
$opt_v = undef;
|
||||
$opt_n = undef;
|
||||
getopts("hnv");
|
||||
|
||||
#die "Usage: $0 [-hv]\n" if ($opt_h);
|
||||
die "Usage: $0 [-nv]\n" if ($opt_h);
|
||||
|
||||
#push @ARGV, "/dev/null"; # XXX
|
||||
|
||||
@ -48,6 +52,9 @@ while(<>) {
|
||||
{ $comment = 0; $block =~ s/<!--.*-->//sg; }
|
||||
} while((($_ = <>) && /\S/) || $comment);
|
||||
|
||||
# Strip nroff escapes.
|
||||
$block =~ s/<\s*nroffescape[^>]+>//g unless $opt_n;
|
||||
|
||||
# Skip blanks after comment elimination.
|
||||
if ($block =~ /^\s/) {
|
||||
$block =~ s/^\s+//s;
|
||||
|
@ -7,6 +7,9 @@
|
||||
# - Process input as blocks of text separated by one or more empty
|
||||
# (or all whitespace) lines.
|
||||
#
|
||||
# - Process <nroffescape> pass-through requests for things that this
|
||||
# script cannot do automatically.
|
||||
#
|
||||
# Caution: this depends heavily on the postconf2html output format.
|
||||
|
||||
#use Getopt::Std;
|
||||
@ -82,6 +85,7 @@ while(<>) {
|
||||
$block =~ s/—/-/g;
|
||||
$block =~ s/\s+\n/\n/g;
|
||||
$block =~ s/^\n//g;
|
||||
$block =~ s/\s*<\s*nroffescape\s+([^ >]+)\s*>\s*/\n\1\n/g;
|
||||
$block =~ s/([a-z][_a-zA-Z0-9-]*)(\([0-9]\))/\\fB\1\\fR\2/g;
|
||||
print $block;
|
||||
$wantpp = !($block =~ /^\.(SH|IP)/);
|
||||
|
@ -487,7 +487,8 @@ clobber:
|
||||
../man/man5/postconf.5: postconf.man.prolog postconf.proto postconf.man.epilog \
|
||||
../mantools/xpostconf ../mantools/postconf2html ../mantools/postconf2man
|
||||
(cat postconf.man.prolog; ../mantools/xpostconf postconf.proto | \
|
||||
$(DETAB) | ../mantools/postconf2html | ../mantools/postconf2man | \
|
||||
$(DETAB) | ../mantools/postconf2html -n | \
|
||||
../mantools/postconf2man | \
|
||||
sed 's/\\e&/\\\&/'; cat postconf.man.epilog ) > $@
|
||||
|
||||
../html/postconf.5.html: postconf.html.prolog postconf.proto \
|
||||
|
@ -39,6 +39,9 @@
|
||||
# * Text between <!-- and --> is stripped out. The <!-- and -->
|
||||
# must appear on separate lines.
|
||||
#
|
||||
# * Use <nroffescape .sp> to request an empty line in the middle
|
||||
# of a block of text. This is needed with indented lists.
|
||||
#
|
||||
# * Blank lines are special for postconf2man: it replaces them by
|
||||
# a "new paragraph" command. Don't put any blank lines inside
|
||||
# <blockquote> text. Instead, put those blank lines between
|
||||
@ -16199,23 +16202,124 @@ mail. </dd>
|
||||
|
||||
%PARAM compatibility_level 0
|
||||
|
||||
<p> A safety net that forces Postfix to keep running with
|
||||
backwards-compatible main.cf and master.cf default settings after
|
||||
an upgrade to a newer but incompatible Postfix version. </p>
|
||||
<p> A safety net that forces Postfix to run with backwards-compatible
|
||||
main.cf and master.cf default settings after an upgrade to a newer
|
||||
but incompatible Postfix version. </p>
|
||||
|
||||
<p> Depending on the compatibility_level parameter setting, Postfix
|
||||
continues to use backwards-compatible default settings, and logs
|
||||
the use of those backwards-compatible default settings with messages
|
||||
that contain the string "using legacy default setting". Based on
|
||||
this logging the system administrator can determine that a new
|
||||
default setting breaks nothing or that a backwards-compatible
|
||||
default setting needs to be made permanent in main.cf or master.cf.
|
||||
<p> While the backwards-compatible default settings are in effect,
|
||||
Postfix logs what services or what email would be affected by
|
||||
the incompatible change. </p>
|
||||
|
||||
<p> Based on this logging the system administrator can determine
|
||||
whether or not a backwards-compatible default setting needs to be
|
||||
made permanent in main.cf or master.cf. </p>
|
||||
|
||||
<p> Changes introduced with Postfix 2.12 (compatibility level 1):</p>
|
||||
|
||||
<ul>
|
||||
|
||||
<li> <p> The master.cf chroot default value has changed from "y"
|
||||
(yes) to "n" (no). As long as the backwards-compatible default
|
||||
settings are turned on, Postfix logs a warning each time the master
|
||||
daemon reads the master.cf file: </p>
|
||||
<nroffescape .sp>
|
||||
<pre>
|
||||
postfix/master[27664]: /etc/postfix/master.cf: line 72: using
|
||||
backwards-compatible default setting chroot=y
|
||||
</pre>
|
||||
<nroffescape .sp>
|
||||
<p> If Postfix logs such messages for a service that should remain
|
||||
chrooted, then the system administrator should make the
|
||||
backwards-compatible setting "chroot = y" permanent in master.cf.
|
||||
For example, to update the chroot setting for the "smtp inet"
|
||||
service: </p>
|
||||
<nroffescape .sp>
|
||||
<pre>
|
||||
# <b>postconf -F smtp/inet/chroot=y</b>
|
||||
# <b>postfix reload</b>
|
||||
</pre>
|
||||
|
||||
<li> <p> The append_dot_mydomain default value has changed from
|
||||
"yes" to "no". As long as the backwards-compatible default settings
|
||||
are turned on, Postfix logs a warning for each email address with
|
||||
an incomplete domain: </p>
|
||||
<nroffescape .sp>
|
||||
<pre>
|
||||
postfix/trivial-rewrite[25835]: using backwards-compatible
|
||||
default setting append_dot_mydomain=yes to rewrite "foo" to
|
||||
"foo.example.com"
|
||||
</pre>
|
||||
<nroffescape .sp>
|
||||
<!-- TLDR
|
||||
<p> The backwards-compatible settings prevent delivery errors for
|
||||
email with an incomplete domain in an email address. If Postfix
|
||||
logs the above message for addresses of the form "user@localhost"
|
||||
then that is harmless, but the system administrator should verify
|
||||
that the mydestination setting does contain "localhost":
|
||||
</p>
|
||||
<nroffescape .sp>
|
||||
<pre>
|
||||
# <b>postconf mydestination | tr '[ ,]' '[\12\12]' | grep localhost</b>
|
||||
</pre>
|
||||
<nroffescape .sp>
|
||||
<p> If the output is empty, then the system administrator should
|
||||
add "localhost" to the main.cf mydestination setting. </p>
|
||||
-->
|
||||
<p> The backwards-compatible setting prevents delivery errors for
|
||||
email with an incomplete domain in an email address. If Postfix
|
||||
logs the above message for addresses different from "user@localhost",
|
||||
and the client cannot be changed to use complete domain names in
|
||||
email addresses, then the system administrator should make the
|
||||
backwards-compatible setting "append_dot_mydomain = yes" permanent
|
||||
in main.cf: </p>
|
||||
<nroffescape .sp>
|
||||
<pre>
|
||||
# <b>postconf append_dot_mydomain=yes</b>
|
||||
# <b>postfix reload</b>
|
||||
</pre>
|
||||
|
||||
<p> After this review is complete, and no more backwards-compatible
|
||||
settings need to be made permanent, the administrator should accept
|
||||
the remaining Postfix built-in default settings by updating the
|
||||
compatibility_level setting in main.cf as recommended in the Postfix
|
||||
RELEASE_NOTES. </p>
|
||||
<li> <p> The smtputf8_enable default value has changed from "no"
|
||||
to "yes. As long as the backwards-compatible default settings are
|
||||
turned on, Postfix logs a warning each time an SMTP command uses a
|
||||
non-ASCII address localpart: </p>
|
||||
<nroffescape .sp>
|
||||
<pre>
|
||||
postfix/smtpd[27560]: using backwards-compatible default setting
|
||||
smtputf8_enable=no to accept non-ASCII sender address
|
||||
"??@example.org" from localhost[127.0.0.1]
|
||||
</pre>
|
||||
<nroffescape .sp>
|
||||
<pre>
|
||||
postfix/smtpd[27560]: using backwards-compatible default setting
|
||||
smtputf8_enable=no to accept non-ASCII recipient address
|
||||
"??@example.com" from localhost[127.0.0.1]
|
||||
</pre>
|
||||
<nroffescape .sp>
|
||||
<p> The backwards-compatible setting prevents Postfix from rejecting
|
||||
non-SMTPUTF8 email from legacy clients that send email with a
|
||||
non-ASCII sender or recipient address localpart. If Postfix logs
|
||||
the above messages and the client cannot be updated to use SMTPUTF8,
|
||||
then the system administrator should make the backwards-compatible
|
||||
setting "smtputf8_enable = no" permanent in main.cf:
|
||||
<nroffescape .sp>
|
||||
<pre>
|
||||
# <b>postconf smtputf8_enable=no</b>
|
||||
# <b>postfix reload</b>
|
||||
</pre>
|
||||
|
||||
</ul>
|
||||
|
||||
<p> When no more backwards-compatible settings need to be made
|
||||
permanent, the administrator should turn off the backwards-compatible
|
||||
default settings by updating the compatibility_level setting in
|
||||
main.cf. </p>
|
||||
|
||||
<pre>
|
||||
# <b>postconf compatibility_level=1</b>
|
||||
# <b>postfix reload</b>
|
||||
</pre>
|
||||
|
||||
<p> Future incompatible changes will require setting "compatibility_level
|
||||
= 2", and so on. </p>
|
||||
|
||||
<p> This feature is available in Postfix 2.12 and later. </p>
|
||||
|
@ -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 "20141001"
|
||||
#define MAIL_RELEASE_DATE "20141002"
|
||||
#define MAIL_VERSION_NUMBER "2.12"
|
||||
|
||||
#ifdef SNAPSHOT
|
||||
|
@ -203,9 +203,9 @@ static char *get_str_ent(char **bufp, char *name, char *def_val)
|
||||
if (def_val == 0)
|
||||
fatal_with_context("field \"%s\" has no default value", name);
|
||||
if (warn_compat_break_chroot && strcmp(name, "chroot") == 0)
|
||||
msg_info("%s: line %d: using legacy default setting %s=%s ("
|
||||
VAR_COMPAT_LEVEL "<1)", master_path, master_line,
|
||||
name, def_val);
|
||||
msg_info("%s: line %d: using backwards-compatible default setting "
|
||||
"%s=%s (" VAR_COMPAT_LEVEL "<1)", master_path,
|
||||
master_line, name, def_val);
|
||||
return (def_val);
|
||||
} else {
|
||||
return (value);
|
||||
|
@ -496,16 +496,16 @@ int main(int argc, char **argv)
|
||||
get_mail_conf_str_table(str_table);
|
||||
|
||||
/*
|
||||
* Alert the sysadmin that the backwards-compatible settings are still
|
||||
* in effect.
|
||||
* Alert the sysadmin that the backwards-compatible settings are still in
|
||||
* effect.
|
||||
*/
|
||||
if (var_compat_level < CUR_COMPAT_LEVEL) {
|
||||
msg_warn("Postfix is running with backwards-compatible default "
|
||||
"settings");
|
||||
msg_warn("See http://www.postfix.org/postconf.5.html#"
|
||||
VAR_COMPAT_LEVEL " for details");
|
||||
msg_warn("Use \"postconf " VAR_COMPAT_LEVEL "=%d\" to disable "
|
||||
"the backwards-compatible default settings",
|
||||
msg_warn("To disable backwards compatibility use \"postconf "
|
||||
VAR_COMPAT_LEVEL "=%d\" and \"postfix reload\"",
|
||||
CUR_COMPAT_LEVEL);
|
||||
}
|
||||
|
||||
|
@ -2492,10 +2492,10 @@ static int mail_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
|
||||
return (-1);
|
||||
}
|
||||
if (warn_compat_break_smtputf8_enable)
|
||||
msg_info("using legacy default setting " VAR_SMTPUTF8_ENABLE
|
||||
"=no to accept non-ASCII sender address \"%s\" from "
|
||||
"%s (" VAR_COMPAT_LEVEL "<1)", STR(state->addr_buf),
|
||||
state->namaddr);
|
||||
msg_info("using backwards-compatible default setting "
|
||||
VAR_SMTPUTF8_ENABLE "=no to accept non-ASCII sender "
|
||||
"address \"%s\" from %s (" VAR_COMPAT_LEVEL "<1)",
|
||||
STR(state->addr_buf), state->namaddr);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -2750,10 +2750,10 @@ static int rcpt_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
|
||||
return (-1);
|
||||
}
|
||||
if (warn_compat_break_smtputf8_enable)
|
||||
msg_info("using legacy default setting " VAR_SMTPUTF8_ENABLE
|
||||
"=no to accept non-ASCII recipient address \"%s\" from"
|
||||
" %s (" VAR_COMPAT_LEVEL "<1)", STR(state->addr_buf),
|
||||
state->namaddr);
|
||||
msg_info("using backwards-compatible default setting "
|
||||
VAR_SMTPUTF8_ENABLE "=no to accept non-ASCII recipient "
|
||||
"address \"%s\" from %s (" VAR_COMPAT_LEVEL "<1)",
|
||||
STR(state->addr_buf), state->namaddr);
|
||||
}
|
||||
if (SMTPD_STAND_ALONE(state) == 0) {
|
||||
const char *verify_sender;
|
||||
|
@ -197,10 +197,11 @@ void rewrite_tree(RWR_CONTEXT *context, TOK822 *tree)
|
||||
&& tok822_find_type(domain, '.') == 0) {
|
||||
if (warn_compat_break_app_dot_mydomain
|
||||
&& (vstringval = domain->next->vstr) != 0)
|
||||
msg_info("using legacy default setting " VAR_APP_DOT_MYDOMAIN
|
||||
"=yes to rewrite \"%s\" to \"%s.%s\" (" VAR_COMPAT_LEVEL
|
||||
" < 1)", vstring_str(vstringval),
|
||||
vstring_str(vstringval), var_mydomain);
|
||||
msg_info("using backwards-compatible default setting "
|
||||
VAR_APP_DOT_MYDOMAIN "=yes to rewrite \"%s\" to "
|
||||
"\"%s.%s\" (" VAR_COMPAT_LEVEL " < 1)",
|
||||
vstring_str(vstringval), vstring_str(vstringval),
|
||||
var_mydomain);
|
||||
tok822_sub_append(tree, tok822_alloc('.', (char *) 0));
|
||||
tok822_sub_append(tree, tok822_scan(REW_PARAM_VALUE(context->domain),
|
||||
(TOK822 **) 0));
|
||||
|
Loading…
x
Reference in New Issue
Block a user