From aa2fa32ae78b637e1d505170227edaace8754ab0 Mon Sep 17 00:00:00 2001 From: Wietse Venema Date: Fri, 2 Feb 2007 00:00:00 -0500 Subject: [PATCH] postfix-2.4-20070202 --- postfix/html/postkick.1.html | 8 ++++---- postfix/makedefs | 2 +- postfix/src/global/mail_version.h | 2 +- postfix/src/postkick/postkick.c | 13 ++++++++++++- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/postfix/html/postkick.1.html b/postfix/html/postkick.1.html index 67c56befc..42e579581 100644 --- a/postfix/html/postkick.1.html +++ b/postfix/html/postkick.1.html @@ -21,7 +21,7 @@ POSTKICK(1) POSTKICK(1) Options: -c config_dir - Read the main.cf configuration file in the named + Read the main.cf configuration file in the named directory instead of the default configuration directory. @@ -55,14 +55,14 @@ POSTKICK(1) POSTKICK(1) Enable verbose logging for debugging purposes. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant + The following main.cf parameters are especially relevant to this program. The text below provides only a parameter summary. See postconf(5) for more details including exam- ples. config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and - master.cf configuration files. + The default location of the Postfix main.cf and + master.cf configuration files. application_event_drain_time (100s) How long the postkick(1) command waits for a diff --git a/postfix/makedefs b/postfix/makedefs index 31b1c9ead..724bea453 100644 --- a/postfix/makedefs +++ b/postfix/makedefs @@ -266,7 +266,7 @@ case "$SYSTEM.$RELEASE" in 2.[0-3].*) CCARGS="$CCARGS -DNO_IPV6";; esac ;; - GNU.0.*) + GNU.0*|GNU/kFreeBSD.[56]*) SYSTYPE=GNU0 # Postfix no longer needs DB 1.85 compatibility if [ -f /usr/include/db.h ] diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 6cfd84f5e..20e12eb06 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 "20070201" +#define MAIL_RELEASE_DATE "20070202" #define MAIL_VERSION_NUMBER "2.4" #ifdef SNAPSHOT diff --git a/postfix/src/postkick/postkick.c b/postfix/src/postkick/postkick.c index 721e9ac8e..8446f4069 100644 --- a/postfix/src/postkick/postkick.c +++ b/postfix/src/postkick/postkick.c @@ -174,7 +174,18 @@ int main(int argc, char **argv) msg_warn("Cannot contact class %s service %s - perhaps the mail system is down", class, service); exit(1); - } else { + } + + /* + * Problem: With triggers over full duplex (i.e. non-FIFO) channels, we + * must avoid closing the channel before the server has received the + * request. Otherwise some hostile kernel may throw away the request. + * + * Solution: The trigger routine registers a read event handler that runs + * when the server closes the channel. The event_drain() routine waits + * for the event handler to run, but gives up when it takes too long. + */ + else { event_drain(var_event_drain); exit(0); }