Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/gnu/dist/postfix/src postfix-2.2.8
details: https://anonhg.NetBSD.org/src/rev/774a8773263e
branches: trunk
changeset: 586912:774a8773263e
user: rpaulo <rpaulo%NetBSD.org@localhost>
date: Thu Jan 05 02:10:01 2006 +0000
description:
postfix-2.2.8
diffstat:
gnu/dist/postfix/src/anvil/anvil.c | 8 +++++++-
gnu/dist/postfix/src/global/deliver_pass.c | 28 +++++++++++++++++++++-------
gnu/dist/postfix/src/global/mail_version.h | 6 +++---
gnu/dist/postfix/src/lmtp/lmtp.c | 5 +++--
gnu/dist/postfix/src/lmtp/lmtp.h | 3 ++-
gnu/dist/postfix/src/lmtp/lmtp_proto.c | 8 +++++++-
6 files changed, 43 insertions(+), 15 deletions(-)
diffs (171 lines):
diff -r 50da859a3a3d -r 774a8773263e gnu/dist/postfix/src/anvil/anvil.c
--- a/gnu/dist/postfix/src/anvil/anvil.c Thu Jan 05 02:07:29 2006 +0000
+++ b/gnu/dist/postfix/src/anvil/anvil.c Thu Jan 05 02:10:01 2006 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: anvil.c,v 1.1.1.1 2005/08/18 21:07:49 rpaulo Exp $ */
+/* $NetBSD: anvil.c,v 1.1.1.2 2006/01/05 02:10:01 rpaulo Exp $ */
/*++
/* NAME
@@ -808,6 +808,12 @@
* Do not limit the number of client requests.
*/
var_use_limit = 0;
+
+ /*
+ * Don't exit before the sampling interval ends.
+ */
+ if (var_idle_limit < var_anvil_time_unit)
+ var_idle_limit = var_anvil_time_unit;
}
/* anvil_status_dump - log and reset extreme usage */
diff -r 50da859a3a3d -r 774a8773263e gnu/dist/postfix/src/global/deliver_pass.c
--- a/gnu/dist/postfix/src/global/deliver_pass.c Thu Jan 05 02:07:29 2006 +0000
+++ b/gnu/dist/postfix/src/global/deliver_pass.c Thu Jan 05 02:10:01 2006 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: deliver_pass.c,v 1.1.1.6 2005/08/18 21:06:11 rpaulo Exp $ */
+/* $NetBSD: deliver_pass.c,v 1.1.1.7 2006/01/05 02:11:06 rpaulo Exp $ */
/*++
/* NAME
@@ -74,6 +74,9 @@
#include <mail_params.h>
#include <deliver_pass.h>
+#define DELIVER_PASS_DEFER 1
+#define DELIVER_PASS_UNKNOWN 2
+
/* deliver_pass_initial_reply - retrieve initial delivery process response */
static int deliver_pass_initial_reply(VSTREAM *stream)
@@ -143,9 +146,10 @@
ATTR_TYPE_NUM, MAIL_ATTR_STATUS, &stat,
ATTR_TYPE_END) != 2) {
msg_warn("%s: malformed response", VSTREAM_PATH(stream));
- stat = -1;
+ return (DELIVER_PASS_UNKNOWN);
+ } else {
+ return (stat ? DELIVER_PASS_DEFER : 0);
}
- return (stat);
}
/* deliver_pass - deliver one per-site queue entry */
@@ -187,10 +191,20 @@
* XXX Can't pass back hop status info because the problem is with a
* different transport.
*/
- if ((status = deliver_pass_initial_reply(stream)) == 0
- && (status = deliver_pass_send_request(stream, request, nexthop,
- orig_addr, addr, offs)) == 0)
- status = deliver_pass_final_reply(stream, reason);
+ if (deliver_pass_initial_reply(stream) != 0
+ || deliver_pass_send_request(stream, request, nexthop,
+ orig_addr, addr, offs) != 0) {
+ status = defer_append(DEL_REQ_TRACE_FLAGS(request->flags),
+ request->queue_id, orig_addr, addr,
+ offs, "none", request->arrival_time,
+ "mail transport unavailable");
+ } else if ((status = deliver_pass_final_reply(stream, reason))
+ == DELIVER_PASS_UNKNOWN) {
+ status = defer_append(DEL_REQ_TRACE_FLAGS(request->flags),
+ request->queue_id, orig_addr, addr,
+ offs, "none", request->arrival_time,
+ "unknown mail transport error");
+ }
/*
* Clean up.
diff -r 50da859a3a3d -r 774a8773263e gnu/dist/postfix/src/global/mail_version.h
--- a/gnu/dist/postfix/src/global/mail_version.h Thu Jan 05 02:07:29 2006 +0000
+++ b/gnu/dist/postfix/src/global/mail_version.h Thu Jan 05 02:10:01 2006 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mail_version.h,v 1.1.1.19 2005/12/01 21:43:33 rpaulo Exp $ */
+/* $NetBSD: mail_version.h,v 1.1.1.20 2006/01/05 02:11:43 rpaulo Exp $ */
#ifndef _MAIL_VERSION_H_INCLUDED_
#define _MAIL_VERSION_H_INCLUDED_
@@ -22,8 +22,8 @@
* Patches change the patchlevel and the release date. Snapshots change the
* release date only.
*/
-#define MAIL_RELEASE_DATE "20051130"
-#define MAIL_VERSION_NUMBER "2.2.6"
+#define MAIL_RELEASE_DATE "20060103"
+#define MAIL_VERSION_NUMBER "2.2.8"
#define VAR_MAIL_VERSION "mail_version"
#ifdef SNAPSHOT
diff -r 50da859a3a3d -r 774a8773263e gnu/dist/postfix/src/lmtp/lmtp.c
--- a/gnu/dist/postfix/src/lmtp/lmtp.c Thu Jan 05 02:07:29 2006 +0000
+++ b/gnu/dist/postfix/src/lmtp/lmtp.c Thu Jan 05 02:10:01 2006 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lmtp.c,v 1.1.1.9 2005/08/18 21:07:16 rpaulo Exp $ */
+/* $NetBSD: lmtp.c,v 1.1.1.10 2006/01/05 02:12:49 rpaulo Exp $ */
/*++
/* NAME
@@ -367,7 +367,8 @@
* Disconnect if RSET can't be sent over an existing connection.
* Discard transcript and status information for sending RSET.
*/
- else if (lmtp_rset(state) != 0) {
+ else if (lmtp_rset(state) != 0
+ || (state->features & LMTP_FEATURE_RSET_REJECTED) != 0) {
lmtp_chat_reset(state);
state->session = lmtp_session_free(state->session);
#ifdef USE_SASL_AUTH
diff -r 50da859a3a3d -r 774a8773263e gnu/dist/postfix/src/lmtp/lmtp.h
--- a/gnu/dist/postfix/src/lmtp/lmtp.h Thu Jan 05 02:07:29 2006 +0000
+++ b/gnu/dist/postfix/src/lmtp/lmtp.h Thu Jan 05 02:10:01 2006 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lmtp.h,v 1.1.1.6 2005/08/18 21:07:17 rpaulo Exp $ */
+/* $NetBSD: lmtp.h,v 1.1.1.7 2006/01/05 02:12:51 rpaulo Exp $ */
/*++
/* NAME
@@ -68,6 +68,7 @@
#define LMTP_FEATURE_XFORWARD_PROTO (1<<8)
#define LMTP_FEATURE_XFORWARD_HELO (1<<9)
#define LMTP_FEATURE_XFORWARD_DOMAIN (1<<10)
+#define LMTP_FEATURE_RSET_REJECTED (1<<11)
/*
* lmtp.c
diff -r 50da859a3a3d -r 774a8773263e gnu/dist/postfix/src/lmtp/lmtp_proto.c
--- a/gnu/dist/postfix/src/lmtp/lmtp_proto.c Thu Jan 05 02:07:29 2006 +0000
+++ b/gnu/dist/postfix/src/lmtp/lmtp_proto.c Thu Jan 05 02:10:01 2006 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lmtp_proto.c,v 1.1.1.10 2005/08/18 21:07:20 rpaulo Exp $ */
+/* $NetBSD: lmtp_proto.c,v 1.1.1.11 2006/01/05 02:12:56 rpaulo Exp $ */
/*++
/* NAME
@@ -33,6 +33,7 @@
/* accordingly.
/*
/* lmtp_rset() sends a lone RSET command and waits for the response.
+/* In case of a negative reply it sets the CANT_RSET_THIS_SESSION flag.
/*
/* lmtp_quit() sends a lone QUIT command and waits for the response
/* only if waiting for QUIT replies is enabled.
@@ -356,6 +357,9 @@
#define SENDING_MAIL \
(recv_state <= LMTP_STATE_DOT)
+#define CANT_RSET_THIS_SESSION \
+ (state->features |= LMTP_FEATURE_RSET_REJECTED)
+
/*
* Pipelining support requires two loops: one loop for sending and one
* for receiving. Each loop has its own independent state. Most of the
@@ -736,6 +740,8 @@
* Ignore the RSET response.
*/
case LMTP_STATE_RSET:
+ if (resp->code / 100 != 2)
+ CANT_RSET_THIS_SESSION;
recv_state = LMTP_STATE_LAST;
break;
Home |
Main Index |
Thread Index |
Old Index