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