Module Name: src
Committed By: martin
Date: Tue Jan 27 08:14:03 UTC 2015
Modified Files:
src/doc [netbsd-7]: 3RDPARTY
src/external/ibm-public/postfix/dist [netbsd-7]: HISTORY makedefs
src/external/ibm-public/postfix/dist/src/cleanup [netbsd-7]: cleanup.h
cleanup_message.c cleanup_milter.c cleanup_state.c
src/external/ibm-public/postfix/dist/src/global [netbsd-7]:
mail_version.h
src/external/ibm-public/postfix/dist/src/milter [netbsd-7]: milter.c
milter.h milter8.c
src/external/ibm-public/postfix/dist/src/qmqpd [netbsd-7]: qmqpd.c
src/external/ibm-public/postfix/dist/src/smtpd [netbsd-7]: smtpd.c
smtpd_check.c
Log Message:
Pullup the following, requested by tron in ticket #459:
doc/3RDPARTY 1.1195
external/ibm-public/postfix/dist/HISTORY patch
external/ibm-public/postfix/dist/makedefs patch
external/ibm-public/postfix/dist/src/cleanup/cleanup.h patch
external/ibm-public/postfix/dist/src/cleanup/cleanup_message.c patch
external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c patch
external/ibm-public/postfix/dist/src/cleanup/cleanup_state.c patch
external/ibm-public/postfix/dist/src/global/mail_version.h patch
external/ibm-public/postfix/dist/src/milter/milter.c patch
external/ibm-public/postfix/dist/src/milter/milter.h patch
external/ibm-public/postfix/dist/src/milter/milter8.c patch
external/ibm-public/postfix/dist/src/qmqpd/qmqpd.c patch
external/ibm-public/postfix/dist/src/smtpd/smtpd.c patch
external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c patch
Import Postfix 2.11.3. Changes since version 2.11.1:
- Fix for DMARC implementations based on SPF policy plus DKIM Milter.
The PREPEND access/policy action added headers ABOVE Postfix's own
Received: header, exposing Postfix's own Received: header to Milters
(protocol violation) and hiding the PREPENDed header from Milters.
PREPENDed headers are now added BELOW Postfix's own Received: header
and remain visible to Milters.
- The Postfix SMTP server logged an incorrect client name in reject
messages for check_reverse_client_hostname_access and
check_reverse_client_hostname_{mx,ns}_access. They replied with the
verified client name, instead of the name that was rejected.
- The TLS client logged that an anonymous TLS connection was
"Untrusted", instead of "Anonymous".
- Fix for configurations that prepend message headers with Postfix
access maps, policy servers or Milter applications. Postfix now hides
its own Received: header from Milters and exposes prepended headers
to Milters, regardless of the mechanism used to prepend a header.
This fix reverts a partial solution that was released on October 13,
2014, and replaces it with a complete solution.
To generate a diff of this commit:
cvs rdiff -u -r1.1145.2.6 -r1.1145.2.7 src/doc/3RDPARTY
cvs rdiff -u -r1.1.1.21 -r1.1.1.21.2.1 \
src/external/ibm-public/postfix/dist/HISTORY
cvs rdiff -u -r1.9 -r1.9.2.1 src/external/ibm-public/postfix/dist/makedefs
cvs rdiff -u -r1.6 -r1.6.2.1 \
src/external/ibm-public/postfix/dist/src/cleanup/cleanup.h
cvs rdiff -u -r1.1.1.4 -r1.1.1.4.2.1 \
src/external/ibm-public/postfix/dist/src/cleanup/cleanup_message.c
cvs rdiff -u -r1.1.1.8 -r1.1.1.8.2.1 \
src/external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c
cvs rdiff -u -r1.1.1.3 -r1.1.1.3.2.1 \
src/external/ibm-public/postfix/dist/src/cleanup/cleanup_state.c
cvs rdiff -u -r1.1.1.21 -r1.1.1.21.2.1 \
src/external/ibm-public/postfix/dist/src/global/mail_version.h
cvs rdiff -u -r1.1.1.3 -r1.1.1.3.8.1 \
src/external/ibm-public/postfix/dist/src/milter/milter.c
cvs rdiff -u -r1.1.1.1 -r1.1.1.1.28.1 \
src/external/ibm-public/postfix/dist/src/milter/milter.h
cvs rdiff -u -r1.1.1.7 -r1.1.1.7.2.1 \
src/external/ibm-public/postfix/dist/src/milter/milter8.c
cvs rdiff -u -r1.1.1.4 -r1.1.1.4.4.1 \
src/external/ibm-public/postfix/dist/src/qmqpd/qmqpd.c
cvs rdiff -u -r1.11 -r1.11.2.1 \
src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c
cvs rdiff -u -r1.1.1.9 -r1.1.1.9.2.1 \
src/external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/doc/3RDPARTY
diff -u src/doc/3RDPARTY:1.1145.2.6 src/doc/3RDPARTY:1.1145.2.7
--- src/doc/3RDPARTY:1.1145.2.6 Sun Jan 25 09:11:02 2015
+++ src/doc/3RDPARTY Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-# $NetBSD: 3RDPARTY,v 1.1145.2.6 2015/01/25 09:11:02 martin Exp $
+# $NetBSD: 3RDPARTY,v 1.1145.2.7 2015/01/27 08:14:03 martin Exp $
#
# This file contains a list of the software that has been integrated into
# NetBSD where we are not the primary maintainer.
@@ -1102,8 +1102,8 @@ and more. Vern's ping is gone. We are to
now to do a new import.
Package: Postfix
-Version: 2.11.1
-Current Vers: 2.11.1
+Version: 2.11.3
+Current Vers: 2.11.3
Maintainer: Wietse Venema <[email protected]>
Archive Site: ftp://postfix.cloud9.net/official/
Home Page: http://www.postfix.org/
Index: src/external/ibm-public/postfix/dist/HISTORY
diff -u src/external/ibm-public/postfix/dist/HISTORY:1.1.1.21 src/external/ibm-public/postfix/dist/HISTORY:1.1.1.21.2.1
--- src/external/ibm-public/postfix/dist/HISTORY:1.1.1.21 Sun Jul 6 19:27:35 2014
+++ src/external/ibm-public/postfix/dist/HISTORY Tue Jan 27 08:14:03 2015
@@ -19574,3 +19574,47 @@ Apologies for any names omitted.
reported by Sahil Tandon, predicate error found by Viktor,
redundant connection restore request eliminated by Wietse.
File: smtp/smtp_connect.c.
+
+20140619
+
+ Bugfix (introduced: 2001): qmqpd null pointer bug when it
+ logs a lost connection while not in a mail transaction.
+ Reported by Michal Adamek. File: qmqpd/qmqpd.c.
+
+20140920
+
+ Bugfix (introduced: 20080212): incorrect client name in
+ reject messages from check_reverse_client_hostname_access
+ and check_reverse_client_hostname_{mx,ns}_access. They
+ replied with the verified client name, instead of the name
+ that was rejected. Problem reported by Reindl Harald. File:
+ smtpd/smtpd_check.c.
+
+20141012
+
+ Bugfix (introduced: Postfix 2.3): the PREPEND access/policy
+ action added headers ABOVE Postfix's own Received: header,
+ exposing Postfix's own Received: header to Milters (protocol
+ violation) and hiding the PREPENDed header from Milters.
+ The latter caused problems for DMARC implementations with
+ SPF policy plus DKIM Milter. PREPENDed headers are now
+ added BELOW Postfix's own Received: header and remain visible
+ to Milters. File: smtpd/smtpd.c.
+
+20141014
+
+ Portability: Darwin 11.x needs to link with -lresolv. Viktor
+ Dukhovni. File: makedefs.
+
+20141018
+
+ Bugfix (introduced: Postfix 2.3): when a Milter inserted a
+ header ABOVE Postfix's own Received: header, Postfix would
+ expose its own Received: header to Milters (violating
+ protocol) and hide the Milter-inserted header from Milters
+ (wtf). Files: cleanup/cleanup.h, cleanup/cleanup_message.c,
+ cleanup/cleanup_state.c, milter/milter.[hc], milter/milter8.c.
+
+ Cleanup: revert the workaround that places headers inserted
+ with PREPEND actions or policy requests BELOW Postfix's own
+ Received: message header. File: smtpd/smtpd.c.
Index: src/external/ibm-public/postfix/dist/makedefs
diff -u src/external/ibm-public/postfix/dist/makedefs:1.9 src/external/ibm-public/postfix/dist/makedefs:1.9.2.1
--- src/external/ibm-public/postfix/dist/makedefs:1.9 Sun Jul 6 19:45:50 2014
+++ src/external/ibm-public/postfix/dist/makedefs Tue Jan 27 08:14:03 2015
@@ -491,9 +491,9 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix5
?.*) CCARGS="$CCARGS -DRESOLVE_H_NEEDS_NAMESER8_COMPAT_H";;
*) CCARGS="$CCARGS -DRESOLVE_H_NEEDS_ARPA_NAMESER_COMPAT_H";;
esac
- # Darwin 12.x (MacOS X 10.8.x), maybe earlier, needs libresolv.
+ # Darwin 11.x (MacOS X 10.7.x), maybe earlier, needs libresolv.
case $RELEASE in
- ?.*|1[0-1].*) ;;
+ ?.*|10.*) ;;
*) SYSLIBS="$SYSLIBS -lresolv";;
esac
# kqueue and/or poll are broken in MacOS X 10.5 (Darwin 9).
Index: src/external/ibm-public/postfix/dist/src/cleanup/cleanup.h
diff -u src/external/ibm-public/postfix/dist/src/cleanup/cleanup.h:1.6 src/external/ibm-public/postfix/dist/src/cleanup/cleanup.h:1.6.2.1
--- src/external/ibm-public/postfix/dist/src/cleanup/cleanup.h:1.6 Sun Jul 6 19:45:50 2014
+++ src/external/ibm-public/postfix/dist/src/cleanup/cleanup.h Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: cleanup.h,v 1.6 2014/07/06 19:45:50 tron Exp $ */
+/* $NetBSD: cleanup.h,v 1.6.2.1 2015/01/27 08:14:03 martin Exp $ */
/*++
/* NAME
@@ -63,6 +63,7 @@ typedef struct CLEANUP_STATE {
char *orig_rcpt; /* original recipient address */
char *return_receipt; /* return-receipt address */
char *errors_to; /* errors-to address */
+ ARGV *auto_hdrs; /* MTA's own header(s) */
int flags; /* processing options, status flags */
int qmgr_opts; /* qmgr processing options */
int errs; /* any badness experienced */
Index: src/external/ibm-public/postfix/dist/src/cleanup/cleanup_message.c
diff -u src/external/ibm-public/postfix/dist/src/cleanup/cleanup_message.c:1.1.1.4 src/external/ibm-public/postfix/dist/src/cleanup/cleanup_message.c:1.1.1.4.2.1
--- src/external/ibm-public/postfix/dist/src/cleanup/cleanup_message.c:1.1.1.4 Sun Jul 6 19:27:50 2014
+++ src/external/ibm-public/postfix/dist/src/cleanup/cleanup_message.c Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: cleanup_message.c,v 1.1.1.4 2014/07/06 19:27:50 tron Exp $ */
+/* $NetBSD: cleanup_message.c,v 1.1.1.4.2.1 2015/01/27 08:14:03 martin Exp $ */
/*++
/* NAME
@@ -481,6 +481,10 @@ static void cleanup_header_callback(void
if (hdr_opts && (hdr_opts->flags & HDR_OPT_MIME))
header_class = MIME_HDR_MULTIPART;
+ /* Update the Received: header count before maybe dropping headers below. */
+ if (hdr_opts && hdr_opts->type == HDR_RECEIVED)
+ state->hop_count += 1;
+
if ((state->flags & CLEANUP_FLAG_FILTER)
&& (CHECK(MIME_HDR_PRIMARY, cleanup_header_checks, VAR_HEADER_CHECKS)
|| CHECK(MIME_HDR_MULTIPART, cleanup_mimehdr_checks, VAR_MIMEHDR_CHECKS)
@@ -581,9 +585,13 @@ static void cleanup_header_callback(void
msg_info("%s: message-id=%s", state->queue_id, hdrval);
if (hdr_opts->type == HDR_RESENT_MESSAGE_ID)
msg_info("%s: resent-message-id=%s", state->queue_id, hdrval);
- if (hdr_opts->type == HDR_RECEIVED)
- if (++state->hop_count >= var_hopcount_limit)
+ if (hdr_opts->type == HDR_RECEIVED) {
+ if (state->hop_count >= var_hopcount_limit)
state->errs |= CLEANUP_STAT_HOPS;
+ /* Save our Received: header after maybe updating headers above. */
+ if (state->hop_count == 1)
+ argv_add(state->auto_hdrs, vstring_str(header_buf), ARGV_END);
+ }
if (CLEANUP_OUT_OK(state)) {
if (hdr_opts->flags & HDR_OPT_RR)
state->resent = "Resent-";
Index: src/external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c
diff -u src/external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c:1.1.1.8 src/external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c:1.1.1.8.2.1
--- src/external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c:1.1.1.8 Sun Jul 6 19:27:50 2014
+++ src/external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: cleanup_milter.c,v 1.1.1.8 2014/07/06 19:27:50 tron Exp $ */
+/* $NetBSD: cleanup_milter.c,v 1.1.1.8.2.1 2015/01/27 08:14:03 martin Exp $ */
/*++
/* NAME
@@ -2022,7 +2022,7 @@ void cleanup_milter_inspect(CLEANUP_S
* filter library.
*/
if ((resp = milter_message(milters, state->handle->stream,
- state->data_offset)) != 0)
+ state->data_offset, state->auto_hdrs)) != 0)
cleanup_milter_apply(state, "END-OF-MESSAGE", resp);
/*
Index: src/external/ibm-public/postfix/dist/src/cleanup/cleanup_state.c
diff -u src/external/ibm-public/postfix/dist/src/cleanup/cleanup_state.c:1.1.1.3 src/external/ibm-public/postfix/dist/src/cleanup/cleanup_state.c:1.1.1.3.2.1
--- src/external/ibm-public/postfix/dist/src/cleanup/cleanup_state.c:1.1.1.3 Sun Jul 6 19:27:50 2014
+++ src/external/ibm-public/postfix/dist/src/cleanup/cleanup_state.c Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: cleanup_state.c,v 1.1.1.3 2014/07/06 19:27:50 tron Exp $ */
+/* $NetBSD: cleanup_state.c,v 1.1.1.3.2.1 2015/01/27 08:14:03 martin Exp $ */
/*++
/* NAME
@@ -80,6 +80,7 @@ CLEANUP_STATE *cleanup_state_alloc(VSTRE
state->orig_rcpt = 0;
state->return_receipt = 0;
state->errors_to = 0;
+ state->auto_hdrs = argv_alloc(1);
state->flags = 0;
state->qmgr_opts = 0;
state->errs = 0;
@@ -153,6 +154,7 @@ void cleanup_state_free(CLEANUP_STATE
myfree(state->return_receipt);
if (state->errors_to)
myfree(state->errors_to);
+ argv_free(state->auto_hdrs);
if (state->queue_name)
myfree(state->queue_name);
if (state->queue_id)
Index: src/external/ibm-public/postfix/dist/src/global/mail_version.h
diff -u src/external/ibm-public/postfix/dist/src/global/mail_version.h:1.1.1.21 src/external/ibm-public/postfix/dist/src/global/mail_version.h:1.1.1.21.2.1
--- src/external/ibm-public/postfix/dist/src/global/mail_version.h:1.1.1.21 Sun Jul 6 19:27:51 2014
+++ src/external/ibm-public/postfix/dist/src/global/mail_version.h Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: mail_version.h,v 1.1.1.21 2014/07/06 19:27:51 tron Exp $ */
+/* $NetBSD: mail_version.h,v 1.1.1.21.2.1 2015/01/27 08:14:03 martin Exp $ */
#ifndef _MAIL_VERSION_H_INCLUDED_
#define _MAIL_VERSION_H_INCLUDED_
@@ -22,8 +22,8 @@
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
-#define MAIL_RELEASE_DATE "20140507"
-#define MAIL_VERSION_NUMBER "2.11.1"
+#define MAIL_RELEASE_DATE "20141019"
+#define MAIL_VERSION_NUMBER "2.11.3"
#ifdef SNAPSHOT
#define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
Index: src/external/ibm-public/postfix/dist/src/milter/milter.c
diff -u src/external/ibm-public/postfix/dist/src/milter/milter.c:1.1.1.3 src/external/ibm-public/postfix/dist/src/milter/milter.c:1.1.1.3.8.1
--- src/external/ibm-public/postfix/dist/src/milter/milter.c:1.1.1.3 Wed Jan 2 18:59:01 2013
+++ src/external/ibm-public/postfix/dist/src/milter/milter.c Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: milter.c,v 1.1.1.3 2013/01/02 18:59:01 tron Exp $ */
+/* $NetBSD: milter.c,v 1.1.1.3.8.1 2015/01/27 08:14:03 martin Exp $ */
/*++
/* NAME
@@ -87,10 +87,11 @@
/* const char *milter_other_event(milters)
/* MILTERS *milters;
/*
-/* const char *milter_message(milters, qfile, data_offset)
+/* const char *milter_message(milters, qfile, data_offset, auto_hdrs)
/* MILTERS *milters;
/* VSTREAM *qfile;
/* off_t data_offset;
+/* ARGV *auto_hdrs;
/*
/* const char *milter_abort(milters)
/* MILTERS *milters;
@@ -483,7 +484,8 @@ const char *milter_other_event(MILTERS *
/* milter_message - inspect message content */
-const char *milter_message(MILTERS *milters, VSTREAM *fp, off_t data_offset)
+const char *milter_message(MILTERS *milters, VSTREAM *fp, off_t data_offset,
+ ARGV *auto_hdrs)
{
const char *resp;
MILTER *m;
@@ -497,7 +499,8 @@ const char *milter_message(MILTERS *milt
for (resp = 0, m = milters->milter_list; resp == 0 && m != 0; m = m->next) {
any_eoh_macros = MILTER_MACRO_EVAL(global_eoh_macros, m, milters, eoh_macros);
any_eod_macros = MILTER_MACRO_EVAL(global_eod_macros, m, milters, eod_macros);
- resp = m->message(m, fp, data_offset, any_eoh_macros, any_eod_macros);
+ resp = m->message(m, fp, data_offset, any_eoh_macros, any_eod_macros,
+ auto_hdrs);
if (any_eoh_macros != global_eoh_macros)
argv_free(any_eoh_macros);
if (any_eod_macros != global_eod_macros)
Index: src/external/ibm-public/postfix/dist/src/milter/milter.h
diff -u src/external/ibm-public/postfix/dist/src/milter/milter.h:1.1.1.1 src/external/ibm-public/postfix/dist/src/milter/milter.h:1.1.1.1.28.1
--- src/external/ibm-public/postfix/dist/src/milter/milter.h:1.1.1.1 Tue Jun 23 10:08:49 2009
+++ src/external/ibm-public/postfix/dist/src/milter/milter.h Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: milter.h,v 1.1.1.1 2009/06/23 10:08:49 tron Exp $ */
+/* $NetBSD: milter.h,v 1.1.1.1.28.1 2015/01/27 08:14:03 martin Exp $ */
#ifndef _MILTER_H_INCLUDED_
#define _MILTER_H_INCLUDED_
@@ -42,7 +42,7 @@ typedef struct MILTER {
const char *(*mail_event) (struct MILTER *, const char **, ARGV *);
const char *(*rcpt_event) (struct MILTER *, const char **, ARGV *);
const char *(*data_event) (struct MILTER *, ARGV *);
- const char *(*message) (struct MILTER *, VSTREAM *, off_t, ARGV *, ARGV *);
+ const char *(*message) (struct MILTER *, VSTREAM *, off_t, ARGV *, ARGV *, ARGV *);
const char *(*unknown_event) (struct MILTER *, const char *, ARGV *);
const char *(*other_event) (struct MILTER *);
void (*abort) (struct MILTER *);
@@ -138,7 +138,7 @@ extern const char *milter_helo_event(MIL
extern const char *milter_mail_event(MILTERS *, const char **);
extern const char *milter_rcpt_event(MILTERS *, int, const char **);
extern const char *milter_data_event(MILTERS *);
-extern const char *milter_message(MILTERS *, VSTREAM *, off_t);
+extern const char *milter_message(MILTERS *, VSTREAM *, off_t, ARGV *);
extern const char *milter_unknown_event(MILTERS *, const char *);
extern const char *milter_other_event(MILTERS *);
extern void milter_abort(MILTERS *);
Index: src/external/ibm-public/postfix/dist/src/milter/milter8.c
diff -u src/external/ibm-public/postfix/dist/src/milter/milter8.c:1.1.1.7 src/external/ibm-public/postfix/dist/src/milter/milter8.c:1.1.1.7.2.1
--- src/external/ibm-public/postfix/dist/src/milter/milter8.c:1.1.1.7 Sun Jul 6 19:27:52 2014
+++ src/external/ibm-public/postfix/dist/src/milter/milter8.c Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: milter8.c,v 1.1.1.7 2014/07/06 19:27:52 tron Exp $ */
+/* $NetBSD: milter8.c,v 1.1.1.7.2.1 2015/01/27 08:14:03 martin Exp $ */
/*++
/* NAME
@@ -2287,6 +2287,8 @@ typedef struct {
MILTER8 *milter; /* milter client */
ARGV *eoh_macros; /* end-of-header macros */
ARGV *eod_macros; /* end-of-body macros */
+ ARGV *auto_hdrs; /* auto-generated headers */
+ int auto_done; /* good enough for now */
int first_header; /* first header */
int first_body; /* first body line */
const char *resp; /* milter application response */
@@ -2303,6 +2305,8 @@ static void milter8_header(void *ptr, in
MILTER8 *milter = msg_ctx->milter;
char *cp;
int skip_reply;
+ char **cpp;
+ unsigned done;
/*
* XXX Workaround: mime_state_update() may invoke multiple call-backs
@@ -2331,10 +2335,11 @@ static void milter8_header(void *ptr, in
* XXX Sendmail compatibility. It eats the first space (not tab) after the
* header label and ":".
*/
- if (msg_ctx->first_header) {
- msg_ctx->first_header = 0;
- return;
- }
+ for (cpp = msg_ctx->auto_hdrs->argv, done = 1; *cpp; cpp++, done <<= 1)
+ if ((msg_ctx->auto_done & done) == 0 && strcmp(*cpp, STR(buf)) == 0) {
+ msg_ctx->auto_done |= done;
+ return;
+ }
/*
* Sendmail 8 sends multi-line headers as text separated by newline.
@@ -2509,7 +2514,8 @@ static void milter8_eob(void *ptr)
static const char *milter8_message(MILTER *m, VSTREAM *qfile,
off_t data_offset,
ARGV *eoh_macros,
- ARGV *eod_macros)
+ ARGV *eod_macros,
+ ARGV *auto_hdrs)
{
const char *myname = "milter8_message";
MILTER8 *milter = (MILTER8 *) m;
@@ -2543,6 +2549,8 @@ static const char *milter8_message(MILTE
msg_ctx.milter = milter;
msg_ctx.eoh_macros = eoh_macros;
msg_ctx.eod_macros = eod_macros;
+ msg_ctx.auto_hdrs = auto_hdrs;
+ msg_ctx.auto_done = 0;
msg_ctx.first_header = 1;
msg_ctx.first_body = 1;
msg_ctx.resp = 0;
Index: src/external/ibm-public/postfix/dist/src/qmqpd/qmqpd.c
diff -u src/external/ibm-public/postfix/dist/src/qmqpd/qmqpd.c:1.1.1.4 src/external/ibm-public/postfix/dist/src/qmqpd/qmqpd.c:1.1.1.4.4.1
--- src/external/ibm-public/postfix/dist/src/qmqpd/qmqpd.c:1.1.1.4 Wed Sep 25 19:06:34 2013
+++ src/external/ibm-public/postfix/dist/src/qmqpd/qmqpd.c Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: qmqpd.c,v 1.1.1.4 2013/09/25 19:06:34 tron Exp $ */
+/* $NetBSD: qmqpd.c,v 1.1.1.4.4.1 2015/01/27 08:14:03 martin Exp $ */
/*++
/* NAME
@@ -708,7 +708,8 @@ static void qmqpd_proto(QMQPD_STATE *sta
*/
if (state->reason && state->where)
msg_info("%s: %s: %s while %s",
- state->queue_id, state->namaddr, state->reason, state->where);
+ state->queue_id ? state->queue_id : "NOQUEUE",
+ state->namaddr, state->reason, state->where);
}
/* qmqpd_service - service one client */
Index: src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c
diff -u src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c:1.11 src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c:1.11.2.1
--- src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c:1.11 Sun Jul 6 19:45:50 2014
+++ src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: smtpd.c,v 1.11 2014/07/06 19:45:50 tron Exp $ */
+/* $NetBSD: smtpd.c,v 1.11.2.1 2015/01/27 08:14:03 martin Exp $ */
/*++
/* NAME
@@ -2987,7 +2987,7 @@ static int data_cmd(SMTPD_STATE *state,
}
/*
- * PREPEND message headers.
+ * PREPEND message headers above our own Received: header.
*/
if (state->prepend)
for (cpp = state->prepend->argv; *cpp; cpp++)
@@ -3082,6 +3082,7 @@ static int data_cmd(SMTPD_STATE *state,
"\t(envelope-from %s)", STR(state->buffer));
#endif
}
+
smtpd_chat_reply(state, "354 End data with <CR><LF>.<CR><LF>");
state->where = SMTPD_AFTER_DATA;
Index: src/external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c
diff -u src/external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c:1.1.1.9 src/external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c:1.1.1.9.2.1
--- src/external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c:1.1.1.9 Sun Jul 6 19:27:56 2014
+++ src/external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c Tue Jan 27 08:14:03 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: smtpd_check.c,v 1.1.1.9 2014/07/06 19:27:56 tron Exp $ */
+/* $NetBSD: smtpd_check.c,v 1.1.1.9.2.1 2015/01/27 08:14:03 martin Exp $ */
/*++
/* NAME
@@ -3846,7 +3846,7 @@ static int generic_checks(SMTPD_STATE *s
SMTPD_NAME_CLIENT, def_acl);
} else if (is_map_command(state, name, CHECK_REVERSE_CLIENT_ACL, &cpp)) {
status = check_namadr_access(state, *cpp, state->reverse_name, state->addr,
- FULL, &found, state->namaddr,
+ FULL, &found, state->reverse_name,
SMTPD_NAME_REV_CLIENT, def_acl);
forbid_whitelist(state, name, status, state->reverse_name);
} else if (strcasecmp(name, REJECT_MAPS_RBL) == 0) {
@@ -3929,14 +3929,14 @@ static int generic_checks(SMTPD_STATE *s
} else if (is_map_command(state, name, CHECK_REVERSE_CLIENT_NS_ACL, &cpp)) {
if (strcasecmp(state->reverse_name, "unknown") != 0) {
status = check_server_access(state, *cpp, state->reverse_name,
- T_NS, state->namaddr,
+ T_NS, state->reverse_name,
SMTPD_NAME_REV_CLIENT, def_acl);
forbid_whitelist(state, name, status, state->reverse_name);
}
} else if (is_map_command(state, name, CHECK_REVERSE_CLIENT_MX_ACL, &cpp)) {
if (strcasecmp(state->reverse_name, "unknown") != 0) {
status = check_server_access(state, *cpp, state->reverse_name,
- T_MX, state->namaddr,
+ T_MX, state->reverse_name,
SMTPD_NAME_REV_CLIENT, def_acl);
forbid_whitelist(state, name, status, state->reverse_name);
}