2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-03 15:45:24 +00:00

postfix-3.3-20171221

This commit is contained in:
Wietse Venema
2017-12-21 00:00:00 -05:00
committed by Viktor Dukhovni
parent 17d5f8949c
commit 0caa1bf9cc
7 changed files with 103 additions and 61 deletions

View File

@@ -23198,9 +23198,16 @@ Apologies for any names omitted.
20171218 20171218
Workaround: reportedly, FreeBSD 11.1 res_query(3) can return Workaround: reportedly, some res_query(3) implementation
-1 while h_errno==0. The DNS client now logs a warning and can return -1 with h_errno==0. Instead of terminating with
sets h_errno to TRY_AGAIN. File: dns/dns_lookup.c. a panic, the DNS client now logs a warning and sets h_errno
to TRY_AGAIN. File: dns/dns_lookup.c.
Cleanup: allow XCLIENT before STARTTLS, when TLS is required. Cleanup: allow XCLIENT before STARTTLS, when TLS is required.
File: smtpd/smtpd.c. File: smtpd/smtpd.c.
20171219
Feature: preliminary support to run Postfix in the foreground.
This requires that multi-instance support is disabled.
Files: conf/postfix-script, postfix/postfix.c.

View File

@@ -117,7 +117,7 @@ stop_msg)
echo "Stop postfix" echo "Stop postfix"
;; ;;
start) start|start-fg)
$daemon_directory/master -t 2>/dev/null || { $daemon_directory/master -t 2>/dev/null || {
$FATAL the Postfix mail system is already running $FATAL the Postfix mail system is already running
@@ -135,12 +135,29 @@ start)
$daemon_directory/postfix-script check-warn $daemon_directory/postfix-script check-warn
fi fi
$INFO starting the Postfix mail system $INFO starting the Postfix mail system
case $1 in
start)
# NOTE: wait in foreground process to get the initialization status. # NOTE: wait in foreground process to get the initialization status.
$daemon_directory/master -w || { $daemon_directory/master -w || {
$FATAL "mail system startup failed" $FATAL "mail system startup failed"
exit 1 exit 1
} }
;; ;;
start-fg)
# Foreground start-up is incompatible with multi-instance mode.
# We can't use "exec $daemon_directory/master" here: that would
# break process group management, and "postfix stop" would kill
# too many processes.
case $instances in
"") $daemon_directory/master
;;
*) $FATAL "start-fg does not support multi_instance_directories"
exit 1
;;
esac
;;
esac
;;
drain) drain)

View File

@@ -36,6 +36,11 @@ POSTFIX(1) POSTFIX(1)
<b>start</b> Start the Postfix mail system. This also runs the configuration <b>start</b> Start the Postfix mail system. This also runs the configuration
check described above. check described above.
<b>start-fg</b>
Like <b>start</b>, but keep the master daemon running in the fore-
ground. This requires that multi-instance support is disabled
(i.e. the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> parameter value is empty).
<b>stop</b> Stop the Postfix mail system in an orderly fashion. If possible, <b>stop</b> Stop the Postfix mail system in an orderly fashion. If possible,
running processes are allowed to terminate at their earliest running processes are allowed to terminate at their earliest
convenience. convenience.
@@ -206,8 +211,9 @@ POSTFIX(1) POSTFIX(1)
Other configuration parameters: Other configuration parameters:
<b><a href="postconf.5.html#import_environment">import_environment</a> (see 'postconf -d' output)</b> <b><a href="postconf.5.html#import_environment">import_environment</a> (see 'postconf -d' output)</b>
The list of environment parameters that a Postfix process will The list of environment parameters that a privileged Postfix
import from a non-Postfix parent process. process will import from a non-Postfix parent process, or
name=value environment overrides.
<b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b> <b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
The syslog facility of Postfix logging. The syslog facility of Postfix logging.

View File

