Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/ibm-public/postfix/dist Import Postfix version 2.8....
details: https://anonhg.NetBSD.org/src/rev/01f0d9091db0
branches: trunk
changeset: 767804:01f0d9091db0
user: tron <tron%NetBSD.org@localhost>
date: Sun Jul 31 10:01:44 2011 +0000
description:
Import Postfix version 2.8.4. Changes since version 2.8.3:
- Performance: a high load of DSN success notification requests could
slow down the queue manager. Solution: make the trace client
asynchronous, just like the bounce and defer clients.
- The local(8) delivery agent ignored table lookup errors in
mailbox_command_maps, mailbox_transport_maps, fallback_transport_maps
and (while bouncing mail to alias) alias owner lookup.
- Workaround: dbl.spamhaus.org rejects lookups with "No IP queries" even
if the name has an alphanumerical prefix. We play safe, and skip both
RHSBL and RHSWL queries for names ending in a numerical suffix.
- The "sendmail -t" command reported "protocol error" instead of "file
too large", "no space left on device" etc.
- The Postfix Milter client reported a temporary error instead of
"file too large" in three cases.
diffstat:
external/ibm-public/postfix/dist/HISTORY | 51 ++++++++
external/ibm-public/postfix/dist/README_FILES/MULTI_INSTANCE_README | 2 +-
external/ibm-public/postfix/dist/html/MULTI_INSTANCE_README.html | 2 +-
external/ibm-public/postfix/dist/html/smtpd.8.html | 2 +-
external/ibm-public/postfix/dist/mantools/postlink | 2 +-
external/ibm-public/postfix/dist/proto/MULTI_INSTANCE_README.html | 2 +-
external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c | 10 +-
external/ibm-public/postfix/dist/src/global/abounce.c | 32 +++++-
external/ibm-public/postfix/dist/src/global/abounce.h | 3 +-
external/ibm-public/postfix/dist/src/global/mail_version.h | 6 +-
external/ibm-public/postfix/dist/src/local/Makefile.in | 1 +
external/ibm-public/postfix/dist/src/local/bounce_workaround.c | 13 +-
external/ibm-public/postfix/dist/src/local/mailbox.c | 13 ++-
external/ibm-public/postfix/dist/src/local/unknown.c | 7 +-
external/ibm-public/postfix/dist/src/master/master_ent.c | 8 +-
external/ibm-public/postfix/dist/src/milter/milter8.c | 9 +-
external/ibm-public/postfix/dist/src/oqmgr/qmgr_active.c | 57 +++++++--
external/ibm-public/postfix/dist/src/postdrop/postdrop.c | 6 +-
external/ibm-public/postfix/dist/src/qmgr/qmgr_active.c | 57 +++++++--
external/ibm-public/postfix/dist/src/smtpd/Makefile.in | 2 +-
external/ibm-public/postfix/dist/src/smtpd/smtpd_check.c | 18 ++-
external/ibm-public/postfix/dist/src/util/sys_defs.h | 4 +-
22 files changed, 238 insertions(+), 69 deletions(-)
diffs (truncated from 761 to 300 lines):
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/HISTORY
--- a/external/ibm-public/postfix/dist/HISTORY Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/HISTORY Sun Jul 31 10:01:44 2011 +0000
@@ -16583,3 +16583,54 @@
reuse a server SASL handle after authentication failure.
Problem reported by Thomas Jarosch of Intra2net AG. File:
smtpd/smtpd_proto.c.
+
+20110420
+
+ Performance: a high load of DSN success notification requests
+ could slow down the queue manager. Solution: make the trace
+ client asynchronous, just like the bounce and defer clients.
+ Problem reported by Eduardo M. Stelmaszczyk of terra.com.br.
+ Files: global/abounce.[hc], *qmgr/qmgr_active.c (the
+ qmgr_active.c files are identical).
+
+20110418
+
+ Bugfix (introduced Postfix 2.3 and Postfix 2.7): the Milter
+ client reported some "file too large" errors as temporary
+ errors. Problem reported by Michael Tokarev. Files:
+ milter/milter8.c, cleanup/cleanup_milter.c.
+
+20110426
+
+ Bugfix (introduced in Postfix 1.1, duplicated in Postfix
+ 2.3, unrelated mistake in Postfix 2.7): the local(8) delivery
+ agent ignored table lookup errors in mailbox_command_maps,
+ mailbox_transport_maps, fallback_transport_maps and (while
+ bouncing mail to alias) alias owner lookup. Problem reported
+ by William Ono. Files: local/command.c, local/mailbox.c,
+ local/unknown.c, local/bounce_workaround.c.
+
+20110601
+
+ Bugfix (introduced Postfix 2.6 with master_service_disable)
+ loop control error when parsing a malformed master.cf file.
+ Found by Coverity. File: master/master_ent.c.
+
+20110602
+
+ Bugfix (introduced: Postfix 2.7): "sendmail -t" reported
+ "protocol error" after queue file write error. File:
+ postdrop/postdrop.c.
+
+20110614
+
+ Linux kernel version 3 support. Linus Torvalds has reset
+ the counters for reasons not related to changes in code.
+ Files: makedefs, util/sys_defs.h.
+
+20110615
+
+ Workaround: some Spamhaus RHSBL rejects lookups with "No
+ IP queries" even if the name has an alphanumerical prefix.
+ We play safe, and skip both RHSBL and RHSWL queries for
+ names ending in a numerical suffix. File: smtpd/smtpd_check.c.
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/README_FILES/MULTI_INSTANCE_README
--- a/external/ibm-public/postfix/dist/README_FILES/MULTI_INSTANCE_README Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/README_FILES/MULTI_INSTANCE_README Sun Jul 31 10:01:44 2011 +0000
@@ -327,7 +327,7 @@
(MAIL_CONFIG=/etc/postfix-out) of the output instance.
* Lines 1-2: With "authorized_submit_users = root", the superuser can test
- the postix-out instance with "postmulti -i postfix-out -x sendmail -bv
+ the postfix-out instance with "postmulti -i postfix-out -x sendmail -bv
recipient...", but otherwise local submission remains disabled.
* Lines 1-2: With "master_service_disable =", the "inet" listeners are re-
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/html/MULTI_INSTANCE_README.html
--- a/external/ibm-public/postfix/dist/html/MULTI_INSTANCE_README.html Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/html/MULTI_INSTANCE_README.html Sun Jul 31 10:01:44 2011 +0000
@@ -420,7 +420,7 @@
<ul>
<li> <p> Lines 1-2: With "<a href="postconf.5.html#authorized_submit_users">authorized_submit_users</a> = root", the
-superuser can test the postix-out instance with "postmulti -i
+superuser can test the postfix-out instance with "postmulti -i
postfix-out -x sendmail -bv recipient...", but otherwise local
submission remains disabled. </p>
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/html/smtpd.8.html
--- a/external/ibm-public/postfix/dist/html/smtpd.8.html Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/html/smtpd.8.html Sun Jul 31 10:01:44 2011 +0000
@@ -558,7 +558,7 @@
Available in Postfix version 2.8 and later:
- <b><a href="postconf.5.html#tls_preempts_cipherlist">tls_preempt_cipherlist</a> (no)</b>
+ <b><a href="postconf.5.html#tls_preempt_cipherlist">tls_preempt_cipherlist</a> (no)</b>
With SSLv3 and later, use the server's cipher pref-
erence order instead of the client's cipher prefer-
ence order.
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/mantools/postlink
--- a/external/ibm-public/postfix/dist/mantools/postlink Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/mantools/postlink Sun Jul 31 10:01:44 2011 +0000
@@ -681,7 +681,7 @@
s;\btls_null_cipherlist\b;<a href="postconf.5.html#tls_null_cipherlist">$&</a>;g;
s;\btls_eecdh_strong_curve\b;<a href="postconf.5.html#tls_eecdh_strong_curve">$&</a>;g;
s;\btls_eecdh_ultra_curve\b;<a href="postconf.5.html#tls_eecdh_ultra_curve">$&</a>;g;
- s;\btls_preempt_cipherlist\b;<a href="postconf.5.html#tls_preempts_cipherlist">$&</a>;g;
+ s;\btls_preempt_cipherlist\b;<a href="postconf.5.html#tls_preempt_cipherlist">$&</a>;g;
s;\btls_disable_workarounds\b;<a href="postconf.5.html#tls_disable_workarounds">$&</a>;g;
s;\btls_append_default_CA\b;<a href="postconf.5.html#tls_append_default_CA">$&</a>;g;
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/proto/MULTI_INSTANCE_README.html
--- a/external/ibm-public/postfix/dist/proto/MULTI_INSTANCE_README.html Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/proto/MULTI_INSTANCE_README.html Sun Jul 31 10:01:44 2011 +0000
@@ -420,7 +420,7 @@
<ul>
<li> <p> Lines 1-2: With "authorized_submit_users = root", the
-superuser can test the postix-out instance with "postmulti -i
+superuser can test the postfix-out instance with "postmulti -i
postfix-out -x sendmail -bv recipient...", but otherwise local
submission remains disabled. </p>
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c
--- a/external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/cleanup/cleanup_milter.c Sun Jul 31 10:01:44 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: cleanup_milter.c,v 1.1.1.4 2011/03/02 19:32:10 tron Exp $ */
+/* $NetBSD: cleanup_milter.c,v 1.1.1.5 2011/07/31 10:02:32 tron Exp $ */
/*++
/* NAME
@@ -216,6 +216,8 @@
/*#define msg_verbose 2*/
+static void cleanup_milter_set_error(CLEANUP_STATE *, int);
+
#define STR(x) vstring_str(x)
#define LEN(x) VSTRING_LEN(x)
@@ -433,8 +435,7 @@
* later.
*/
if ((new_meta_offset = vstream_fseek(state->dst, (off_t) 0, SEEK_END)) < 0) {
- msg_warn("%s: seek file %s: %m", myname, cleanup_path);
- state->errs |= CLEANUP_STAT_WRITE;
+ cleanup_milter_set_error(state, errno);
return;
}
if (state->filter != 0)
@@ -454,8 +455,7 @@
* value with the location of the new meta record.
*/
if (vstream_fseek(state->dst, state->append_meta_pt_offset, SEEK_SET) < 0) {
- msg_warn("%s: seek file %s: %m", myname, cleanup_path);
- state->errs |= CLEANUP_STAT_WRITE;
+ cleanup_milter_set_error(state, errno);
return;
}
cleanup_out_format(state, REC_TYPE_PTR, REC_TYPE_PTR_FORMAT,
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/src/global/abounce.c
--- a/external/ibm-public/postfix/dist/src/global/abounce.c Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/global/abounce.c Sun Jul 31 10:01:44 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: abounce.c,v 1.1.1.1 2009/06/23 10:08:44 tron Exp $ */
+/* $NetBSD: abounce.c,v 1.1.1.2 2011/07/31 10:02:34 tron Exp $ */
/*++
/* NAME
@@ -69,9 +69,21 @@
/* int dsn_ret;
/* void (*callback)(int status, char *context);
/* char *context;
+/*
+/* void atrace_flush(flags, queue, id, encoding, sender,
+/* dsn_envid, dsn_ret, callback, context)
+/* int flags;
+/* const char *queue;
+/* const char *id;
+/* const char *encoding;
+/* const char *sender;
+/* const char *dsn_envid;
+/* int dsn_ret;
+/* void (*callback)(int status, char *context);
+/* char *context;
/* DESCRIPTION
/* This module implements an asynchronous interface to the
-/* bounce/defer service for submitting sender notifications
+/* bounce/defer/trace service for submitting sender notifications
/* without waiting for completion of the request.
/*
/* abounce_flush() bounces the specified message to
@@ -94,6 +106,10 @@
/* the specified sender, including the defer log that was
/* built with defer_append().
/*
+/* atrace_flush() returns the specified message to the specified
+/* sender, including the message delivery record log that was
+/* built with vtrace_append().
+/*
/* Arguments:
/* .IP flags
/* The bitwise OR of zero or more of the following (specify
@@ -361,3 +377,15 @@
flags, queue, id, encoding, sender, dsn_envid, dsn_ret,
callback, context);
}
+
+/* atrace_flush - asynchronous trace flush */
+
+void atrace_flush(int flags, const char *queue, const char *id,
+ const char *encoding, const char *sender,
+ const char *dsn_envid, int dsn_ret,
+ ABOUNCE_FN callback, char *context)
+{
+ abounce_request(MAIL_CLASS_PRIVATE, var_trace_service, BOUNCE_CMD_TRACE,
+ flags, queue, id, encoding, sender, dsn_envid, dsn_ret,
+ callback, context);
+}
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/src/global/abounce.h
--- a/external/ibm-public/postfix/dist/src/global/abounce.h Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/global/abounce.h Sun Jul 31 10:01:44 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: abounce.h,v 1.1.1.1 2009/06/23 10:08:44 tron Exp $ */
+/* $NetBSD: abounce.h,v 1.1.1.2 2011/07/31 10:02:34 tron Exp $ */
#ifndef _ABOUNCE_H_INCLUDED_
#define _ABOUNCE_H_INCLUDED_
@@ -26,6 +26,7 @@
extern void abounce_flush(int, const char *, const char *, const char *, const char *, const char *, int, ABOUNCE_FN, char *);
extern void adefer_flush(int, const char *, const char *, const char *, const char *, const char *, int, ABOUNCE_FN, char *);
extern void adefer_warn(int, const char *, const char *, const char *, const char *, const char *, int, ABOUNCE_FN, char *);
+extern void atrace_flush(int, const char *, const char *, const char *, const char *, const char *, int, ABOUNCE_FN, char *);
extern void abounce_flush_verp(int, const char *, const char *, const char *, const char *, const char *, int, const char *, ABOUNCE_FN, char *);
extern void adefer_flush_verp(int, const char *, const char *, const char *, const char *, const char *, int, const char *, ABOUNCE_FN, char *);
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/src/global/mail_version.h
--- a/external/ibm-public/postfix/dist/src/global/mail_version.h Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/global/mail_version.h Sun Jul 31 10:01:44 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mail_version.h,v 1.1.1.8 2011/05/11 09:10:58 tron Exp $ */
+/* $NetBSD: mail_version.h,v 1.1.1.9 2011/07/31 10:02:38 tron 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 "20110509"
-#define MAIL_VERSION_NUMBER "2.8.3"
+#define MAIL_RELEASE_DATE "20110706"
+#define MAIL_VERSION_NUMBER "2.8.4"
#ifdef SNAPSHOT
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/src/local/Makefile.in
--- a/external/ibm-public/postfix/dist/src/local/Makefile.in Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/local/Makefile.in Sun Jul 31 10:01:44 2011 +0000
@@ -106,6 +106,7 @@
bounce_workaround.o: ../../include/been_here.h
bounce_workaround.o: ../../include/bounce.h
bounce_workaround.o: ../../include/canon_addr.h
+bounce_workaround.o: ../../include/defer.h
bounce_workaround.o: ../../include/deliver_request.h
bounce_workaround.o: ../../include/delivered_hdr.h
bounce_workaround.o: ../../include/dict.h
diff -r e089c4c750fc -r 01f0d9091db0 external/ibm-public/postfix/dist/src/local/bounce_workaround.c
--- a/external/ibm-public/postfix/dist/src/local/bounce_workaround.c Sun Jul 31 10:00:52 2011 +0000
+++ b/external/ibm-public/postfix/dist/src/local/bounce_workaround.c Sun Jul 31 10:01:44 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: bounce_workaround.c,v 1.1.1.1 2010/06/17 18:06:53 tron Exp $ */
+/* $NetBSD: bounce_workaround.c,v 1.1.1.2 2011/07/31 10:02:41 tron Exp $ */
/*++
/* NAME
@@ -79,6 +79,7 @@
#include <strip_addr.h>
#include <stringops.h>
#include <bounce.h>
+#include <defer.h>
#include <split_addr.h>
#include <canon_addr.h>
@@ -99,6 +100,7 @@
char *stripped_recipient;
char *owner_alias;
const char *owner_expansion;
+ int saved_dict_errno;
#define FIND_OWNER(lhs, rhs, addr) { \
lhs = concatenate("owner-", addr, (char *) 0); \
@@ -106,8 +108,9 @@
rhs = maps_find(alias_maps, lhs, DICT_FLAG_NONE); \
}
+ dict_errno = 0;
FIND_OWNER(owner_alias, owner_expansion, state.msg_attr.rcpt.address);
- if (owner_expansion == 0
+ if ((saved_dict_errno = dict_errno) == 0 && owner_expansion == 0
&& (stripped_recipient = strip_addr(state.msg_attr.rcpt.address,
(char **) 0,
*var_rcpt_delim)) != 0) {
@@ -115,13 +118,17 @@
Home |
Main Index |
Thread Index |
Old Index