From: Wietse Venema
Date: Thu, 4 Oct 2007 05:00:00 +0000 (-0500)
Subject: postfix-2.5-20071004
X-Git-Tag: v2.5.0-RC1~28
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c07e99eddfc58d1efa7eb6ab2e6deecdb7e74f9;p=thirdparty%2Fpostfix.git
postfix-2.5-20071004
---
diff --git a/postfix/HISTORY b/postfix/HISTORY
index 8c7acdf96..1fd2f8758 100644
--- a/postfix/HISTORY
+++ b/postfix/HISTORY
@@ -13712,3 +13712,47 @@ Apologies for any names omitted.
unparsable canonical name caused the SMTPD policy client
to allocate zero-length memory, triggering an assertion
that it shouldn't do such things. File: smtpd/smtpd_check.c.
+
+20070912
+
+ Bugfix (introduced Postfix 2.4) missing initialization of
+ event mask in the event_mask_drain() routine (used by the
+ obsolete postkick(1) command). Found by Coverity. File:
+ util/events.c.
+
+20070917
+
+ Workaround: the flush daemon forces an access time update
+ for the per-destination logfile, to prevent an excessive
+ rate of delivery attempts when the queue file system is
+ mounted with "noatime". File: flush/flush.c.
+
+20070923
+
+ Cleanup: don't complain when a "corrupt" queue file is
+ deleted before it can be saved to the "corrupt" queue.
+ Files: *qmgr/qmgr_active.c.
+
+20071003
+
+ Logging: the Postfix SMTP server now logs the number of
+ bytes received after the DATA command when a connection
+ breaks before mail delivery completes. This may help finding
+ the cause of the problem: packet loss, MTU, or other. File:
+ smtpd/smtpd.c.
+
+20071004
+
+ Logging: all daemons now log the TCP port number of remote
+ SMTP or QMQP clients. The information is overruled with
+ the SMTP XCLIENT command, is propagated through SMTP-based
+ content filters with XFORWARD, and is sent to Milter
+ applications. Files: smtpd/smtpd_peer.c, smtpd/smtpd.c,
+ smtpd/smtpd_proxy.c, smtpd/smtpd_milter.c, qmqpd/qmqpd_peer.c,
+ cleanup/cleanup_milter.c, *qmgr/qmgr_message.c,
+ *qmgr/qmgr_deliver.c, smtp/smtp_proto.c, pipe/pipe.c,
+ global/deliver_request.c, global/deliver_pass.c,
+ proto/XFORWARD_README, proto/XCLIENT_README.
+
+ Feature: per-command delays in smtp-sink. File:
+ smtpstone/smtp-sink.c. Victor Duchovni.
diff --git a/postfix/README_FILES/MILTER_README b/postfix/README_FILES/MILTER_README
index a667ce411..6f0ca58e3 100644
--- a/postfix/README_FILES/MILTER_README
+++ b/postfix/README_FILES/MILTER_README
@@ -7,14 +7,15 @@ IInnttrroodduuccttiioonn
Postfix version 2.3 introduces support for the Sendmail version 8 Milter (mail
filter) protocol. This protocol is used by applications that run outside the
MTA to inspect SMTP events (CONNECT, DISCONNECT), SMTP commands (HELO, MAIL
-FROM, etc.) as well as mail content. All this happens before mail is queued.
+FROM, etc.) as well as mail content (headers and body). All this happens before
+mail is queued.
The reason for adding Milter support to Postfix is that there exists a large
collection of applications, not only to block unwanted mail, but also to verify
-authenticity (examples: Domain keys identified mail, SenderID+SPF and Domain
-keys) or to digitally sign mail (examples: Domain keys identified mail, Domain
-keys). Having yet another Postfix-specific version of all that software is a
-poor use of human and system resources.
+authenticity (examples: DomainKeys Identified Mail (DKIM), SenderID+SPF and
+DomainKeys) or to digitally sign mail (examples: DomainKeys Identified Mail
+(DKIM), DomainKeys). Having yet another Postfix-specific version of all that
+software is a poor use of human and system resources.
Postfix version 2.4 implements all the requests of Sendmail version 8 Milter
protocols up to version 4, including message body replacement (body replacement
@@ -336,6 +337,9 @@ workarounds section below for solutions.
|{client_name} |Always |when lookup or |
| | |verification fails |
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
+ |{client_port} |Always |Client TCP port |
+ | |(Postfix >=2.5) | |
+ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
| | |Client name from reverse |
|{client_ptr} |CONNECT, HELO, MAIL, DATA|lookup, "unknown" when |
| | |lookup fails |
diff --git a/postfix/README_FILES/XCLIENT_README b/postfix/README_FILES/XCLIENT_README
index f9b084eef..d3ca8daac 100644
--- a/postfix/README_FILES/XCLIENT_README
+++ b/postfix/README_FILES/XCLIENT_README
@@ -48,7 +48,7 @@ are in fact case insensitive.
xclient-command = XCLIENT 1*( SP attribute-name"="attribute-value )
- attribute-name = ( NAME | ADDR | PROTO | HELO )
+ attribute-name = ( NAME | ADDR | PORT | PROTO | HELO )
attribute-value = xtext
@@ -63,6 +63,9 @@ are in fact case insensitive.
an IPv6 address prefixed with IPV6:, or [UNAVAILABLE] when the address
information is unavailable. Address information is not enclosed with [].
+ * The PORT attribute specifies the SMTP client TCP port number as a decimal
+ number, or [UNAVAILABLE] when the information is unavailable.
+
* The PROTO attribute specifies either SMTP or ESMTP.
* The HELO attribute specifies an SMTP HELO parameter value, or the value
@@ -81,6 +84,9 @@ Note 3: Postfix implementations prior to version 2.3 do not xtext encode
attribute values. Servers that wish to interoperate with these older
implementations should be prepared to receive unencoded information.
+Note 4: Postfix implementations prior to version 2.5 do not implement the PORT
+attribute.
+
XXCCLLIIEENNTT SSeerrvveerr rreessppoonnssee
Upon receipt of a correctly formatted XCLIENT command, the server resets state
diff --git a/postfix/README_FILES/XFORWARD_README b/postfix/README_FILES/XFORWARD_README
index dd6aa39c2..bd0751273 100644
--- a/postfix/README_FILES/XFORWARD_README
+++ b/postfix/README_FILES/XFORWARD_README
@@ -41,7 +41,7 @@ are in fact case insensitive.
xforward-command = XFORWARD 1*( SP attribute-name"="attribute-value )
- attribute-name = ( NAME | ADDR | PROTO | HELO | SOURCE )
+ attribute-name = ( NAME | ADDR | PORT | PROTO | HELO | SOURCE )
attribute-value = xtext
@@ -54,6 +54,9 @@ are in fact case insensitive.
[UNAVAILABLE] when the information is unavailable. Address information is
not enclosed with []. The address may be a non-IP address.
+ * The PORT attribute specifies an up-stream client TCP port number in
+ decimal, or [UNAVAILABLE] when the information is unavailable.
+
* The PROTO attribute specifies the mail protocol for receiving mail from the
up-stream host. This may be an SMTP or non-SMTP protocol name of up to 64
characters, or [UNAVAILABLE] when the information is unavailable.
diff --git a/postfix/WISHLIST b/postfix/WISHLIST
index 2d41e5cd6..ceb73dee8 100644
--- a/postfix/WISHLIST
+++ b/postfix/WISHLIST
@@ -1,5 +1,12 @@
Wish list:
+ Combine smtpd_peer.c and qmqpd_peer.c into a single function
+ that produces a client context object, and provide attribute
+ print/scan routines that pass these client context objects
+ around. With this, we no longer have to update a multiple
+ pieces of code when a client attribute is added. Ditto for
+ SASL and TLS context.
+
Make TLS_BIO_BUFSIZE run-time adjustable, to future-proof
Postfix for remote connections with MSS > 8 kbytes.
diff --git a/postfix/html/MILTER_README.html b/postfix/html/MILTER_README.html
index 226f62e2e..4236a3bc6 100644
--- a/postfix/html/MILTER_README.html
+++ b/postfix/html/MILTER_README.html
@@ -22,20 +22,20 @@
Postfix version 2.3 introduces support for the Sendmail version
8 Milter (mail filter) protocol. This protocol is used by applications
that run outside the MTA to inspect SMTP events (CONNECT, DISCONNECT),
-SMTP commands (HELO, MAIL FROM, etc.) as well as mail content. All
-this happens before mail is queued.
+SMTP commands (HELO, MAIL FROM, etc.) as well as mail content (headers
+and body). All this happens before mail is queued.
The reason for adding Milter support to Postfix is that there
exists a large collection of applications, not only to block unwanted
mail, but also to verify authenticity (examples: Domain keys
-identified mail, DomainKeys
+Identified Mail (DKIM), SenderID+SPF and
-Domain keys)
+DomainKeys)
or to digitally sign mail (examples: Domain keys
-identified mail, Domain keys).
+href="http://sourceforge.net/projects/dkim-milter/">DomainKeys
+Identified Mail (DKIM), DomainKeys).
Having yet another Postfix-specific version of all that software
is a poor use of human and system resources.
@@ -548,6 +548,9 @@ Connection concurrency for this client
| {client_name} | Always | Client hostname,
"unknown" when lookup or verification fails |
+ | {client_port} | Always (Postfix ≥2.5) |
+ Client TCP port |
+
| {client_ptr} | CONNECT, HELO, MAIL, DATA |
Client name from reverse lookup, "unknown" when lookup fails
|
diff --git a/postfix/html/XCLIENT_README.html b/postfix/html/XCLIENT_README.html
index 09425094e..c66093482 100644
--- a/postfix/html/XCLIENT_README.html
+++ b/postfix/html/XCLIENT_README.html
@@ -77,7 +77,7 @@ names are shown in upper case, they are in fact case insensitive.
xclient-command = XCLIENT 1*( SP attribute-name"="attribute-value )
- attribute-name = ( NAME | ADDR | PROTO | HELO )
+ attribute-name = ( NAME | ADDR | PORT | PROTO | HELO )
attribute-value = xtext
@@ -86,7 +86,7 @@ names are shown in upper case, they are in fact case insensitive.
- -
Attribute values are xtext encoded as per RFC 1891.
+
-
Attribute values are xtext encoded as per RFC 1891.
-
The NAME attribute specifies an SMTP client hostname
@@ -99,6 +99,10 @@ names are shown in upper case, they are in fact case insensitive.
[UNAVAILABLE] when the address information is unavailable.
Address information is not enclosed with [].
+ -
The PORT attribute specifies the SMTP client TCP port
+ number as a decimal number, or [UNAVAILABLE] when the information
+ is unavailable.
+
-
The PROTO attribute specifies either SMTP or ESMTP.
@@ -123,6 +127,9 @@ xtext encode attribute values. Servers that wish to interoperate
with these older implementations should be prepared to receive
unencoded information.
+ Note 4: Postfix implementations prior to version 2.5 do not
+implement the PORT attribute.
+
XCLIENT Server response
Upon receipt of a correctly formatted XCLIENT command, the
@@ -236,7 +243,7 @@ before each MAIL FROM command.
References
Moore, K, "SMTP Service Extension for Delivery Status Notifications",
-RFC 1891, January 1996.
+RFC 1891, January 1996.