Prereq: "3.1.0"
diff -cr --new-file /var/tmp/postfix-3.1.0/src/global/mail_version.h ./src/global/mail_version.h
*** /var/tmp/postfix-3.1.0/src/global/mail_version.h 2016-02-24 19:44:51.000000000 -0500
--- ./src/global/mail_version.h 2016-05-15 12:56:21.000000000 -0400
***************
*** 20,27 ****
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
! #define MAIL_RELEASE_DATE "20160224"
! #define MAIL_VERSION_NUMBER "3.1.0"
#ifdef SNAPSHOT
#define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
--- 20,27 ----
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
! #define MAIL_RELEASE_DATE "20160515"
! #define MAIL_VERSION_NUMBER "3.1.1"
#ifdef SNAPSHOT
#define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
diff -cr --new-file /var/tmp/postfix-3.1.0/HISTORY ./HISTORY
*** /var/tmp/postfix-3.1.0/HISTORY 2016-02-15 12:34:05.000000000 -0500
--- ./HISTORY 2016-05-15 13:10:24.000000000 -0400
***************
*** 22186,22188 ****
--- 22186,22218 ----
complicating troubleshooting. The fix is to log additional
context to clarify that this "no match" condition is for
smtpd_log_access_permit_actions. File: smtpd/smtpd_check.c.
+
+ 20160228
+
+ Documentation: typos in postfix-tls-script(1) manpage.
+
+ 20160327
+
+ Documentation: line wrapping in postconf(1) manpage.
+
+ 20160310
+
+ Bugfix (introduced: Postfix 2.6): the Milter SMFIR_CHGFROM
+ (replace sender) request lost the sender_bcc_maps address.
+ Fixed by moving some record keeping to the sender output
+ function. Files: cleanup/cleanup_envelope.c,
+ cleanup/cleanup_addr.c, cleanup/cleanup_milter.c,
+ cleanup/cleanup.h, regression tests.
+
+ 20160410
+
+ Bugfix (introduced: Postfix 2.6): the "bad filetype"
+ header_checks pattern falsely rejected Content-Mumble headers
+ with ``name="example"; x-apple-part-url="example.com"''.
+ Fixed by respecting the ";" separator between content
+ attribute values. Reported by Cedric Knight. File:
+ proto/header_checks.
+
+ 20160515
+
+ Portability: OpenBSD 6.0. Files: makedefs, util/sys_defs.h.
diff -cr --new-file /var/tmp/postfix-3.1.0/conf/header_checks ./conf/header_checks
*** /var/tmp/postfix-3.1.0/conf/header_checks 2016-02-13 20:39:26.000000000 -0500
--- ./conf/header_checks 2016-04-10 18:30:23.000000000 -0400
***************
*** 470,476 ****
# header_checks = pcre:/etc/postfix/header_checks.pcre
#
# /etc/postfix/header_checks.pcre:
! # /^Content-(Disposition|Type).*name\s*=\s*"?(.*(\.|=2E)(
# ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|
# hlp|ht[at]|
# inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws|
--- 470,476 ----
# header_checks = pcre:/etc/postfix/header_checks.pcre
#
# /etc/postfix/header_checks.pcre:
! # /^Content-(Disposition|Type).*name\s*=\s*"?([^;]*(\.|=2E)(
# ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|
# hlp|ht[at]|
# inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws|
diff -cr --new-file /var/tmp/postfix-3.1.0/conf/postfix-tls-script ./conf/postfix-tls-script
*** /var/tmp/postfix-3.1.0/conf/postfix-tls-script 2016-02-24 19:50:58.000000000 -0500
--- ./conf/postfix-tls-script 2016-02-28 08:09:51.000000000 -0500
***************
*** 155,168 ****
# This is typically used as follows:
# .sp
# \fBpostfix tls all-default-client &&
! # postfix tls enable-tls-client\fR
# .IP "\fBall-default-server\fR"
# Exit with status 0 (success) if all SMTP server TLS settings are
# at their default values. Otherwise, exit with a non-zero status.
# This is typically used as follows:
# .sp
# \fBpostfix tls all-default-server &&
! # postfix tls enable-tls-server\fR
# CONFIGURATION PARAMETERS
# .ad
# .fi
--- 155,168 ----
# This is typically used as follows:
# .sp
# \fBpostfix tls all-default-client &&
! # postfix tls enable-client\fR
# .IP "\fBall-default-server\fR"
# Exit with status 0 (success) if all SMTP server TLS settings are
# at their default values. Otherwise, exit with a non-zero status.
# This is typically used as follows:
# .sp
# \fBpostfix tls all-default-server &&
! # postfix tls enable-server\fR
# CONFIGURATION PARAMETERS
# .ad
# .fi
diff -cr --new-file /var/tmp/postfix-3.1.0/html/header_checks.5.html ./html/header_checks.5.html
*** /var/tmp/postfix-3.1.0/html/header_checks.5.html 2016-02-13 20:39:27.000000000 -0500
--- ./html/header_checks.5.html 2016-04-10 18:30:24.000000000 -0400
***************
*** 417,423 ****
header_checks = pcre:/etc/postfix/header_checks.pcre
/etc/postfix/header_checks.pcre:
! /^Content-(Disposition|Type).*name\s*=\s*"?(.*(\.|=2E)(
ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|
hlp|ht[at]|
inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws|
--- 417,423 ----
header_checks = pcre:/etc/postfix/header_checks.pcre
/etc/postfix/header_checks.pcre:
! /^Content-(Disposition|Type).*name\s*=\s*"?([^;]*(\.|=2E)(
ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|
hlp|ht[at]|
inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws|
diff -cr --new-file /var/tmp/postfix-3.1.0/html/postconf.1.html ./html/postconf.1.html
*** /var/tmp/postfix-3.1.0/html/postconf.1.html 2016-02-14 16:33:05.000000000 -0500
--- ./html/postconf.1.html 2016-04-10 18:30:24.000000000 -0400
***************
*** 503,511 ****
/etc/postfix/master.cf, Postfix master daemon configuration
SEE ALSO
! bounce(5), bounce template file format master(5), master.cf
! configuration file syntax postconf(5), main.cf configuration
! file syntax
README FILES
DATABASE_README, Postfix lookup table overview
--- 503,511 ----
/etc/postfix/master.cf, Postfix master daemon configuration
SEE ALSO
! bounce(5), bounce template file format
! master(5), master.cf configuration file syntax
! postconf(5), main.cf configuration file syntax
README FILES
DATABASE_README, Postfix lookup table overview
diff -cr --new-file /var/tmp/postfix-3.1.0/html/postfix-tls.1.html ./html/postfix-tls.1.html
*** /var/tmp/postfix-3.1.0/html/postfix-tls.1.html 2016-02-24 19:51:13.000000000 -0500
--- ./html/postfix-tls.1.html 2016-02-28 08:10:15.000000000 -0500
***************
*** 154,160 ****
This is typically used as follows:
postfix tls all-default-client &&
! postfix tls enable-tls-client
all-default-server
Exit with status 0 (success) if all SMTP server TLS settings are
--- 154,160 ----
This is typically used as follows:
postfix tls all-default-client &&
! postfix tls enable-client
all-default-server
Exit with status 0 (success) if all SMTP server TLS settings are
***************
*** 162,168 ****
This is typically used as follows:
postfix tls all-default-server &&
! postfix tls enable-tls-server
CONFIGURATION PARAMETERS
The "postfix tls subcommand" feature reads or updates the following
--- 162,168 ----
This is typically used as follows:
postfix tls all-default-server &&
! postfix tls enable-server
CONFIGURATION PARAMETERS
The "postfix tls subcommand" feature reads or updates the following
diff -cr --new-file /var/tmp/postfix-3.1.0/html/postscreen.8.html ./html/postscreen.8.html
*** /var/tmp/postfix-3.1.0/html/postscreen.8.html 2015-07-11 20:10:57.000000000 -0400
--- ./html/postscreen.8.html 2016-04-11 17:20:10.000000000 -0400
***************
*** 81,90 ****
The optional "after 220 server greeting" tests involve postscreen(8)'s
built-in SMTP protocol engine. When these tests succeed, postscreen(8)
! adds the client to the temporary whitelist, but it cannot not hand off
! the "live" connection to a Postfix SMTP server process in the middle of
! a session. Instead, postscreen(8) defers attempts to deliver mail with
! a 4XX status, and waits for the client to disconnect. When the client
connects again, postscreen(8) will allow the client to talk to a Post-
fix SMTP server process (provided that the whitelist status has not
expired). postscreen(8) mitigates the impact of this limitation by
--- 81,90 ----
The optional "after 220 server greeting" tests involve postscreen(8)'s
built-in SMTP protocol engine. When these tests succeed, postscreen(8)
! adds the client to the temporary whitelist, but it cannot hand off the
! "live" connection to a Postfix SMTP server process in the middle of a
! session. Instead, postscreen(8) defers attempts to deliver mail with a
! 4XX status, and waits for the client to disconnect. When the client
connects again, postscreen(8) will allow the client to talk to a Post-
fix SMTP server process (provided that the whitelist status has not
expired). postscreen(8) mitigates the impact of this limitation by
diff -cr --new-file /var/tmp/postfix-3.1.0/makedefs ./makedefs
*** /var/tmp/postfix-3.1.0/makedefs 2016-02-21 17:39:45.000000000 -0500
--- ./makedefs 2016-05-15 12:39:11.000000000 -0400
***************
*** 289,294 ****
--- 289,303 ----
: ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
: ${PLUGIN_LD="${CC} -shared"}
;;
+ OpenBSD.6*) SYSTYPE=OPENBSD6
+ : ${CC=cc}
+ : ${SHLIB_SUFFIX=.so.1.0}
+ : ${SHLIB_CFLAGS=-fPIC}
+ : ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'}
+ : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
+ : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
+ : ${PLUGIN_LD="${CC} -shared"}
+ ;;
ekkoBSD.1*) SYSTYPE=EKKOBSD1
;;
NetBSD.1*) SYSTYPE=NETBSD1
diff -cr --new-file /var/tmp/postfix-3.1.0/man/man1/postconf.1 ./man/man1/postconf.1
*** /var/tmp/postfix-3.1.0/man/man1/postconf.1 2016-02-14 16:33:05.000000000 -0500
--- ./man/man1/postconf.1 2016-04-10 18:30:24.000000000 -0400
***************
*** 536,544 ****
.SH "SEE ALSO"
.na
.nf
! bounce(5), bounce template file format master(5), master.cf
! configuration file syntax postconf(5), main.cf configuration
! file syntax
.SH "README FILES"
.na
.nf
--- 536,544 ----
.SH "SEE ALSO"
.na
.nf
! bounce(5), bounce template file format
! master(5), master.cf configuration file syntax
! postconf(5), main.cf configuration file syntax
.SH "README FILES"
.na
.nf
diff -cr --new-file /var/tmp/postfix-3.1.0/man/man1/postfix-tls.1 ./man/man1/postfix-tls.1
*** /var/tmp/postfix-3.1.0/man/man1/postfix-tls.1 2016-02-24 19:51:13.000000000 -0500
--- ./man/man1/postfix-tls.1 2016-02-28 08:10:15.000000000 -0500
***************
*** 161,174 ****
This is typically used as follows:
.sp
\fBpostfix tls all\-default\-client &&
! postfix tls enable\-tls\-client\fR
.IP "\fBall\-default\-server\fR"
Exit with status 0 (success) if all SMTP server TLS settings are
at their default values. Otherwise, exit with a non\-zero status.
This is typically used as follows:
.sp
\fBpostfix tls all\-default\-server &&
! postfix tls enable\-tls\-server\fR
.SH "CONFIGURATION PARAMETERS"
.na
.nf
--- 161,174 ----
This is typically used as follows:
.sp
\fBpostfix tls all\-default\-client &&
! postfix tls enable\-client\fR
.IP "\fBall\-default\-server\fR"
Exit with status 0 (success) if all SMTP server TLS settings are
at their default values. Otherwise, exit with a non\-zero status.
This is typically used as follows:
.sp
\fBpostfix tls all\-default\-server &&
! postfix tls enable\-server\fR
.SH "CONFIGURATION PARAMETERS"
.na
.nf
diff -cr --new-file /var/tmp/postfix-3.1.0/man/man5/header_checks.5 ./man/man5/header_checks.5
*** /var/tmp/postfix-3.1.0/man/man5/header_checks.5 2016-02-13 20:39:26.000000000 -0500
--- ./man/man5/header_checks.5 2016-04-10 18:30:24.000000000 -0400
***************
*** 443,449 ****
header_checks = pcre:/etc/postfix/header_checks.pcre
/etc/postfix/header_checks.pcre:
! /^Content\-(Disposition|Type).*name\es*=\es*"?(.*(\e.|=2E)(
ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|
hlp|ht[at]|
inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws|
--- 443,449 ----
header_checks = pcre:/etc/postfix/header_checks.pcre
/etc/postfix/header_checks.pcre:
! /^Content\-(Disposition|Type).*name\es*=\es*"?([^;]*(\e.|=2E)(
ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|
hlp|ht[at]|
inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws|
diff -cr --new-file /var/tmp/postfix-3.1.0/man/man8/postscreen.8 ./man/man8/postscreen.8
*** /var/tmp/postfix-3.1.0/man/man8/postscreen.8 2015-07-11 20:10:57.000000000 -0400
--- ./man/man8/postscreen.8 2016-04-11 17:20:10.000000000 -0400
***************
*** 93,99 ****
The optional "after 220 server greeting" tests involve
\fBpostscreen\fR(8)'s built\-in SMTP protocol engine. When
these tests succeed, \fBpostscreen\fR(8) adds the client
! to the temporary whitelist, but it cannot not hand off the
"live" connection to a Postfix SMTP server process in the
middle of a session. Instead, \fBpostscreen\fR(8) defers
attempts to deliver mail with a 4XX status, and waits for
--- 93,99 ----
The optional "after 220 server greeting" tests involve
\fBpostscreen\fR(8)'s built\-in SMTP protocol engine. When
these tests succeed, \fBpostscreen\fR(8) adds the client
! to the temporary whitelist, but it cannot hand off the
"live" connection to a Postfix SMTP server process in the
middle of a session. Instead, \fBpostscreen\fR(8) defers
attempts to deliver mail with a 4XX status, and waits for
***************
*** 430,438 ****
.ad
.fi
The Secure Mailer license must be distributed with this software.
! .SH "HISTORY"
! .na
! .nf
.ad
.fi
This service was introduced with Postfix version 2.8.
--- 430,438 ----
.ad
.fi
The Secure Mailer license must be distributed with this software.
! .SH HISTORY
! .ad
! .fi
.ad
.fi
This service was introduced with Postfix version 2.8.
diff -cr --new-file /var/tmp/postfix-3.1.0/proto/header_checks ./proto/header_checks
*** /var/tmp/postfix-3.1.0/proto/header_checks 2016-02-13 20:38:56.000000000 -0500
--- ./proto/header_checks 2016-04-10 17:35:42.000000000 -0400
***************
*** 442,448 ****
# header_checks = pcre:/etc/postfix/header_checks.pcre
#
# /etc/postfix/header_checks.pcre:
! # /^Content-(Disposition|Type).*name\es*=\es*"?(.*(\e.|=2E)(
# ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|
# hlp|ht[at]|
# inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws|
--- 442,448 ----
# header_checks = pcre:/etc/postfix/header_checks.pcre
#
# /etc/postfix/header_checks.pcre:
! # /^Content-(Disposition|Type).*name\es*=\es*"?([^;]*(\e.|=2E)(
# ade|adp|asp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|
# hlp|ht[at]|
# inf|ins|isp|jse?|lnk|md[betw]|ms[cipt]|nws|
diff -cr --new-file /var/tmp/postfix-3.1.0/src/cleanup/cleanup.h ./src/cleanup/cleanup.h
*** /var/tmp/postfix-3.1.0/src/cleanup/cleanup.h 2015-12-27 16:30:56.000000000 -0500
--- ./src/cleanup/cleanup.h 2016-03-10 19:14:21.000000000 -0500
***************
*** 290,296 ****
/*
* cleanup_addr.c.
*/
! extern void cleanup_addr_sender(CLEANUP_STATE *, const char *);
extern void cleanup_addr_recipient(CLEANUP_STATE *, const char *);
extern void cleanup_addr_bcc_dsn(CLEANUP_STATE *, const char *, const char *, int);
--- 290,296 ----
/*
* cleanup_addr.c.
*/
! extern off_t cleanup_addr_sender(CLEANUP_STATE *, const char *);
extern void cleanup_addr_recipient(CLEANUP_STATE *, const char *);
extern void cleanup_addr_bcc_dsn(CLEANUP_STATE *, const char *, const char *, int);
diff -cr --new-file /var/tmp/postfix-3.1.0/src/cleanup/cleanup_addr.c ./src/cleanup/cleanup_addr.c
*** /var/tmp/postfix-3.1.0/src/cleanup/cleanup_addr.c 2015-01-27 14:33:29.000000000 -0500
--- ./src/cleanup/cleanup_addr.c 2016-05-12 10:30:16.000000000 -0400
***************
*** 6,12 ****
/* SYNOPSIS
/* #include
/*
! /* void cleanup_addr_sender(state, addr)
/* CLEANUP_STATE *state;
/* const char *addr;
/*
--- 6,12 ----
/* SYNOPSIS
/* #include
/*
! /* off_t cleanup_addr_sender(state, addr)
/* CLEANUP_STATE *state;
/* const char *addr;
/*
***************
*** 29,35 ****
/* sender/recipient auto bcc address generation.
/*
/* cleanup_addr_sender() processes sender envelope information and updates
! /* state->sender.
/*
/* cleanup_addr_recipient() processes recipient envelope information
/* and updates state->recip.
--- 29,36 ----
/* sender/recipient auto bcc address generation.
/*
/* cleanup_addr_sender() processes sender envelope information and updates
! /* state->sender. The result value is the offset of the record that
! /* follows the sender record if milters are enabled, otherwise zero.
/*
/* cleanup_addr_recipient() processes recipient envelope information
/* and updates state->recip.
***************
*** 81,86 ****
--- 82,88 ----
/* Global library. */
#include
+ #include
#include
#include
#include
***************
*** 101,110 ****
/* cleanup_addr_sender - process envelope sender record */
! void cleanup_addr_sender(CLEANUP_STATE *state, const char *buf)
{
VSTRING *clean_addr = vstring_alloc(100);
const char *bcc;
/*
* Note: an unqualified envelope address is for all practical purposes
--- 103,115 ----
/* cleanup_addr_sender - process envelope sender record */
! off_t cleanup_addr_sender(CLEANUP_STATE *state, const char *buf)
{
+ const char myname[] = "cleanup_addr_sender";
VSTRING *clean_addr = vstring_alloc(100);
+ off_t after_sender_offs = 0;
const char *bcc;
+ size_t len;
/*
* Note: an unqualified envelope address is for all practical purposes
***************
*** 148,153 ****
--- 153,167 ----
if (state->sender) /* XXX Can't happen */
myfree(state->sender);
state->sender = mystrdup(STR(clean_addr)); /* Used by Milter client */
+ /* Fix 20160310: Moved from cleanup_envelope.c. */
+ if (state->milters || cleanup_milters) {
+ /* Make room to replace sender. */
+ if ((len = LEN(clean_addr)) < REC_TYPE_PTR_PAYL_SIZE)
+ rec_pad(state->dst, REC_TYPE_PTR, REC_TYPE_PTR_PAYL_SIZE - len);
+ /* Remember the after-sender record offset. */
+ if ((after_sender_offs = vstream_ftell(state->dst)) < 0)
+ msg_fatal("%s: vstream_ftell %s: %m:", myname, cleanup_path);
+ }
if ((state->flags & CLEANUP_FLAG_BCC_OK)
&& *STR(clean_addr)
&& cleanup_send_bcc_maps) {
***************
*** 162,167 ****
--- 176,182 ----
}
}
vstring_free(clean_addr);
+ return after_sender_offs;
}
/* cleanup_addr_recipient - process envelope recipient */
diff -cr --new-file /var/tmp/postfix-3.1.0/src/cleanup/cleanup_envelope.c ./src/cleanup/cleanup_envelope.c
*** /var/tmp/postfix-3.1.0/src/cleanup/cleanup_envelope.c 2015-12-27 16:30:56.000000000 -0500
--- ./src/cleanup/cleanup_envelope.c 2016-03-11 07:53:40.000000000 -0500
***************
*** 380,385 ****
--- 380,387 ----
return;
}
if (type == REC_TYPE_FROM) {
+ off_t after_sender_offs;
+
/* Allow only one instance. */
if (state->sender != 0) {
msg_warn("%s: message rejected: multiple envelope sender records",
***************
*** 392,405 ****
if ((state->sender_pt_offset = vstream_ftell(state->dst)) < 0)
msg_fatal("%s: vstream_ftell %s: %m:", myname, cleanup_path);
}
! cleanup_addr_sender(state, buf);
if (state->milters || cleanup_milters) {
- /* Make room to replace sender. */
- if ((len = strlen(state->sender)) < REC_TYPE_PTR_PAYL_SIZE)
- rec_pad(state->dst, REC_TYPE_PTR, REC_TYPE_PTR_PAYL_SIZE - len);
/* Remember the after-sender record offset. */
! if ((state->sender_pt_target = vstream_ftell(state->dst)) < 0)
! msg_fatal("%s: vstream_ftell %s: %m:", myname, cleanup_path);
}
if (cleanup_milters != 0
&& state->milters == 0
--- 394,403 ----
if ((state->sender_pt_offset = vstream_ftell(state->dst)) < 0)
msg_fatal("%s: vstream_ftell %s: %m:", myname, cleanup_path);
}
! after_sender_offs = cleanup_addr_sender(state, buf);
if (state->milters || cleanup_milters) {
/* Remember the after-sender record offset. */
! state->sender_pt_target = after_sender_offs;
}
if (cleanup_milters != 0
&& state->milters == 0
diff -cr --new-file /var/tmp/postfix-3.1.0/src/cleanup/cleanup_milter.c ./src/cleanup/cleanup_milter.c
*** /var/tmp/postfix-3.1.0/src/cleanup/cleanup_milter.c 2016-01-23 19:44:54.000000000 -0500
--- ./src/cleanup/cleanup_milter.c 2016-03-11 08:19:08.000000000 -0500
***************
*** 1330,1335 ****
--- 1330,1336 ----
const char *myname = "cleanup_chg_from";
CLEANUP_STATE *state = (CLEANUP_STATE *) context;
off_t new_sender_offset;
+ off_t after_sender_offs;
int addr_count;
TOK822 *tree;
TOK822 *tp;
***************
*** 1393,1402 ****
}
}
tok822_free_tree(tree);
! cleanup_addr_sender(state, STR(int_sender_buf));
vstring_free(int_sender_buf);
cleanup_out_format(state, REC_TYPE_PTR, REC_TYPE_PTR_FORMAT,
(long) state->sender_pt_target);
/*
* Overwrite the original sender record with the pointer to the new
--- 1394,1404 ----
}
}
tok822_free_tree(tree);
! after_sender_offs = cleanup_addr_sender(state, STR(int_sender_buf));
vstring_free(int_sender_buf);
cleanup_out_format(state, REC_TYPE_PTR, REC_TYPE_PTR_FORMAT,
(long) state->sender_pt_target);
+ state->sender_pt_target = after_sender_offs;
/*
* Overwrite the original sender record with the pointer to the new
***************
*** 2562,2567 ****
--- 2564,2583 ----
var_milt_head_checks = mystrdup(argv->argv[1]);
cleanup_milter_header_checks_init(state);
}
+ } else if (strcmp(argv->argv[0], "sender_bcc_maps") == 0) {
+ if (argv->argc != 2) {
+ msg_warn("bad sender_bcc_maps argument count: %ld",
+ (long) argv->argc);
+ } else {
+ if (cleanup_send_bcc_maps)
+ maps_free(cleanup_send_bcc_maps);
+ cleanup_send_bcc_maps =
+ maps_create("sender_bcc_maps", argv->argv[1],
+ DICT_FLAG_LOCK | DICT_FLAG_FOLD_FIX
+ | DICT_FLAG_UTF8_REQUEST);
+ state->flags |= CLEANUP_FLAG_BCC_OK;
+ var_rcpt_delim = "";
+ }
} else {
msg_warn("bad command: %s", argv->argv[0]);
}
diff -cr --new-file /var/tmp/postfix-3.1.0/src/postconf/postconf.c ./src/postconf/postconf.c
*** /var/tmp/postfix-3.1.0/src/postconf/postconf.c 2016-02-14 16:32:54.000000000 -0500
--- ./src/postconf/postconf.c 2016-03-27 14:16:32.000000000 -0400
***************
*** 520,528 ****
/* /etc/postfix/main.cf, Postfix configuration parameters
/* /etc/postfix/master.cf, Postfix master daemon configuration
/* SEE ALSO
! /* bounce(5), bounce template file format master(5), master.cf
! /* configuration file syntax postconf(5), main.cf configuration
! /* file syntax
/* README FILES
/* .ad
/* .fi
--- 520,528 ----
/* /etc/postfix/main.cf, Postfix configuration parameters
/* /etc/postfix/master.cf, Postfix master daemon configuration
/* SEE ALSO
! /* bounce(5), bounce template file format
! /* master(5), master.cf configuration file syntax
! /* postconf(5), main.cf configuration file syntax
/* README FILES
/* .ad
/* .fi
diff -cr --new-file /var/tmp/postfix-3.1.0/src/postscreen/postscreen.c ./src/postscreen/postscreen.c
*** /var/tmp/postfix-3.1.0/src/postscreen/postscreen.c 2015-07-11 20:08:23.000000000 -0400
--- ./src/postscreen/postscreen.c 2016-04-11 08:51:26.000000000 -0400
***************
*** 79,85 ****
/* The optional "after 220 server greeting" tests involve
/* \fBpostscreen\fR(8)'s built-in SMTP protocol engine. When
/* these tests succeed, \fBpostscreen\fR(8) adds the client
! /* to the temporary whitelist, but it cannot not hand off the
/* "live" connection to a Postfix SMTP server process in the
/* middle of a session. Instead, \fBpostscreen\fR(8) defers
/* attempts to deliver mail with a 4XX status, and waits for
--- 79,85 ----
/* The optional "after 220 server greeting" tests involve
/* \fBpostscreen\fR(8)'s built-in SMTP protocol engine. When
/* these tests succeed, \fBpostscreen\fR(8) adds the client
! /* to the temporary whitelist, but it cannot hand off the
/* "live" connection to a Postfix SMTP server process in the
/* middle of a session. Instead, \fBpostscreen\fR(8) defers
/* attempts to deliver mail with a 4XX status, and waits for
diff -cr --new-file /var/tmp/postfix-3.1.0/src/util/sys_defs.h ./src/util/sys_defs.h
*** /var/tmp/postfix-3.1.0/src/util/sys_defs.h 2016-02-06 08:30:39.000000000 -0500
--- ./src/util/sys_defs.h 2016-05-15 12:39:11.000000000 -0400
***************
*** 28,34 ****
|| defined(FREEBSD8) || defined(FREEBSD9) || defined(FREEBSD10) \
|| defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \
|| defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \
! || defined(OPENBSD5) \
|| defined(NETBSD1) || defined(NETBSD2) || defined(NETBSD3) \
|| defined(NETBSD4) || defined(NETBSD5) || defined(NETBSD6) \
|| defined(NETBSD7) \
--- 28,34 ----
|| defined(FREEBSD8) || defined(FREEBSD9) || defined(FREEBSD10) \
|| defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \
|| defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \
! || defined(OPENBSD5) || defined(OPENBSD6) \
|| defined(NETBSD1) || defined(NETBSD2) || defined(NETBSD3) \
|| defined(NETBSD4) || defined(NETBSD5) || defined(NETBSD6) \
|| defined(NETBSD7) \