Prereq: "3.4.4" diff -ur --new-file /var/tmp/postfix-3.4.4/src/global/mail_version.h ./src/global/mail_version.h --- /var/tmp/postfix-3.4.4/src/global/mail_version.h 2019-03-14 19:53:55.000000000 -0400 +++ ./src/global/mail_version.h 2019-03-30 10:38:23.000000000 -0400 @@ -20,8 +20,8 @@ * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ -#define MAIL_RELEASE_DATE "20190314" -#define MAIL_VERSION_NUMBER "3.4.4" +#define MAIL_RELEASE_DATE "20190330" +#define MAIL_VERSION_NUMBER "3.4.5" #ifdef SNAPSHOT #define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE diff -ur --new-file /var/tmp/postfix-3.4.4/HISTORY ./HISTORY --- /var/tmp/postfix-3.4.4/HISTORY 2019-03-14 19:57:12.000000000 -0400 +++ ./HISTORY 2019-03-30 10:33:58.000000000 -0400 @@ -24195,3 +24195,16 @@ does the same with the Postfix 3.4 BDAT command. The latter was reported by Andreas Schulze. File: smtpd/smtpd_check.c. +20190319 + + With message_size_limit=0 (which is NOT DOCUMENTED), BDAT + chunks were always rejected as too large. File: smtpd/smtpd.c + +20190328 + + Bugfix (introduced: Postfix 3.0): LMTP connections over + UNIX-domain sockets were cached but not reused, due to a + cache lookup key mismatch. Therefore, idle cached connections + could exhaust LMTP server resources, resulting in two-second + pauses between email deliveries. This problem was investigated + by Juliana Rodrigueiro. File: smtp/smtp_connect.c. diff -ur --new-file /var/tmp/postfix-3.4.4/html/postconf.5.html ./html/postconf.5.html --- /var/tmp/postfix-3.4.4/html/postconf.5.html 2019-02-10 12:12:57.000000000 -0500 +++ ./html/postconf.5.html 2019-03-24 18:59:02.000000000 -0400 @@ -6241,7 +6241,7 @@ (default: empty)

The name of an optional logfile that is written by the Postfix -postlogd(8) service. A non-empty value selects logging to syslogd(8). +postlogd(8) service. An empty value selects logging to syslogd(8). Specify "/dev/stdout" to select logging to standard output. Stdout logging requires that Postfix is started with "postfix start-fg".

diff -ur --new-file /var/tmp/postfix-3.4.4/man/man5/postconf.5 ./man/man5/postconf.5 --- /var/tmp/postfix-3.4.4/man/man5/postconf.5 2019-02-03 11:58:44.000000000 -0500 +++ ./man/man5/postconf.5 2019-03-24 18:59:03.000000000 -0400 @@ -3750,7 +3750,7 @@ This feature is available in Postfix 2.3 and later. .SH maillog_file (default: empty) The name of an optional logfile that is written by the Postfix -\fBpostlogd\fR(8) service. A non\-empty value selects logging to \fBsyslogd\fR(8). +\fBpostlogd\fR(8) service. An empty value selects logging to \fBsyslogd\fR(8). Specify "/dev/stdout" to select logging to standard output. Stdout logging requires that Postfix is started with "postfix start\-fg". .PP diff -ur --new-file /var/tmp/postfix-3.4.4/proto/postconf.proto ./proto/postconf.proto --- /var/tmp/postfix-3.4.4/proto/postconf.proto 2019-02-03 11:58:37.000000000 -0500 +++ ./proto/postconf.proto 2019-03-21 12:41:06.000000000 -0400 @@ -17550,7 +17550,7 @@ %PARAM maillog_file

The name of an optional logfile that is written by the Postfix -postlogd(8) service. A non-empty value selects logging to syslogd(8). +postlogd(8) service. An empty value selects logging to syslogd(8). Specify "/dev/stdout" to select logging to standard output. Stdout logging requires that Postfix is started with "postfix start-fg".

diff -ur --new-file /var/tmp/postfix-3.4.4/src/smtp/smtp_connect.c ./src/smtp/smtp_connect.c --- /var/tmp/postfix-3.4.4/src/smtp/smtp_connect.c 2018-11-19 19:51:37.000000000 -0500 +++ ./src/smtp/smtp_connect.c 2019-03-28 18:58:04.000000000 -0400 @@ -492,6 +492,8 @@ * the "unix:" prefix. */ smtp_cache_policy(state, path); + if (state->misc_flags & SMTP_MISC_FLAG_CONN_CACHE_MASK) + SET_SCACHE_REQUEST_NEXTHOP(state, path); /* * Here we ensure that the iter->addr member refers to a copy of the @@ -567,6 +569,12 @@ msg_panic("%s: unix-domain destination not final!", myname); smtp_cleanup_session(state); } + + /* + * Cleanup. + */ + if (HAVE_SCACHE_REQUEST_NEXTHOP(state)) + CLEAR_SCACHE_REQUEST_NEXTHOP(state); } /* smtp_scrub_address_list - delete all cached addresses from list */ diff -ur --new-file /var/tmp/postfix-3.4.4/src/smtpd/smtpd.c ./src/smtpd/smtpd.c --- /var/tmp/postfix-3.4.4/src/smtpd/smtpd.c 2019-02-10 17:51:45.000000000 -0500 +++ ./src/smtpd/smtpd.c 2019-03-30 08:05:29.000000000 -0400 @@ -3878,7 +3878,8 @@ } } /* Block too large chunks. */ - if (state->act_size > var_message_limit - chunk_size) { + if (var_message_limit > 0 + && state->act_size > var_message_limit - chunk_size) { state->error_mask |= MAIL_ERROR_POLICY; msg_warn("%s: BDAT request from %s exceeds message size limit", state->queue_id ? state->queue_id : "NOQUEUE",