@@ -37,6 +37,11 @@ and create missing directories.
.IP \fBstart\fR .IP \fBstart\fR
Start the Postfix mail system. This also runs the configuration Start the Postfix mail system. This also runs the configuration
check described above. check described above.
.IP \fBstart\-fg\fR
Like \fBstart\fR, but keep the master daemon running in the
foreground. This requires that multi\-instance support is
disabled (i.e. the multi_instance_directories parameter
value is empty).
.IP \fBstop\fR .IP \fBstop\fR
Stop the Postfix mail system in an orderly fashion. If Stop the Postfix mail system in an orderly fashion. If
possible, running processes are allowed to terminate at possible, running processes are allowed to terminate at
@@ -187,8 +192,9 @@ The location of the OpenSSL command line program \fBopenssl\fR(1).
.PP .PP
Other configuration parameters: Other configuration parameters:
.IP "\fBimport_environment (see 'postconf -d' output)\fR" .IP "\fBimport_environment (see 'postconf -d' output)\fR"
The list of environment parameters that a Postfix process will The list of environment parameters that a privileged Postfix
import from a non\-Postfix parent process. process will import from a non\-Postfix parent process, or name=value
environment overrides.
.IP "\fBsyslog_facility (mail)\fR" .IP "\fBsyslog_facility (mail)\fR"
The syslog facility of Postfix logging. The syslog facility of Postfix logging.
.IP "\fBsyslog_name (see 'postconf -d' output)\fR" .IP "\fBsyslog_name (see 'postconf -d' output)\fR"

View File

@@ -397,14 +397,14 @@ static int dns_res_search(const char *name, int class, int type,
/* Prepare for returning a null-padded server reply. */ /* Prepare for returning a null-padded server reply. */
memset(answer, 0, anslen); memset(answer, 0, anslen);
len = res_query(name, class, type, answer, anslen); len = res_query(name, class, type, answer, anslen);
/* Begin FreeBSD 11.1 workaround. */ /* Begin API creep workaround. */
if (len < 0 && h_errno == 0) { if (len < 0 && h_errno == 0) {
SET_H_ERRNO(TRY_AGAIN); SET_H_ERRNO(TRY_AGAIN);
msg_warn("res_query(\"%s\", %d, %d, %p, %d) returns %d with h_errno==0" msg_warn("res_query(\"%s\", %d, %d, %p, %d) returns %d with h_errno==0"
" -- setting h_errno=TRY_AGAIN", " -- setting h_errno=TRY_AGAIN",
name, class, type, answer, anslen, len); name, class, type, answer, anslen, len);
} }
/* End FreeBSD 11.1 workaround. */ /* End API creep workaround. */
if (len > 0) { if (len > 0) {
SET_H_ERRNO(0); SET_H_ERRNO(0);
} else if (keep_notfound && NOT_FOUND_H_ERRNO(h_errno)) { } else if (keep_notfound && NOT_FOUND_H_ERRNO(h_errno)) {

View File

@@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no * Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only. * patchlevel; they change the release date only.
*/ */
#define MAIL_RELEASE_DATE "20171218" #define MAIL_RELEASE_DATE "20171221"
#define MAIL_VERSION_NUMBER "3.3" #define MAIL_VERSION_NUMBER "3.3"
#ifdef SNAPSHOT #ifdef SNAPSHOT

View File

@@ -31,6 +31,11 @@
/* .IP \fBstart\fR /* .IP \fBstart\fR
/* Start the Postfix mail system. This also runs the configuration /* Start the Postfix mail system. This also runs the configuration
/* check described above. /* check described above.
/* .IP \fBstart-fg\fR
/* Like \fBstart\fR, but keep the master daemon running in the
/* foreground. This requires that multi-instance support is
/* disabled (i.e. the multi_instance_directories parameter
/* value is empty).
/* .IP \fBstop\fR /* .IP \fBstop\fR
/* Stop the Postfix mail system in an orderly fashion. If /* Stop the Postfix mail system in an orderly fashion. If
/* possible, running processes are allowed to terminate at /* possible, running processes are allowed to terminate at
@@ -177,8 +182,9 @@
/* .PP /* .PP
/* Other configuration parameters: /* Other configuration parameters:
/* .IP "\fBimport_environment (see 'postconf -d' output)\fR" /* .IP "\fBimport_environment (see 'postconf -d' output)\fR"
/* The list of environment parameters that a Postfix process will /* The list of environment parameters that a privileged Postfix
/* import from a non-Postfix parent process. /* process will import from a non-Postfix parent process, or name=value
/* environment overrides.
/* .IP "\fBsyslog_facility (mail)\fR" /* .IP "\fBsyslog_facility (mail)\fR"
/* The syslog facility of Postfix logging. /* The syslog facility of Postfix logging.
/* .IP "\fBsyslog_name (see 'postconf -d' output)\fR" /* .IP "\fBsyslog_name (see 'postconf -d' output)\fR"