From 295accce097a63934622b9dba2e37721a406b7bd Mon Sep 17 00:00:00 2001
From: Wietse Venema
Date: Wed, 3 Sep 2008 00:00:00 -0500
Subject: [PATCH] postfix-2.6-20080903
---
postfix/HISTORY | 8 ++
postfix/html/postconf.5.html | 3 +-
postfix/html/smtp-sink.1.html | 126 +++++++++++++++---------------
postfix/makedefs | 120 ++++++++++++++--------------
postfix/man/man1/smtp-sink.1 | 4 +-
postfix/man/man5/postconf.5 | 2 +
postfix/proto/postconf.proto | 3 +-
postfix/src/global/mail_version.h | 2 +-
8 files changed, 140 insertions(+), 128 deletions(-)
diff --git a/postfix/HISTORY b/postfix/HISTORY
index 243c9e040..fe7540a70 100644
--- a/postfix/HISTORY
+++ b/postfix/HISTORY
@@ -14634,3 +14634,11 @@ Apologies for any names omitted.
implement a denial of service attack on Postfix. Data
confidentiality and integrity are not affected. File:
util/events.c.
+
+20080903
+
+ Don't enable kqueue (which requires poll) support on
+ MacOS X. File: makedefs.
+
+ Cleanup: remove obsolete Rhapsody and MacOS targets from
+ makedefs.
diff --git a/postfix/html/postconf.5.html b/postfix/html/postconf.5.html
index a28054eb0..1f59f68d5 100644
--- a/postfix/html/postconf.5.html
+++ b/postfix/html/postconf.5.html
@@ -6108,7 +6108,8 @@ you really want to match subdomains.
Restrict the use of the permit_mx_backup SMTP access feature to
only domains whose primary MX hosts match the listed networks.
-
+The parameter value syntax is the same as with the mynetworks
+parameter; note, however, that the default value is empty.
diff --git a/postfix/html/smtp-sink.1.html b/postfix/html/smtp-sink.1.html
index 41bddc37d..fbb10a7bf 100644
--- a/postfix/html/smtp-sink.1.html
+++ b/postfix/html/smtp-sink.1.html
@@ -114,28 +114,20 @@ SMTP-SINK(1) SMTP-SINK(1)
descriptors. Excess connections will stay queued in
the TCP/IP stack.
- -n count
- Terminate after count sessions. This is for testing
- purposes.
+ -M count
+ Terminate after receiving count messages.
- -p Do not announce support for ESMTP command pipelin-
+ -n count
+ Terminate after count sessions.
+
+ -p Do not announce support for ESMTP command pipelin-
ing.
- -P Change the server greeting so that it appears to
+ -P Change the server greeting so that it appears to
come through a CISCO PIX system. Implies -e.
-q command,command,...
- Disconnect (without replying) after receiving one
- of the specified commands.
-
- Examples of commands are CONNECT, HELO, EHLO, LHLO,
- MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
- Separate command names by white space or commas,
- and use quotes to protect white space from the
- shell. Command names are case-insensitive.
-
- -Q command,command,...
- Send a 421 reply and disconnect after receiving one
+ Disconnect (without replying) after receiving one
of the specified commands.
Examples of commands are CONNECT, HELO, EHLO, LHLO,
@@ -144,9 +136,9 @@ SMTP-SINK(1) SMTP-SINK(1)
and use quotes to protect white space from the
shell. Command names are case-insensitive.
- -r command,command,...
- Reject the specified commands with a soft (4xx)
- error code. This option implies -p.
+ -Q command,command,...
+ Send a 421 reply and disconnect after receiving one
+ of the specified commands.
Examples of commands are CONNECT, HELO, EHLO, LHLO,
MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
@@ -154,39 +146,49 @@ SMTP-SINK(1) SMTP-SINK(1)
and use quotes to protect white space from the
shell. Command names are case-insensitive.
+ -r command,command,...
+ Reject the specified commands with a soft (4xx)
+ error code. This option implies -p.
+
+ Examples of commands are CONNECT, HELO, EHLO, LHLO,
+ MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
+ Separate command names by white space or commas,
+ and use quotes to protect white space from the
+ shell. Command names are case-insensitive.
+
-R root-directory
- Change the process root directory to the specified
- location. This option requires super-user privi-
+ Change the process root directory to the specified
+ location. This option requires super-user privi-
leges. See also the -u option.
-s command,command,...
Log the named commands to syslogd.
Examples of commands are CONNECT, HELO, EHLO, LHLO,
- MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
- Separate command names by white space or commas,
- and use quotes to protect white space from the
+ MAIL, RCPT, VRFY, DATA, ., RSET, NOOP, and QUIT.
+ Separate command names by white space or commas,
+ and use quotes to protect white space from the
shell. Command names are case-insensitive.
-S start-string
- An optional string that is prepended to each mes-
- sage that is written to a dump file (see the dump
- file format description below). The following C
+ An optional string that is prepended to each mes-
+ sage that is written to a dump file (see the dump
+ file format description below). The following C
escape sequences are supported: \a (bell), \b
- (backslace), \f (formfeed), \n (newline), \r (car-
- riage return), \t (horizontal tab), \v (vertical
- tab), \ddd (up to three octal digits) and \\ (the
+ (backslace), \f (formfeed), \n (newline), \r (car-
+ riage return), \t (horizontal tab), \v (vertical
+ tab), \ddd (up to three octal digits) and \\ (the
backslash character).
-t timeout (default: 100)
Limit the time for receiving a command or sending a
- response. The time limit is specified in seconds.
+ response. The time limit is specified in seconds.
-u username
Switch to the specified user privileges after open-
- ing the network socket and optionally changing the
- process root directory. This option is required
- when the process runs with super-user privileges.
+ ing the network socket and optionally changing the
+ process root directory. This option is required
+ when the process runs with super-user privileges.
See also the -R option.
-v Show the SMTP conversations.
@@ -196,16 +198,16 @@ SMTP-SINK(1) SMTP-SINK(1)
mand.
-W command:delay[:odds]
- Wait delay seconds before responding to command.
- If odds is also specified (a number between 1-99
- inclusive), wait for a random multiple of delay.
- The random multiplier is equal to the number of
+ Wait delay seconds before responding to command.
+ If odds is also specified (a number between 1-99
+ inclusive), wait for a random multiple of delay.
+ The random multiplier is equal to the number of
times the program needs to roll a dice with a range
- of 0..99 inclusive, before the dice produces a
+ of 0..99 inclusive, before the dice produces a
result greater than or equal to odds.
[inet:][host]:port
- Listen on network interface host (default: any
+ Listen on network interface host (default: any
interface) TCP port port. Both host and port may be
specified in numeric or symbolic form.
@@ -213,68 +215,68 @@ SMTP-SINK(1) SMTP-SINK(1)
Listen on the UNIX-domain socket at pathname.
backlog
- The maximum length the queue of pending connec-
+ The maximum length the queue of pending connec-
tions, as defined by the listen(2) system call.
DUMP FILE FORMAT
- Each dumped message contains a sequence of text lines,
- terminated with the newline character. The sequence of
+ Each dumped message contains a sequence of text lines,
+ terminated with the newline character. The sequence of
information is as follows:
o The optional string specified with the -S option.
- o The smtp-sink generated headers as documented
+ o The smtp-sink generated headers as documented
below.
- o The message header and body as received from the
+ o The message header and body as received from the
SMTP client.
o An empty line.
- The format of the smtp-sink generated headers is as fol-
+ The format of the smtp-sink generated headers is as fol-
lows:
X-Client-Addr: text
The client IP address without enclosing []. An IPv6
- address is prefixed with "ipv6:". This record is
+ address is prefixed with "ipv6:". This record is
always present.
X-Client-Proto: text
- The client protocol: SMTP, ESMTP or LMTP. This
+ The client protocol: SMTP, ESMTP or LMTP. This
record is always present.
X-Helo-Args: text
- The arguments of the last HELO or EHLO command
- before this mail delivery transaction. This record
- is present only if the client sent a recognizable
+ The arguments of the last HELO or EHLO command
+ before this mail delivery transaction. This record
+ is present only if the client sent a recognizable
HELO or EHLO command before the DATA command.
X-Mail-Args: text
The arguments of the MAIL command that started this
- mail delivery transaction. This record is present
+ mail delivery transaction. This record is present
exactly once.
X-Rcpt-Args: text
- The arguments of an RCPT command within this mail
- delivery transaction. There is one record for each
- RCPT command, and they are in the order as sent by
+ The arguments of an RCPT command within this mail
+ delivery transaction. There is one record for each
+ RCPT command, and they are in the order as sent by
the client.
Received: text
- A message header for compatibility with mail pro-
- cessing software. This three-line header marks the
- end of the headers provided by smtp-sink, and is
+ A message header for compatibility with mail pro-
+ cessing software. This three-line header marks the
+ end of the headers provided by smtp-sink, and is
formatted as follows:
from helo ([addr])
The HELO or EHLO command argument and client
IP address. If the client did not send HELO
- or EHLO, the client IP address is used
+ or EHLO, the client IP address is used
instead.
by host (smtp-sink) with proto id random;
- The hostname specified with the -h option,
- the client protocol (see X-Client-Proto
+ The hostname specified with the -h option,
+ the client protocol (see X-Client-Proto
above), and the pseudo-random portion of the
per-message capture file name.
@@ -285,7 +287,7 @@ SMTP-SINK(1) SMTP-SINK(1)
smtp-source(1), SMTP/LMTP message generator
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
diff --git a/postfix/makedefs b/postfix/makedefs
index 3b29323a7..9ec17877c 100644
--- a/postfix/makedefs
+++ b/postfix/makedefs
@@ -408,68 +408,64 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543
[1-6].*) CCARGS="$CCARGS -DNO_IPV6";;
*) CCARGS="$CCARGS -DBIND_8_COMPAT -DNO_NETINFO";;
esac
- # Darwin 8.11.1 has kqueue support, but let's play safe
- case $RELEASE in
- [1-8].*) CCARGS="$CCARGS -DNO_KQUEUE";;
- *) trap 'rm -f makedefs.test makedefs.test.[co]' 1 2 3 15
- cat >makedefs.test.c <<'EOF'
-/* Adapted from libevent. */
-
-#include
-#include
-#include
-#include
-#include
-#include
-
-#ifndef EV_SET
-#define EV_SET(kp, id, fi, fl, ffl, da, ud) do { \
- struct kevent *__kp = (kp); \
- __kp->ident = (id); \
- __kp->filter = (fi); \
- __kp->flags = (fl); \
- __kp->fflags = (ffl); \
- __kp->data = (da); \
- __kp->udata = (ud); \
- } while(0)
-#endif
-
-int main(int argc, char **argv)
-{
- int kq;
- struct kevent test_change;
- struct kevent test_result;
-
- if ((kq = kqueue()) < 0) {
- perror("kqueue");
- exit(1);
- }
-#define TEST_FD (-1)
-
- EV_SET(&test_change, TEST_FD, EVFILT_READ, EV_ADD, 0, 0, 0);
- if (kevent(kq,
- &test_change, sizeof(test_change) / sizeof(struct kevent),
- &test_result, sizeof(test_result) / sizeof(struct kevent),
- (struct timespec *) 0) != 1 ||
- test_result.ident != TEST_FD ||
- test_result.flags != EV_ERROR) {
- fprintf(stderr, "Error: kevent reports errors incorrectly\n");
- exit(1);
- }
- exit(0);
-}
-EOF
- $CC -o makedefs.test makedefs.test.c || exit 1
- ./makedefs.test 2>/dev/null ||
- CCARGS="$CCARGS -DNO_KQUEUE"
- rm -f makedefs.test makedefs.test.[co];;
- esac
- ;;
-Rhapsody.5*|"Mac OS".10*)
- SYSTYPE=MACOSX
- # Use the native compiler by default
- : ${CC=cc}
- AWK=gawk
+ # kqueue and/or poll are broken up to and including MacOS X 10.5
+ CCARGS="$CCARGS -DNO_KQUEUE"
+# # Darwin 8.11.1 has kqueue support, but let's play safe
+# case $RELEASE in
+# [1-8].*) CCARGS="$CCARGS -DNO_KQUEUE";;
+# *) trap 'rm -f makedefs.test makedefs.test.[co]' 1 2 3 15
+# cat >makedefs.test.c <<'EOF'
+#/* Adapted from libevent. */
+#
+##include
+##include
+##include
+##include
+##include
+##include
+#
+##ifndef EV_SET
+##define EV_SET(kp, id, fi, fl, ffl, da, ud) do { \
+# struct kevent *__kp = (kp); \
+# __kp->ident = (id); \
+# __kp->filter = (fi); \
+# __kp->flags = (fl); \
+# __kp->fflags = (ffl); \
+# __kp->data = (da); \
+# __kp->udata = (ud); \
+# } while(0)
+##endif
+#
+#int main(int argc, char **argv)
+#{
+# int kq;
+# struct kevent test_change;
+# struct kevent test_result;
+#
+# if ((kq = kqueue()) < 0) {
+# perror("kqueue");
+# exit(1);
+# }
+##define TEST_FD (-1)
+#
+# EV_SET(&test_change, TEST_FD, EVFILT_READ, EV_ADD, 0, 0, 0);
+# if (kevent(kq,
+# &test_change, sizeof(test_change) / sizeof(struct kevent),
+# &test_result, sizeof(test_result) / sizeof(struct kevent),
+# (struct timespec *) 0) != 1 ||
+# test_result.ident != TEST_FD ||
+# test_result.flags != EV_ERROR) {
+# fprintf(stderr, "Error: kevent reports errors incorrectly\n");
+# exit(1);
+# }
+# exit(0);
+#}
+#EOF
+# $CC -o makedefs.test makedefs.test.c || exit 1
+# ./makedefs.test 2>/dev/null ||
+# CCARGS="$CCARGS -DNO_KQUEUE"
+# rm -f makedefs.test makedefs.test.[co];;
+# esac
;;
dcosx.1*) SYSTYPE=DCOSX1
RANLIB=echo
diff --git a/postfix/man/man1/smtp-sink.1 b/postfix/man/man1/smtp-sink.1
index d040ed8f0..8b12ed0c6 100644
--- a/postfix/man/man1/smtp-sink.1
+++ b/postfix/man/man1/smtp-sink.1
@@ -102,8 +102,10 @@ An upper bound on the maximal number of simultaneous
connections that \fBsmtp-sink\fR will handle. This prevents
the process from running out of file descriptors. Excess
connections will stay queued in the TCP/IP stack.
+.IP "\fB-M \fIcount\fR"
+Terminate after receiving \fIcount\fR messages.
.IP "\fB-n \fIcount\fR"
-Terminate after \fIcount\fR sessions. This is for testing purposes.
+Terminate after \fIcount\fR sessions.
.IP \fB-p\fR
Do not announce support for ESMTP command pipelining.
.IP \fB-P\fR
diff --git a/postfix/man/man5/postconf.5 b/postfix/man/man5/postconf.5
index e305c0306..1f47ddb8a 100644
--- a/postfix/man/man5/postconf.5
+++ b/postfix/man/man5/postconf.5
@@ -3409,6 +3409,8 @@ you really want to match subdomains.
.SH permit_mx_backup_networks (default: empty)
Restrict the use of the permit_mx_backup SMTP access feature to
only domains whose primary MX hosts match the listed networks.
+The parameter value syntax is the same as with the mynetworks
+parameter; note, however, that the default value is empty.
.SH pickup_service_name (default: pickup)
The name of the \fBpickup\fR(8) service. This service picks up local mail
submissions from the Postfix maildrop queue.
diff --git a/postfix/proto/postconf.proto b/postfix/proto/postconf.proto
index fd37b623e..c453b095a 100644
--- a/postfix/proto/postconf.proto
+++ b/postfix/proto/postconf.proto
@@ -7281,7 +7281,8 @@ mailing lists.
Restrict the use of the permit_mx_backup SMTP access feature to
only domains whose primary MX hosts match the listed networks.
-
+The parameter value syntax is the same as with the mynetworks
+parameter; note, however, that the default value is empty.
%PARAM pickup_service_name pickup
diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h
index e7fc57ab3..649d7a664 100644
--- a/postfix/src/global/mail_version.h
+++ b/postfix/src/global/mail_version.h
@@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
-#define MAIL_RELEASE_DATE "20080902"
+#define MAIL_RELEASE_DATE "20080903"
#define MAIL_VERSION_NUMBER "2.6"
#ifdef SNAPSHOT