From c902bd55cd03a33f814c86b3f28a189226502a84 Mon Sep 17 00:00:00 2001
From: Wietse Venema
Date: Wed, 14 Apr 2004 00:00:00 -0500
Subject: [PATCH] postfix-2.1-RC3-20040414
---
postfix/AAAREADME | 20 +-
postfix/HISTORY | 29 ++
postfix/Makefile.in | 4 +-
postfix/Makefile.in.snapshot | 4 +-
postfix/Makefile.in.stable | 2 +-
postfix/README_FILES/DB_README | 18 +-
postfix/README_FILES/SCHEDULER_README | 8 +-
postfix/TODO-BEFORE-RELEASE | 4 +-
postfix/conf/access | 5 +-
postfix/conf/aliases | 5 +-
postfix/conf/canonical | 5 +-
postfix/conf/header_checks | 5 +-
postfix/conf/ldap_table | 444 ------------------
postfix/conf/main.cf | 52 +-
postfix/conf/mysql_table | 141 ------
postfix/conf/pgsql_table | 191 --------
postfix/conf/postfix-script | 9 +-
postfix/conf/relocated | 5 +-
postfix/conf/transport | 5 +-
postfix/conf/virtual | 5 +-
postfix/html/DB_README.html | 20 +-
postfix/html/SCHEDULER_README.html | 5 +-
postfix/html/TUNING_README.html | 2 +-
postfix/html/access.5.html | 2 +-
postfix/html/aliases.5.html | 2 +-
postfix/html/anvil.8.html | 2 +-
postfix/html/canonical.5.html | 2 +-
postfix/html/cleanup.8.html | 2 +-
postfix/html/flush.8.html | 2 +-
postfix/html/header_checks.5.html | 2 +-
postfix/html/ldap_table.5.html | 8 +-
postfix/html/lmtp.8.html | 6 +-
postfix/html/mysql_table.5.html | 2 +-
postfix/html/oqmgr.8.html | 2 +-
postfix/html/pgsql_table.5.html | 2 +-
postfix/html/postalias.1.html | 2 +-
postfix/html/postconf.1.html | 2 +-
postfix/html/postfix.1.html | 5 +-
postfix/html/postmap.1.html | 2 +-
postfix/html/postqueue.1.html | 4 +-
postfix/html/qmgr.8.html | 6 +-
postfix/html/qmqpd.8.html | 2 +-
postfix/html/relocated.5.html | 2 +-
postfix/html/smtp.8.html | 6 +-
postfix/html/smtpd.8.html | 2 +-
postfix/html/tcp_table.5.html | 2 +-
postfix/html/transport.5.html | 2 +-
postfix/html/trivial-rewrite.8.html | 2 +-
postfix/html/verify.8.html | 2 +-
postfix/html/virtual.5.html | 2 +-
postfix/html/virtual.8.html | 4 +-
postfix/makedefs | 5 +-
postfix/makedefs.snapshot | 353 ++++++++++++++
postfix/makedefs.stable | 350 ++++++++++++++
postfix/man/man1/postalias.1 | 7 +-
postfix/man/man1/postconf.1 | 7 +-
postfix/man/man1/postfix.1 | 6 +-
postfix/man/man1/postmap.1 | 7 +-
postfix/man/man1/postqueue.1 | 7 +-
postfix/man/man1/sendmail.1 | 3 +-
postfix/man/man5/access.5 | 7 +-
postfix/man/man5/aliases.5 | 7 +-
postfix/man/man5/canonical.5 | 7 +-
postfix/man/man5/cidr_table.5 | 7 +-
postfix/man/man5/header_checks.5 | 7 +-
postfix/man/man5/ldap_table.5 | 7 +-
postfix/man/man5/mysql_table.5 | 7 +-
postfix/man/man5/pcre_table.5 | 7 +-
postfix/man/man5/pgsql_table.5 | 7 +-
postfix/man/man5/regexp_table.5 | 7 +-
postfix/man/man5/relocated.5 | 7 +-
postfix/man/man5/tcp_table.5 | 6 +
postfix/man/man5/transport.5 | 7 +-
postfix/man/man5/virtual.5 | 7 +-
postfix/man/man8/anvil.8 | 7 +-
postfix/man/man8/cleanup.8 | 7 +-
postfix/man/man8/flush.8 | 7 +-
postfix/man/man8/lmtp.8 | 7 +-
postfix/man/man8/oqmgr.8 | 7 +-
postfix/man/man8/qmgr.8 | 7 +-
postfix/man/man8/qmqpd.8 | 7 +-
postfix/man/man8/smtp.8 | 7 +-
postfix/man/man8/smtpd.8 | 7 +-
postfix/man/man8/trivial-rewrite.8 | 7 +-
postfix/man/man8/verify.8 | 7 +-
postfix/man/man8/virtual.8 | 3 +-
postfix/mantools/man2html | 2 +-
postfix/mantools/postlink | 1 +
postfix/postfix-install | 2 +-
postfix/proto/BACKSCATTER_README.html | 4 +-
postfix/proto/DB_README.html | 20 +-
postfix/proto/Makefile.in | 3 +-
postfix/proto/SCHEDULER_README.html | 5 +-
postfix/proto/access | 7 +-
postfix/proto/aliases | 7 +-
postfix/proto/canonical | 9 +-
postfix/proto/cidr_table | 7 +-
postfix/proto/header_checks | 7 +-
postfix/proto/ldap_table | 7 +-
postfix/proto/mysql_table | 7 +-
postfix/proto/pcre_table | 7 +-
postfix/proto/pgsql_table | 7 +-
postfix/proto/regexp_table | 7 +-
postfix/proto/relocated | 9 +-
postfix/proto/tcp_table | 6 +
postfix/proto/transport | 9 +-
postfix/proto/virtual | 9 +-
postfix/src/anvil/anvil.c | 7 +-
postfix/src/bounce/bounce_notify_util.c | 4 +-
postfix/src/bounce/bounce_service.h | 4 +-
postfix/src/cleanup/cleanup.c | 7 +-
postfix/src/flush/flush.c | 7 +-
postfix/src/global/mail_version.h | 4 +-
postfix/src/lmtp/lmtp.c | 7 +-
postfix/src/lmtp/lmtp_proto.c | 23 +-
postfix/src/oqmgr/qmgr.c | 7 +-
postfix/src/postalias/postalias.c | 7 +-
postfix/src/postconf/postconf.c | 7 +-
postfix/src/postdrop/postdrop.c | 4 +-
postfix/src/postfix/postfix.c | 6 +-
postfix/src/postlog/postlog.c | 2 +-
postfix/src/postmap/postmap.c | 7 +-
postfix/src/postqueue/postqueue.c | 7 +-
postfix/src/qmgr/qmgr.c | 7 +-
postfix/src/qmqpd/qmqpd.c | 7 +-
postfix/src/sendmail/sendmail.c | 3 +-
postfix/src/smtp/smtp.c | 7 +-
postfix/src/smtp/smtp_proto.c | 24 +-
postfix/src/smtpd/smtpd.c | 7 +-
postfix/src/smtpd/smtpd_check.c | 3 +-
postfix/src/smtpstone/smtp-source.c | 2 +-
postfix/src/trivial-rewrite/trivial-rewrite.c | 7 +-
postfix/src/util/attr_scan64.c | 2 +
postfix/src/util/sys_defs.h | 8 +
postfix/src/verify/verify.c | 7 +-
postfix/src/virtual/virtual.c | 3 +-
136 files changed, 1321 insertions(+), 1009 deletions(-)
delete mode 100644 postfix/conf/ldap_table
delete mode 100644 postfix/conf/mysql_table
delete mode 100644 postfix/conf/pgsql_table
create mode 100644 postfix/makedefs.snapshot
create mode 100644 postfix/makedefs.stable
diff --git a/postfix/AAAREADME b/postfix/AAAREADME
index 85420af5b..ef5fe0553 100644
--- a/postfix/AAAREADME
+++ b/postfix/AAAREADME
@@ -85,9 +85,9 @@ not yet implement, and how well it works with other software.
The HISTORY file gives a detailed log of changes to the software.
-Point your browser at html/index.html for Postfix documentation,
-for manual pages, and for the unavoidable Postfix FAQ. Expect to
-see updated versions on-line at http://www.postfix.org/
+Point your browser at html/index.html for Postfix documentation
+and for hyperlinked versions of Postfix manual pages. Expect
+to see updated versions on-line at http://www.postfix.org/
Point your MANPATH environment variable at the `man' directory (use
an absolute path) for UNIX-style on-line manual pages. These pages
@@ -109,7 +109,7 @@ Documentation:
Example files:
- conf/ sample configuration files
+ conf/ configuration files, run-time scripts
examples/ chroot environments, virtual domains
Library routines:
@@ -134,20 +134,24 @@ Command-line utilities:
Postfix daemons:
+ src/anvil/ Connection count/rate limiter
src/bounce/ Bounce or defer mail
src/cleanup/ Canonicalize and enqueue mail
src/error/ Trivial error mailer
+ src/lmtp/ LMTP client
src/local/ Local delivery
src/master/ Postfix resident superserver
+ src/oqmgr/ Old queue manager
src/pickup/ Local pickup
src/pipe/ Pipe delivery
src/qmgr/ Queue manager
+ src/qmqpd/ QMQPD server
src/showq/ List Postfix queue status
- src/spawn/ Run any command from a network socket
- src/lmtp/ LMTP client
src/smtp/ SMTP client
src/smtpd/ SMTP server
+ src/spawn/ Run non-Postfix server
src/trivial-rewrite/ Address rewriting and resolving
+ src/verify/ address verification service
src/virtual/ virtual mailbox-only delivery agent
Test programs:
@@ -159,9 +163,9 @@ Miscellaneous:
auxiliary/ Auxiliary software etc.
bin/ Postfix command executables
- conf/ Sample configuration files
+ conf/ Configuration files, run-time scripts
include/ Installed include files
lib/ Installed object libraries
libexec/ Postfix daemon executables
mantools/ Manual page utilities
- proto/ Manual pages for sample configuration files
+ proto/ Documentation source
diff --git a/postfix/HISTORY b/postfix/HISTORY
index c13b59988..718c0452c 100644
--- a/postfix/HISTORY
+++ b/postfix/HISTORY
@@ -9278,12 +9278,41 @@ Apologies for any names omitted.
Cleanup: README file installation is now optional. Files:
postfix-install, conf/postfix-files, conf/post-install.
+20040414
+
+ Cleanup: references to sample-mumble.cf files removed,
+ conf/mumble_table files removed, new commands added to
+ conf/postfix-script.
+
+ Cleanups: function declared in but used as void, missing
+ include file, missing const qualifier, unused variable.
+ Matthias Andree. Files: bounce/bounce_notify_util.c,
+ bounce/bounce_service.h, postlog/postlog.c, smtpd/smtpd_check.c,
+ util/attr_scan64.c.
+
+ Bugfix: more robust version of SIGHUP test of 20040331.
+ Victor Duchovni, Morgan Stanley. File: postdrop/postdrop.c.
+
+ Safety: added NOCLOBBER qualifiers to local variables that
+ might be clobbered by longjmp(). Files: util/sys_defs.h,
+ smtp/smtp_proto.c, lmtp/lmtp_proto.c, smtpd/smtpd_check.c,
+ smtpstone/smtp-source.c.
+
+ Bugfix: sub-level Makefiles no longer turned on the extra
+ compiler warnings. Files: Makefile.in.*, makedefs.*.
+
Open problems:
Low: noise filter: allow smtp(8) to retry immediately if
all MXes return a quick ECONNRESET or 4xx reply during the
initial handshake.
+ Low: add msg_panic() guard to ensure that at least one of
+ DICT_FLAG_TRY1NULL or DICT_FLAG_TRY1NULL is set upon lookup.
+
+ Low: make post-install a "postfix-only script" so it can
+ take data from the environment instead of main.cf.
+
Low: qmgr should truncate trace logfile before attempting
delivery.
diff --git a/postfix/Makefile.in b/postfix/Makefile.in
index fe366ac92..53aa735bc 100644
--- a/postfix/Makefile.in
+++ b/postfix/Makefile.in
@@ -1,6 +1,6 @@
SHELL = /bin/sh
WARN = -Wmissing-prototypes -Wformat
-OPTS = 'CC=$(CC) -DSNAPSHOT'
+OPTS = 'CC=$(CC)'
DIRS = src/util src/global src/dns src/master src/postfix src/smtpstone \
src/sendmail src/error src/pickup src/cleanup src/smtpd src/local \
src/lmtp src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce \
@@ -15,7 +15,7 @@ default: update
makefiles Makefiles:
set -e; for i in $(DIRS); do \
(set -e; echo "[$$i]"; cd $$i; rm -f Makefile; \
- $(MAKE) $(OPTS) -f Makefile.in Makefile MAKELEVEL=) || exit 1; \
+ $(MAKE) -f Makefile.in Makefile MAKELEVEL=) || exit 1; \
done;
rm -f Makefile; (set -e; $(SHELL) makedefs && cat Makefile.in) >Makefile
(echo "# Do not edit -- this file documents how Postfix was built for your machine."; $(SHELL) makedefs) >makedefs.tmp
diff --git a/postfix/Makefile.in.snapshot b/postfix/Makefile.in.snapshot
index fe366ac92..53aa735bc 100644
--- a/postfix/Makefile.in.snapshot
+++ b/postfix/Makefile.in.snapshot
@@ -1,6 +1,6 @@
SHELL = /bin/sh
WARN = -Wmissing-prototypes -Wformat
-OPTS = 'CC=$(CC) -DSNAPSHOT'
+OPTS = 'CC=$(CC)'
DIRS = src/util src/global src/dns src/master src/postfix src/smtpstone \
src/sendmail src/error src/pickup src/cleanup src/smtpd src/local \
src/lmtp src/trivial-rewrite src/qmgr src/oqmgr src/smtp src/bounce \
@@ -15,7 +15,7 @@ default: update
makefiles Makefiles:
set -e; for i in $(DIRS); do \
(set -e; echo "[$$i]"; cd $$i; rm -f Makefile; \
- $(MAKE) $(OPTS) -f Makefile.in Makefile MAKELEVEL=) || exit 1; \
+ $(MAKE) -f Makefile.in Makefile MAKELEVEL=) || exit 1; \
done;
rm -f Makefile; (set -e; $(SHELL) makedefs && cat Makefile.in) >Makefile
(echo "# Do not edit -- this file documents how Postfix was built for your machine."; $(SHELL) makedefs) >makedefs.tmp
diff --git a/postfix/Makefile.in.stable b/postfix/Makefile.in.stable
index 981909ac9..ac70d7ad6 100644
--- a/postfix/Makefile.in.stable
+++ b/postfix/Makefile.in.stable
@@ -15,7 +15,7 @@ default: update
makefiles Makefiles:
set -e; for i in $(DIRS); do \
(set -e; echo "[$$i]"; cd $$i; rm -f Makefile; \
- $(MAKE) $(OPTS) -f Makefile.in Makefile MAKELEVEL=) || exit 1; \
+ $(MAKE) -f Makefile.in Makefile MAKELEVEL=) || exit 1; \
done;
rm -f Makefile; (set -e; $(SHELL) makedefs && cat Makefile.in) >Makefile
(echo "# Do not edit -- this file documents how Postfix was built for your machine."; $(SHELL) makedefs) >makedefs.tmp
diff --git a/postfix/README_FILES/DB_README b/postfix/README_FILES/DB_README
index 7724cc0f0..90db405db 100644
--- a/postfix/README_FILES/DB_README
+++ b/postfix/README_FILES/DB_README
@@ -10,6 +10,8 @@ Postfix database type of "hash" and "btree". The name of a Postfix Berkeley DB
database is the name of the database file without the ".db" suffix. Berkeley DB
databases are maintained with the postmap(1) command.
+Note: Berkeley DB version 4 is not supported by Postfix versions before 2.0.
+
This document describes:
1. How to build Postfix on systems without Berkeley DB library.
@@ -27,10 +29,16 @@ Many commercial UNIXes ship without Berkeley DB support. Examples are Solaris,
HP-UX, IRIX, UNIXWARE. In order to build Postfix with Berkeley DB support you
need to download and install the source code from http://www.sleepycat.com/
-Warning: some Linux system libraries use Berkeley DB. If you compile Postfix
-with a non-default Berkeley DB implementation, then every Postfix program will
-dump core because either the system library or Postfix itself ends up using the
-wrong version.
+Warning: some Linux system libraries use Berkeley DB, as do some third-party
+libraries such as SASL. If you compile Postfix with a different Berkeley DB
+implementation, then every Postfix program will dump core because either the
+system library, SASL library, or Postfix itself ends up using the wrong
+version.
+
+The more recent Berkeley DB versions have a compile-time switch, "--with-
+uniquename", which renames the symbols so that multiple versions of Berkeley DB
+can co-exist in the same application. Although wasteful this may be the only
+way to keep things from falling apart.
To build Postfix after you installed the Berkeley DB from http://
www.sleepycat.com/, use something like:
@@ -63,7 +71,7 @@ To build Postfix on BSD systems with a specific DB version, use a variant of
the following commands:
% make tidy
- % make makefiles CCARGS=-I/usr/include/db2 AUXLIBS=-ldb2
+ % make makefiles CCARGS=-I/usr/include/db3 AUXLIBS=-ldb3
% make
Warning: the file format produced by Berkeley DB version 1 is not compatible
diff --git a/postfix/README_FILES/SCHEDULER_README b/postfix/README_FILES/SCHEDULER_README
index 00e2ced35..c9bf8802f 100644
--- a/postfix/README_FILES/SCHEDULER_README
+++ b/postfix/README_FILES/SCHEDULER_README
@@ -35,14 +35,14 @@ its design.
HHooww tthhee qquueeuuee mmaannaaggeerr sscchheedduulleerr wwoorrkkss
The following text is from Patrik Rak and should be read together with the
-sample-scheduler.cf file
+postconf(5) manual that describes each configuration parameter in detail.
From user's point of view, qmgr and nqmgr are both the same, except for how
next message is chosen when delivery agent becomes available. You already know
that qmgr uses round-robin by destination while nqmgr uses simple FIFO, except
-for some preemptive magic. The [sample-scheduler.cf file] documents all the
-knobs the user can use to control this preemptive magic - there is nothing else
-to the preemption than the quite simple conditions described below.
+for some preemptive magic. The postconf(5) manual documents all the knobs the
+user can use to control this preemptive magic - there is nothing else to the
+preemption than the quite simple conditions described below.
As for programmer-level documentation, this will have to be extracted from all
those emails we have exchanged with Wietse [rats! I hoped that Patrik would do
diff --git a/postfix/TODO-BEFORE-RELEASE b/postfix/TODO-BEFORE-RELEASE
index fce08982a..9a311b8ec 100644
--- a/postfix/TODO-BEFORE-RELEASE
+++ b/postfix/TODO-BEFORE-RELEASE
@@ -23,4 +23,6 @@ SMTPD policy delegation protocol provides a superior mechanism.
find . type f -print | xargs egrep -i 'tcp_table|tcp-based'
-- Change top-level Makefiles, disable -DSNAPSHOT.
+- Change top-level Makefile.stable/snapshot, makedefs.stable/snapshot
+
+- Delete TODO-BEFORE-RELEASE :-)
diff --git a/postfix/conf/access b/postfix/conf/access
index 5603544cc..46a8d2ef1 100644
--- a/postfix/conf/access
+++ b/postfix/conf/access
@@ -280,13 +280,14 @@
# postconf(5), configuration parameters
#
# README FILES
-# Use "postconf readme_directory" to locate this information.
+# Use "postconf readme_directory" or "postconf html_direc-
+# tory" to locate this information.
# DATABASE_README, Postfix lookup table overview
# SMTPD_ACCESS_README, built-in SMTP server access control
# SMTPD_POLICY_README, external policy server
#
# 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/conf/aliases b/postfix/conf/aliases
index eeef48721..a6690b232 100644
--- a/postfix/conf/aliases
+++ b/postfix/conf/aliases
@@ -184,11 +184,12 @@ decode: root
# postconf(5), configuration parameters
#
# README FILES
-# Use "postconf readme_directory" to locate this information.
+# Use "postconf readme_directory" or "postconf html_direc-
+# tory" to locate this information.
# DATABASE_README, Postfix lookup table overview
#
# 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/conf/canonical b/postfix/conf/canonical
index 7eff535e9..ec15f58e0 100644
--- a/postfix/conf/canonical
+++ b/postfix/conf/canonical
@@ -207,12 +207,13 @@
# virtual(5), virtual aliasing
#
# README FILES
-# Use "postconf readme_directory" to locate this information.
+# Use "postconf readme_directory" or "postconf html_direc-
+# tory" to locate this information.
# DATABASE_README, Postfix lookup table overview
# ADDRESS_REWRITING_README, address rewriting guide
#
# 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/conf/header_checks b/postfix/conf/header_checks
index 701c76e53..b6f439d3a 100644
--- a/postfix/conf/header_checks
+++ b/postfix/conf/header_checks
@@ -310,14 +310,15 @@
# RFC 2047, message header encoding for non-ASCII text
#
# README FILES
-# Use "postconf readme_directory" to locate this information.
+# Use "postconf readme_directory" or "postconf html_direc-
+# tory" to locate this information.
# DATABASE_README, Postfix lookup table overview
# CONTENT_INSPECTION_README, Postfix content inspection overview
# BUILTIN_FILTER_README, Postfix built-in content inspection
# BACKSCATTER_README, blocking returned forged mail
#
# 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/conf/ldap_table b/postfix/conf/ldap_table
deleted file mode 100644
index cca59d526..000000000
--- a/postfix/conf/ldap_table
+++ /dev/null
@@ -1,444 +0,0 @@
-# LDAP_TABLE(5) LDAP_TABLE(5)
-#
-# NAME
-# ldap_table - Postfix LDAP client configuration
-#
-# SYNOPSIS
-# postmap -q "string" ldap:/etc/postfix/filename
-#
-# postmap -q - ldap:/etc/postfix/filename Firstname.Lastname mapping.
+# The ADDRESS_REWRITING_README document gives information about
+# address masquerading or other forms of address rewriting including
+# username->Firstname.Lastname mapping.
# ADDRESS REDIRECTION (VIRTUAL DOMAIN)
#
-# Insert text from sample-virtual.cf if you need virtual domain support.
+# The VIRTUAL_README document gives information about the many forms
+# of domain hosting that Postfix supports.
# "USER HAS MOVED" BOUNCE MESSAGES
#
-# Insert text from sample-relocated.cf if you need "user has moved"
-# style bounce messages. Alternatively, you can bounce recipients
-# with an SMTP server access table. See sample-smtpd.cf.
+# See the discussion in the ADDRESS_REWRITING_README document.
# TRANSPORT MAP
#
-# Insert text from sample-transport.cf if you need explicit routing.
+# See the discussion in the ADDRESS_REWRITING_README document.
# ALIAS DATABASE
#
@@ -499,8 +496,8 @@ unknown_local_recipient_reject_code = 550
# JUNK MAIL CONTROLS
#
-# The controls listed here are only a very small subset. See the file
-# sample-smtpd.cf for an elaborate list of anti-UCE controls.
+# The controls listed here are only a very small subset. The file
+# SPTMD_ACCESS_README provides an overview.
# The header_checks parameter specifies an optional table with patterns
# that each logical message header is matched against, including
@@ -519,19 +516,13 @@ unknown_local_recipient_reject_code = 550
# Postfix maintains per-destination logfiles with information about
# deferred mail, so that mail can be flushed quickly with the SMTP
# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
-#
-# By default, Postfix maintains deferred mail logfile information
-# only for destinations that Postfix is willing to relay to (as
-# specified in the relay_domains parameter). For other destinations,
-# Postfix attempts to deliver ALL queued mail after receiving the
-# SMTP "ETRN domain.tld" command, or after execution of "sendmail
-# -qRdomain.tld". This can be slow when a lot of mail is queued.
+# See the ETRN_README document for a detailed description.
#
# The fast_flush_domains parameter controls what destinations are
-# eligible for this "fast ETRN/sendmail -qR" service.
+# eligible for this service. By default, they are all domains that
+# this server is willing to relay mail to.
#
#fast_flush_domains = $relay_domains
-#fast_flush_domains =
# SHOW SOFTWARE VERSION OR NOT
#
@@ -621,11 +612,16 @@ mailq_path =
#
setgid_group =
+# html_directory: The location of the Postfix HTML documentation.
+#
+html_directory =
+
# manpage_directory: The location of the Postfix on-line manual pages.
#
manpage_directory =
# sample_directory: The location of the Postfix sample configuration files.
+# This parameter is obsolete as of Postfix 2.1.
#
sample_directory =
diff --git a/postfix/conf/mysql_table b/postfix/conf/mysql_table
deleted file mode 100644
index 63a0e500a..000000000
--- a/postfix/conf/mysql_table
+++ /dev/null
@@ -1,141 +0,0 @@
-# MYSQL_TABLE(5) MYSQL_TABLE(5)
-#
-# NAME
-# mysql_table - Postfix MySQL client configuration
-#
-# SYNOPSIS
-# postmap -q "string" mysql:/etc/postfix/filename
-#
-# postmap -q - mysql:/etc/postfix/filename postmap(1) command.
+ Note: Berkeley DB version 4 is not supported by Postfix versions
+before 2.0.
+
This document describes:
@@ -51,10 +54,17 @@ are Solaris, HP-UX, IRIX, UNIXWARE. In order to build Postfix with
Berkeley DB support you need to download and install the source
code from http://www.sleepycat.com/
- Warning: some Linux system libraries use Berkeley DB. If you
-compile Postfix with a non-default Berkeley DB implementation, then
-every Postfix program will dump core because either the system
-library or Postfix itself ends up using the wrong version.
+ Warning: some Linux system libraries use Berkeley DB, as do
+some third-party libraries such as SASL. If you compile Postfix
+with a different Berkeley DB implementation, then every Postfix
+program will dump core because either the system library, SASL
+library, or Postfix itself ends up using the wrong version.
+
+The more recent Berkeley DB versions have a compile-time switch,
+"--with-uniquename", which renames the symbols so that multiple
+versions of Berkeley DB can co-exist in the same application.
+Although wasteful this may be the only way to keep things from
+falling apart.
To build Postfix after you installed the Berkeley DB from
http://www.sleepycat.com/, use something like:
@@ -98,7 +108,7 @@ use a variant of the following commands:
% make tidy
-% make makefiles CCARGS=-I/usr/include/db2 AUXLIBS=-ldb2
+% make makefiles CCARGS=-I/usr/include/db3 AUXLIBS=-ldb3
% make
diff --git a/postfix/html/SCHEDULER_README.html b/postfix/html/SCHEDULER_README.html
index 68f4ec904..08b83d761 100644
--- a/postfix/html/SCHEDULER_README.html
+++ b/postfix/html/SCHEDULER_README.html
@@ -59,13 +59,14 @@ unfortunate choices in its design.
How the queue manager scheduler works
The following text is from Patrik Rak and should be read together
-with the sample-scheduler.cf file
+with the postconf(5) manual that describes each configuration
+parameter in detail.
From user's point of view, qmgr and nqmgr are both the same,
except for how next message is chosen when delivery agent becomes
available. You already know that qmgr uses round-robin by destination
while nqmgr uses simple FIFO, except for some preemptive magic.
-The [sample-scheduler.cf file] documents all the knobs the user
+The postconf(5) manual documents all the knobs the user
can use to control this preemptive magic - there is nothing else
to the preemption than the quite simple conditions described below.
diff --git a/postfix/html/TUNING_README.html b/postfix/html/TUNING_README.html
index e7a0f403a..518f70345 100644
--- a/postfix/html/TUNING_README.html
+++ b/postfix/html/TUNING_README.html
@@ -140,7 +140,7 @@ by turning off the delay:
With the above setting, Postfix 2.0 and earlier can serve more
SMTP clients with the same number SMTP server processes. The next
section describes how Postfix deals with clients that make a large
-number of errors.
+number of errors.
diff --git a/postfix/html/access.5.html b/postfix/html/access.5.html
index 8407379d0..76529cc1f 100644
--- a/postfix/html/access.5.html
+++ b/postfix/html/access.5.html
@@ -291,7 +291,7 @@ ACCESS(5) ACCESS(5)
SMTPD_POLICY_README, external policy server
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/html/aliases.5.html b/postfix/html/aliases.5.html
index f4abbab75..a884ccb0f 100644
--- a/postfix/html/aliases.5.html
+++ b/postfix/html/aliases.5.html
@@ -155,7 +155,7 @@ ALIASES(5) ALIASES(5)
DATABASE_README, Postfix lookup table overview
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/html/anvil.8.html b/postfix/html/anvil.8.html
index ea7e5e678..43d753461 100644
--- a/postfix/html/anvil.8.html
+++ b/postfix/html/anvil.8.html
@@ -152,7 +152,7 @@ ANVIL(8) ANVIL(8)
TUNING_README, performance tuning
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
HISTORY
diff --git a/postfix/html/canonical.5.html b/postfix/html/canonical.5.html
index 365393deb..2a5853bf7 100644
--- a/postfix/html/canonical.5.html
+++ b/postfix/html/canonical.5.html
@@ -217,7 +217,7 @@ CANONICAL(5) CANONICAL(5)
ADDRESS_REWRITING_README, address rewriting guide
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/html/cleanup.8.html b/postfix/html/cleanup.8.html
index e9a5ce433..859bdf32e 100644
--- a/postfix/html/cleanup.8.html
+++ b/postfix/html/cleanup.8.html
@@ -359,7 +359,7 @@ CLEANUP(8) CLEANUP(8)
ADDRESS_REWRITING_README Postfix address manipulation
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/html/flush.8.html b/postfix/html/flush.8.html
index ff6ae2dda..aee26b667 100644
--- a/postfix/html/flush.8.html
+++ b/postfix/html/flush.8.html
@@ -164,7 +164,7 @@ FLUSH(8) FLUSH(8)
ETRN_README, Postfix ETRN howto
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
HISTORY
diff --git a/postfix/html/header_checks.5.html b/postfix/html/header_checks.5.html
index 36d31f249..28b3fa62a 100644
--- a/postfix/html/header_checks.5.html
+++ b/postfix/html/header_checks.5.html
@@ -322,7 +322,7 @@ HEADER_CHECKS(5) HEADER_CHECKS(5)
BACKSCATTER_README, blocking returned forged mail
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/html/ldap_table.5.html b/postfix/html/ldap_table.5.html
index 73ee4cbbb..399ddd5ca 100644
--- a/postfix/html/ldap_table.5.html
+++ b/postfix/html/ldap_table.5.html
@@ -437,13 +437,13 @@ LDAP_TABLE(5) LDAP_TABLE(5)
LDAP_README, Postfix LDAP client guide
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
AUTHOR(S)
- Carsten Hoeger, Hery Rakotoarisoa, John Hensley, Keith
- Stevenson, LaMont Jones, Liviu Daia, Manuel Guesdon, Mike
- Mattice, Prabhat K Singh, Sami Haahtinen, Samuel Tardieu,
+ Carsten Hoeger, Hery Rakotoarisoa, John Hensley, Keith
+ Stevenson, LaMont Jones, Liviu Daia, Manuel Guesdon, Mike
+ Mattice, Prabhat K Singh, Sami Haahtinen, Samuel Tardieu,
Victor Duchovni, and many others.
LDAP_TABLE(5)
diff --git a/postfix/html/lmtp.8.html b/postfix/html/lmtp.8.html
index 1eead80a7..ed5795446 100644
--- a/postfix/html/lmtp.8.html
+++ b/postfix/html/lmtp.8.html
@@ -143,8 +143,8 @@ LMTP(8) LMTP(8)
Limit the number of parallel deliveries to the same
destination via this mail delivery transport.
- transport_destination_recipient_limit ($default_destina-
- tion_recipient_limit)
+ transport_destination_recipient_limit ($default_destina-
+ tion_recipient_limit)
Limit the number of recipients per message delivery
via this mail delivery transport.
@@ -269,7 +269,7 @@ LMTP(8) LMTP(8)
VIRTUAL_README, virtual delivery agent howto
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/html/mysql_table.5.html b/postfix/html/mysql_table.5.html
index 8dcb7ef0f..d23cb9b90 100644
--- a/postfix/html/mysql_table.5.html
+++ b/postfix/html/mysql_table.5.html
@@ -126,7 +126,7 @@ MYSQL_TABLE(5) MYSQL_TABLE(5)
MYSQL_README, Postfix MYSQL client guide
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
HISTORY
diff --git a/postfix/html/oqmgr.8.html b/postfix/html/oqmgr.8.html
index dd8db60b3..9849bd95b 100644
--- a/postfix/html/oqmgr.8.html
+++ b/postfix/html/oqmgr.8.html
@@ -319,7 +319,7 @@ OQMGR(8) OQMGR(8)
QSHAPE_README, Postfix queue analysis
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/html/pgsql_table.5.html b/postfix/html/pgsql_table.5.html
index 62cc00fc7..02d71f97b 100644
--- a/postfix/html/pgsql_table.5.html
+++ b/postfix/html/pgsql_table.5.html
@@ -173,7 +173,7 @@ PGSQL_TABLE(5) PGSQL_TABLE(5)
PGSQL_README, Postfix PostgreSQL client guide
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
HISTORY
diff --git a/postfix/html/postalias.1.html b/postfix/html/postalias.1.html
index 778a42e1d..b7a25a69b 100644
--- a/postfix/html/postalias.1.html
+++ b/postfix/html/postalias.1.html
@@ -201,7 +201,7 @@ POSTALIAS(1) POSTALIAS(1)
DATABASE_README, Postfix lookup table overview
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/html/postconf.1.html b/postfix/html/postconf.1.html
index c04f9c83e..14d01654f 100644
--- a/postfix/html/postconf.1.html
+++ b/postfix/html/postconf.1.html
@@ -174,7 +174,7 @@ POSTCONF(1) POSTCONF(1)
DATABASE_README, Postfix lookup table overview
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/html/postfix.1.html b/postfix/html/postfix.1.html
index d0933d425..70d6e4ce8 100644
--- a/postfix/html/postfix.1.html
+++ b/postfix/html/postfix.1.html
@@ -150,7 +150,7 @@ POSTFIX(1) POSTFIX(1)
Sendmail compatibility feature that specifies where
the Postfix mailq(1) command is installed.
- html_directory (see 'postconf -d' output)
+ html_directory (see 'postconf -d' output)
The location of Postfix HTML files that describe
how to build, configure or operate a specific Post-
fix subsystem or feature.
@@ -249,7 +249,6 @@ POSTFIX(1) POSTFIX(1)
syslogd(8), system logging
README FILES
- "postconf html_directory to locate this information.
OVERVIEW, overview of Postfix commands and processes
BASIC_CONFIGURATION_README, Postfix basic configuration
ADDRESS_REWRITING_README, Postfix address rewriting
@@ -258,7 +257,7 @@ POSTFIX(1) POSTFIX(1)
QSHAPE_README, Postfix queue analysis
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/html/postmap.1.html b/postfix/html/postmap.1.html
index 72a6dd31f..93c11d520 100644
--- a/postfix/html/postmap.1.html
+++ b/postfix/html/postmap.1.html
@@ -206,7 +206,7 @@ POSTMAP(1) POSTMAP(1)
DATABASE_README, Postfix lookup table overview
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/html/postqueue.1.html b/postfix/html/postqueue.1.html
index 53bb52819..92ac47743 100644
--- a/postfix/html/postqueue.1.html
+++ b/postfix/html/postqueue.1.html
@@ -155,11 +155,11 @@ POSTQUEUE(1) POSTQUEUE(1)
ETRN_README, Postfix ETRN howto
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
HISTORY
- The postqueue command was introduced with Postfix version
+ The postqueue command was introduced with Postfix version
1.1.
AUTHOR(S)
diff --git a/postfix/html/qmgr.8.html b/postfix/html/qmgr.8.html
index 0d519a58b..39af6a58e 100644
--- a/postfix/html/qmgr.8.html
+++ b/postfix/html/qmgr.8.html
@@ -246,8 +246,8 @@ QMGR(8) QMGR(8)
The default maximal number of recipients per mes-
sage delivery.
- transport_destination_recipient_limit ($default_destina-
- tion_recipient_limit)
+ transport_destination_recipient_limit ($default_destina-
+ tion_recipient_limit)
Idem, for delivery via the named message transport.
MESSAGE SCHEDULING CONTROLS
@@ -374,7 +374,7 @@ QMGR(8) QMGR(8)
QSHAPE_README, Postfix queue analysis
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/html/qmqpd.8.html b/postfix/html/qmqpd.8.html
index 8a8558c1d..26a06d764 100644
--- a/postfix/html/qmqpd.8.html
+++ b/postfix/html/qmqpd.8.html
@@ -160,7 +160,7 @@ QMQPD(8) QMQPD(8)
QMQP_README, Postfix ezmlm-idx howto.
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
HISTORY
diff --git a/postfix/html/relocated.5.html b/postfix/html/relocated.5.html
index d9aae964a..20ed0a104 100644
--- a/postfix/html/relocated.5.html
+++ b/postfix/html/relocated.5.html
@@ -151,7 +151,7 @@ RELOCATED(5) RELOCATED(5)
ADDRESS_REWRITING_README, address rewriting guide
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/html/smtp.8.html b/postfix/html/smtp.8.html
index 0062b0a54..e4657fa49 100644
--- a/postfix/html/smtp.8.html
+++ b/postfix/html/smtp.8.html
@@ -157,8 +157,8 @@ SMTP(8) SMTP(8)
same destination via the smtp message delivery
transport.
- smtp_destination_recipient_limit ($default_destina-
- tion_recipient_limit)
+ smtp_destination_recipient_limit ($default_destina-
+ tion_recipient_limit)
The maximal number of recipients per delivery via
the smtp message delivery transport.
@@ -328,7 +328,7 @@ SMTP(8) SMTP(8)
SASL_README, Postfix SASL howto
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/html/smtpd.8.html b/postfix/html/smtpd.8.html
index 9aeaf4021..2b752b051 100644
--- a/postfix/html/smtpd.8.html
+++ b/postfix/html/smtpd.8.html
@@ -755,7 +755,7 @@ SMTPD(8) SMTPD(8)
XFORWARD_README, Postfix XFORWARD extension
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/html/tcp_table.5.html b/postfix/html/tcp_table.5.html
index ebf99f3f3..a644dede5 100644
--- a/postfix/html/tcp_table.5.html
+++ b/postfix/html/tcp_table.5.html
@@ -98,7 +98,7 @@ TCP_TABLE(5) TCP_TABLE(5)
DATABASE_README, Postfix lookup table overview
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/html/transport.5.html b/postfix/html/transport.5.html
index 0c363f0cc..7981202c5 100644
--- a/postfix/html/transport.5.html
+++ b/postfix/html/transport.5.html
@@ -257,7 +257,7 @@ TRANSPORT(5) TRANSPORT(5)
FILTER_README, external content filter
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/html/trivial-rewrite.8.html b/postfix/html/trivial-rewrite.8.html
index 91cde0630..f6e6ba824 100644
--- a/postfix/html/trivial-rewrite.8.html
+++ b/postfix/html/trivial-rewrite.8.html
@@ -261,7 +261,7 @@ TRIVIAL-REWRITE(8) TRIVIAL-REWRITE(8)
ADDRESS_VERIFICATION_README, Postfix address verification
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/html/verify.8.html b/postfix/html/verify.8.html
index 72a89b5fb..b51bc56ec 100644
--- a/postfix/html/verify.8.html
+++ b/postfix/html/verify.8.html
@@ -179,7 +179,7 @@ VERIFY(8) VERIFY(8)
ADDRESS_VERIFICATION_README, address verification howto
LICENSE
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
HISTORY
diff --git a/postfix/html/virtual.5.html b/postfix/html/virtual.5.html
index e87f97c62..67acf39eb 100644
--- a/postfix/html/virtual.5.html
+++ b/postfix/html/virtual.5.html
@@ -257,7 +257,7 @@ VIRTUAL(5) VIRTUAL(5)
VIRTUAL_README, domain hosting guide
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/html/virtual.8.html b/postfix/html/virtual.8.html
index 6a708be6c..272a0cddf 100644
--- a/postfix/html/virtual.8.html
+++ b/postfix/html/virtual.8.html
@@ -209,8 +209,8 @@ VIRTUAL(8) VIRTUAL(8)
same destination via the virtual message delivery
transport.
- virtual_destination_recipient_limit ($default_destina-
- tion_recipient_limit)
+ virtual_destination_recipient_limit ($default_destina-
+ tion_recipient_limit)
The maximal number of recipients per delivery via
the virtual message delivery transport.
diff --git a/postfix/makedefs b/postfix/makedefs
index 45277b17b..717686ec8 100644
--- a/postfix/makedefs
+++ b/postfix/makedefs
@@ -64,7 +64,7 @@ case "$SYSTEM.$RELEASE" in
SCO_SV.3.2) SYSTYPE=SCO5
# Use the native compiler by default
: ${CC="/usr/bin/cc -b elf"}
- CCARGS="-DPIPES_CANT_FIONREAD $CCARGS"
+ CCARGS="$CCARGS -DPIPES_CANT_FIONREAD $CCARGS"
SYSLIBS="-lsocket -ldbm"
RANLIB=echo
;;
@@ -334,6 +334,9 @@ ${WARN='-W -Wformat -Wimplicit -Wmissing-prototypes \
export SYSTYPE AR ARFL RANLIB SYSLIBS CC OPT DEBUG AWK OPTS
+# Snapshot only.
+CCARGS="$CCARGS -DSNAPSHOT"
+
sed 's/ / /g' </dev/null`
+RELEASE=`(uname -r) 2>/dev/null`
+VERSION=`(uname -v) 2>/dev/null`
+
+case "$VERSION" in
+ dcosx*) SYSTEM=$VERSION;;
+esac
+
+case "$SYSTEM.$RELEASE" in
+ SCO_SV.3.2) SYSTYPE=SCO5
+ # Use the native compiler by default
+ : ${CC="/usr/bin/cc -b elf"}
+ CCARGS="$CCARGS -DPIPES_CANT_FIONREAD $CCARGS"
+ SYSLIBS="-lsocket -ldbm"
+ RANLIB=echo
+ ;;
+ UnixWare.5*) SYSTYPE=UW7
+ # Use the native compiler by default
+ : ${CC=/usr/bin/cc}
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl"
+ ;;
+ UNIX_SV.4.2*) case "`uname -v`" in
+ 2.1*) SYSTYPE=UW21
+ # Use the native compiler by default
+ : ${CC=/usr/bin/cc}
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl -lc -L/usr/ucblib -lucb"
+ ;;
+ *) echo "Seems to be UnixWare`uname -v`. Untested." 1>&2;
+ exit 1;;
+ esac
+ ;;
+ FreeBSD.2*) SYSTYPE=FREEBSD2
+ ;;
+ FreeBSD.3*) SYSTYPE=FREEBSD3
+ ;;
+ FreeBSD.4*) SYSTYPE=FREEBSD4
+ ;;
+ FreeBSD.5*) SYSTYPE=FREEBSD5
+ ;;
+ OpenBSD.2*) SYSTYPE=OPENBSD2
+ ;;
+ OpenBSD.3*) SYSTYPE=OPENBSD3
+ ;;
+ ekkoBSD.1*) SYSTYPE=EKKOBSD1
+ ;;
+ NetBSD.1*) SYSTYPE=NETBSD1
+ ;;
+ NetBSD.2*) SYSTYPE=NETBSD2
+ ;;
+ BSD/OS.2*) SYSTYPE=BSDI2
+ ;;
+ BSD/OS.3*) SYSTYPE=BSDI3
+ ;;
+ BSD/OS.4*) SYSTYPE=BSDI4
+ ;;
+ OSF1.V[3-5].*) SYSTYPE=OSF1
+ # Use the native compiler by default
+ : ${CC=cc}
+ : ${DEBUG="-g3"}
+ ;;
+ SunOS.4*) SYSTYPE=SUNOS4
+ SYSLIBS=-lresolv
+ ;;
+ SunOS.5*) SYSTYPE=SUNOS5
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl"
+ case $RELEASE in
+ 5.[0-4]) CCARGS="$CCARGS -DMISSING_USLEEP";;
+ *) CCARGS="$CCARGS -DHAS_POSIX_REGEXP";;
+ esac
+ # Work around broken str*casecmp(). Do it all here instead
+ # of having half the solution in the sys_defs.h file.
+ CCARGS="$CCARGS -Dstrcasecmp=fix_strcasecmp \
+ -Dstrncasecmp=fix_strncasecmp"
+ STRCASE="strcasecmp.o"
+ # Avoid common types of braindamage
+ case "$LD_LIBRARY_PATH" in
+ ?*) echo "Don't set LD_LIBRARY_PATH" 1>&2; exit 1;;
+ esac
+ case "$CC" in
+ *ucb*) echo "Don't use /usr/ucb/cc or ucblib" 1>&2; exit 1;;
+ cc*) case `which cc` in
+ *ucb*) echo "Don't use /usr/ucb/cc or ucblib" 1>&2; exit 1;;
+ esac;;
+ esac
+ ;;
+ ULTRIX.4*) SYSTYPE=ULTRIX4
+ if [ -f /usr/local/lib/libdb.a ]; then
+ SYSLIBS="$SYSLIBS -ldb"
+ CCARGS="$CCARGS -DHAS_DB"
+ if [ -d /usr/local/include/db ]; then
+ CCARGS="$CCARGS -I/usr/local/include/db"
+ fi
+ fi
+ for l in syslog resolv; do
+ if [ -f /usr/local/lib/lib$l.a ]; then
+ SYSLIBS="$SYSLIBS -l$l"
+ fi
+ done
+ ;;
+ AIX.*) case "`uname -v`" in
+ 5) SYSTYPE=AIX4
+ case "$CC" in
+ cc|*/cc|xlc|*/xlc) CCARGS="$CCARGS -w -blibpath:/usr/lib:/lib:/usr/local/lib";;
+ esac
+ CCARGS="$CCARGS -D_ALL_SOURCE -DHAS_POSIX_REGEXP"
+ ;;
+ 4) SYSTYPE=AIX4
+ # How embarrassing...
+ case "$CC" in
+ cc|*/cc|xlc|*/xlc) OPT=; CCARGS="$CCARGS -w -blibpath:/usr/lib:/lib:/usr/local/lib";;
+ esac
+ CCARGS="$CCARGS -D_ALL_SOURCE -DHAS_POSIX_REGEXP"
+ ;;
+ 3) SYSTYPE=AIX3
+ # How embarrassing...
+ case "$CC" in
+ cc|*/cc|xlc|*/xlc) OPT=; CCARGS="$CCARGS -w";;
+ esac
+ CCARGS="$CCARGS -D_ALL_SOURCE"
+ ;;
+ *) echo "Unknown AIX version: `uname -v`." 1>&2; exit 1;;
+ esac;;
+ # Tested with RedHat 3.03 on 20020729.
+ Linux.1*) SYSTYPE=LINUX1
+ SYSLIBS="-ldb"
+ ;;
+ Linux.2*) SYSTYPE=LINUX2
+ # Postfix no longer needs DB 1.85 compatibility
+ if [ -f /usr/include/db.h ]
+ then
+ : we are all set
+ elif [ -f /usr/include/db/db.h ]
+ then
+ CCARGS="$CCARGS -I/usr/include/db"
+ else
+ # No, we're not going to try db1 db2 db3 etc.
+ # On a properly installed system, Postfix builds
+ # by including and by linking with -ldb
+ echo "No include file found." 1>&2
+ echo "Install the appropriate db*-devel package first." 1>&2
+ echo "See the RELEASE_NOTES file for more information." 1>&2
+ exit 1
+ fi
+ # GDBM locks the DBM .pag file after open. This breaks postmap.
+ # if [ -f /usr/include/gdbm-ndbm.h ]
+ # then
+ # CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H=''"
+ # GDBM_LIBS=gdbm
+ # elif [ -f /usr/include/gdbm/ndbm.h ]
+ # then
+ # CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H=''"
+ # GDBM_LIBS=gdbm
+ # fi
+ SYSLIBS="-ldb"
+ for name in nsl resolv $GDBM_LIBS
+ do
+ for lib in /usr/lib64 /lib64 /usr/lib /lib
+ do
+ test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
+ SYSLIBS="$SYSLIBS -l$name"
+ break
+ }
+ done
+ done
+ ;;
+ IRIX*.5.*) SYSTYPE=IRIX5
+ # Use the native compiler by default
+ : ${CC=cc} ${DEBUG="-g3"}
+ RANLIB=echo
+ ;;
+ IRIX*.6.*) SYSTYPE=IRIX6
+ # Use the native compiler by default, and allow nested comments.
+ : ${CC="cc -woff 1009,1116,1412"}
+ RANLIB=echo
+ ;;
+HP-UX.A.09.*) SYSTYPE=HPUX9
+ SYSLIBS=-ldbm
+ CCARGS="$CCARGS -DMISSING_USLEEP"
+ if [ -f /usr/lib/libdb.a ]; then
+ CCARGS="$CCARGS -DHAS_DB"
+ SYSLIBS="$SYSLIBS -ldb"
+ fi
+ ;;
+HP-UX.B.10.*) SYSTYPE=HPUX10
+ CCARGS="$CCARGS `nm /usr/lib/libc.a 2>/dev/null |
+ (grep usleep >/dev/null || echo '-DMISSING_USLEEP')`"
+ if [ -f /usr/lib/libdb.a ]; then
+ CCARGS="$CCARGS -DHAS_DB"
+ SYSLIBS=-ldb
+ fi
+ ;;
+HP-UX.B.11.*) SYSTYPE=HPUX11
+ SYSLIBS=-lnsl
+ if [ -f /usr/lib/libdb.a ]; then
+ CCARGS="$CCARGS -DHAS_DB"
+ SYSLIBS="$SYSLIBS -ldb"
+ fi
+ ;;
+ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl"
+ ;;
+Rhapsody.5*|Darwin.*)
+ SYSTYPE=MACOSX
+ # Use the native compiler by default
+ : ${CC=cc}
+ case $RELEASE in
+ 1.[0-3]) AWK=gawk
+ ;;
+ [2-6].*) AWK=awk
+ SYSLIBS=-flat_namespace
+ ;;
+ *) AWK=awk
+ SYSLIBS=-flat_namespace
+ CCARGS="$CCARGS -DBIND_8_COMPAT -DNO_NETINFO"
+ ;;
+ esac
+ ;;
+"Mac OS".10*) SYSTYPE=MACOSX
+ # Use the native compiler by default
+ : ${CC=cc}
+ AWK=gawk
+ ;;
+ dcosx.1*) SYSTYPE=DCOSX1
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl -lc -lrpcsvc -L/usr/ucblib -lucb"
+ ;;
+
+ ".") if [ -d /NextApps ]; then
+ SYSTYPE=`hostinfo | sed -n \
+ 's/^.*NeXT Mach 3.*$/NEXTSTEP3/;/NEXTSTEP3/{p;q;}'`
+ if [ "$SYSTYPE" = "" ]; then
+ SYSTYPE=`hostinfo | sed -n \
+ 's/^.*NeXT Mach 4.*$/OPENSTEP4/;/OPENSTEP4/{p;q;}'`
+ fi
+ : ${CC=cc}
+ RANLIB="sleep 5; ranlib"
+ else
+ echo "Unable to determine your system type." 1>&2; exit 1
+ fi
+ ;;
+ *) echo "Unknown system type: $SYSTEM $RELEASE" 1>&2; exit 1;;
+esac
+
+#
+# PCRE 3.x has a pcre-config utility so we don't have to guess.
+#
+case "$CCARGS" in
+*-DHAS_PCRE*) ;;
+ *-DNO_PCRE*) ;;
+ *) pcre_cflags=`(pcre-config --cflags) 2>/dev/null` &&
+ pcre_libs=`(pcre-config --libs) 2>/dev/null` && {
+ CCARGS="$CCARGS -DHAS_PCRE $pcre_cflags"
+ AUXLIBS="$AUXLIBS $pcre_libs"
+ }
+ ;;
+esac
+
+# Defaults that can be overruled (make makefiles CC=cc OPT=-O6 DEBUG=)
+# Disable optimizations by default when compiling for Purify. Disable
+# optimizations by default with gcc 2.8, until the compiler is known to
+# be OK. Those who dare can still overrule this (make makefiles OPT=-O).
+
+case "$CC" in
+ *purify*) : ${OPT=};;
+*/gcc|gcc) case `$CC -v` in
+ "gcc version 2.8"*) : ${OPT=};;
+ esac;;
+ *CC) echo "Don't use CC. That's the C++ compiler" 1>&2; exit 1;;
+ *) : ${OPT='-O'};;
+esac
+
+: ${CC='gcc $(WARN)'} ${OPT='-O'} ${DEBUG='-g'} ${AWK=awk} \
+${WARN='-W -Wformat -Wimplicit -Wmissing-prototypes \
+ -Wparentheses -Wstrict-prototypes -Wswitch -Wuninitialized \
+ -Wunused'}
+
+export SYSTYPE AR ARFL RANLIB SYSLIBS CC OPT DEBUG AWK OPTS
+
+# Snapshot only.
+CCARGS="$CCARGS -DSNAPSHOT"
+
+sed 's/ / /g' </dev/null`
+RELEASE=`(uname -r) 2>/dev/null`
+VERSION=`(uname -v) 2>/dev/null`
+
+case "$VERSION" in
+ dcosx*) SYSTEM=$VERSION;;
+esac
+
+case "$SYSTEM.$RELEASE" in
+ SCO_SV.3.2) SYSTYPE=SCO5
+ # Use the native compiler by default
+ : ${CC="/usr/bin/cc -b elf"}
+ CCARGS="$CCARGS -DPIPES_CANT_FIONREAD $CCARGS"
+ SYSLIBS="-lsocket -ldbm"
+ RANLIB=echo
+ ;;
+ UnixWare.5*) SYSTYPE=UW7
+ # Use the native compiler by default
+ : ${CC=/usr/bin/cc}
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl"
+ ;;
+ UNIX_SV.4.2*) case "`uname -v`" in
+ 2.1*) SYSTYPE=UW21
+ # Use the native compiler by default
+ : ${CC=/usr/bin/cc}
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl -lc -L/usr/ucblib -lucb"
+ ;;
+ *) echo "Seems to be UnixWare`uname -v`. Untested." 1>&2;
+ exit 1;;
+ esac
+ ;;
+ FreeBSD.2*) SYSTYPE=FREEBSD2
+ ;;
+ FreeBSD.3*) SYSTYPE=FREEBSD3
+ ;;
+ FreeBSD.4*) SYSTYPE=FREEBSD4
+ ;;
+ FreeBSD.5*) SYSTYPE=FREEBSD5
+ ;;
+ OpenBSD.2*) SYSTYPE=OPENBSD2
+ ;;
+ OpenBSD.3*) SYSTYPE=OPENBSD3
+ ;;
+ ekkoBSD.1*) SYSTYPE=EKKOBSD1
+ ;;
+ NetBSD.1*) SYSTYPE=NETBSD1
+ ;;
+ NetBSD.2*) SYSTYPE=NETBSD2
+ ;;
+ BSD/OS.2*) SYSTYPE=BSDI2
+ ;;
+ BSD/OS.3*) SYSTYPE=BSDI3
+ ;;
+ BSD/OS.4*) SYSTYPE=BSDI4
+ ;;
+ OSF1.V[3-5].*) SYSTYPE=OSF1
+ # Use the native compiler by default
+ : ${CC=cc}
+ : ${DEBUG="-g3"}
+ ;;
+ SunOS.4*) SYSTYPE=SUNOS4
+ SYSLIBS=-lresolv
+ ;;
+ SunOS.5*) SYSTYPE=SUNOS5
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl"
+ case $RELEASE in
+ 5.[0-4]) CCARGS="$CCARGS -DMISSING_USLEEP";;
+ *) CCARGS="$CCARGS -DHAS_POSIX_REGEXP";;
+ esac
+ # Work around broken str*casecmp(). Do it all here instead
+ # of having half the solution in the sys_defs.h file.
+ CCARGS="$CCARGS -Dstrcasecmp=fix_strcasecmp \
+ -Dstrncasecmp=fix_strncasecmp"
+ STRCASE="strcasecmp.o"
+ # Avoid common types of braindamage
+ case "$LD_LIBRARY_PATH" in
+ ?*) echo "Don't set LD_LIBRARY_PATH" 1>&2; exit 1;;
+ esac
+ case "$CC" in
+ *ucb*) echo "Don't use /usr/ucb/cc or ucblib" 1>&2; exit 1;;
+ cc*) case `which cc` in
+ *ucb*) echo "Don't use /usr/ucb/cc or ucblib" 1>&2; exit 1;;
+ esac;;
+ esac
+ ;;
+ ULTRIX.4*) SYSTYPE=ULTRIX4
+ if [ -f /usr/local/lib/libdb.a ]; then
+ SYSLIBS="$SYSLIBS -ldb"
+ CCARGS="$CCARGS -DHAS_DB"
+ if [ -d /usr/local/include/db ]; then
+ CCARGS="$CCARGS -I/usr/local/include/db"
+ fi
+ fi
+ for l in syslog resolv; do
+ if [ -f /usr/local/lib/lib$l.a ]; then
+ SYSLIBS="$SYSLIBS -l$l"
+ fi
+ done
+ ;;
+ AIX.*) case "`uname -v`" in
+ 5) SYSTYPE=AIX4
+ case "$CC" in
+ cc|*/cc|xlc|*/xlc) CCARGS="$CCARGS -w -blibpath:/usr/lib:/lib:/usr/local/lib";;
+ esac
+ CCARGS="$CCARGS -D_ALL_SOURCE -DHAS_POSIX_REGEXP"
+ ;;
+ 4) SYSTYPE=AIX4
+ # How embarrassing...
+ case "$CC" in
+ cc|*/cc|xlc|*/xlc) OPT=; CCARGS="$CCARGS -w -blibpath:/usr/lib:/lib:/usr/local/lib";;
+ esac
+ CCARGS="$CCARGS -D_ALL_SOURCE -DHAS_POSIX_REGEXP"
+ ;;
+ 3) SYSTYPE=AIX3
+ # How embarrassing...
+ case "$CC" in
+ cc|*/cc|xlc|*/xlc) OPT=; CCARGS="$CCARGS -w";;
+ esac
+ CCARGS="$CCARGS -D_ALL_SOURCE"
+ ;;
+ *) echo "Unknown AIX version: `uname -v`." 1>&2; exit 1;;
+ esac;;
+ # Tested with RedHat 3.03 on 20020729.
+ Linux.1*) SYSTYPE=LINUX1
+ SYSLIBS="-ldb"
+ ;;
+ Linux.2*) SYSTYPE=LINUX2
+ # Postfix no longer needs DB 1.85 compatibility
+ if [ -f /usr/include/db.h ]
+ then
+ : we are all set
+ elif [ -f /usr/include/db/db.h ]
+ then
+ CCARGS="$CCARGS -I/usr/include/db"
+ else
+ # No, we're not going to try db1 db2 db3 etc.
+ # On a properly installed system, Postfix builds
+ # by including and by linking with -ldb
+ echo "No include file found." 1>&2
+ echo "Install the appropriate db*-devel package first." 1>&2
+ echo "See the RELEASE_NOTES file for more information." 1>&2
+ exit 1
+ fi
+ # GDBM locks the DBM .pag file after open. This breaks postmap.
+ # if [ -f /usr/include/gdbm-ndbm.h ]
+ # then
+ # CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H=''"
+ # GDBM_LIBS=gdbm
+ # elif [ -f /usr/include/gdbm/ndbm.h ]
+ # then
+ # CCARGS="$CCARGS -DHAS_DBM -DPATH_NDBM_H=''"
+ # GDBM_LIBS=gdbm
+ # fi
+ SYSLIBS="-ldb"
+ for name in nsl resolv $GDBM_LIBS
+ do
+ for lib in /usr/lib64 /lib64 /usr/lib /lib
+ do
+ test -e $lib/lib$name.a -o -e $lib/lib$name.so && {
+ SYSLIBS="$SYSLIBS -l$name"
+ break
+ }
+ done
+ done
+ ;;
+ IRIX*.5.*) SYSTYPE=IRIX5
+ # Use the native compiler by default
+ : ${CC=cc} ${DEBUG="-g3"}
+ RANLIB=echo
+ ;;
+ IRIX*.6.*) SYSTYPE=IRIX6
+ # Use the native compiler by default, and allow nested comments.
+ : ${CC="cc -woff 1009,1116,1412"}
+ RANLIB=echo
+ ;;
+HP-UX.A.09.*) SYSTYPE=HPUX9
+ SYSLIBS=-ldbm
+ CCARGS="$CCARGS -DMISSING_USLEEP"
+ if [ -f /usr/lib/libdb.a ]; then
+ CCARGS="$CCARGS -DHAS_DB"
+ SYSLIBS="$SYSLIBS -ldb"
+ fi
+ ;;
+HP-UX.B.10.*) SYSTYPE=HPUX10
+ CCARGS="$CCARGS `nm /usr/lib/libc.a 2>/dev/null |
+ (grep usleep >/dev/null || echo '-DMISSING_USLEEP')`"
+ if [ -f /usr/lib/libdb.a ]; then
+ CCARGS="$CCARGS -DHAS_DB"
+ SYSLIBS=-ldb
+ fi
+ ;;
+HP-UX.B.11.*) SYSTYPE=HPUX11
+ SYSLIBS=-lnsl
+ if [ -f /usr/lib/libdb.a ]; then
+ CCARGS="$CCARGS -DHAS_DB"
+ SYSLIBS="$SYSLIBS -ldb"
+ fi
+ ;;
+ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl"
+ ;;
+Rhapsody.5*|Darwin.*)
+ SYSTYPE=MACOSX
+ # Use the native compiler by default
+ : ${CC=cc}
+ case $RELEASE in
+ 1.[0-3]) AWK=gawk
+ ;;
+ [2-6].*) AWK=awk
+ SYSLIBS=-flat_namespace
+ ;;
+ *) AWK=awk
+ SYSLIBS=-flat_namespace
+ CCARGS="$CCARGS -DBIND_8_COMPAT -DNO_NETINFO"
+ ;;
+ esac
+ ;;
+"Mac OS".10*) SYSTYPE=MACOSX
+ # Use the native compiler by default
+ : ${CC=cc}
+ AWK=gawk
+ ;;
+ dcosx.1*) SYSTYPE=DCOSX1
+ RANLIB=echo
+ SYSLIBS="-lresolv -lsocket -lnsl -lc -lrpcsvc -L/usr/ucblib -lucb"
+ ;;
+
+ ".") if [ -d /NextApps ]; then
+ SYSTYPE=`hostinfo | sed -n \
+ 's/^.*NeXT Mach 3.*$/NEXTSTEP3/;/NEXTSTEP3/{p;q;}'`
+ if [ "$SYSTYPE" = "" ]; then
+ SYSTYPE=`hostinfo | sed -n \
+ 's/^.*NeXT Mach 4.*$/OPENSTEP4/;/OPENSTEP4/{p;q;}'`
+ fi
+ : ${CC=cc}
+ RANLIB="sleep 5; ranlib"
+ else
+ echo "Unable to determine your system type." 1>&2; exit 1
+ fi
+ ;;
+ *) echo "Unknown system type: $SYSTEM $RELEASE" 1>&2; exit 1;;
+esac
+
+#
+# PCRE 3.x has a pcre-config utility so we don't have to guess.
+#
+case "$CCARGS" in
+*-DHAS_PCRE*) ;;
+ *-DNO_PCRE*) ;;
+ *) pcre_cflags=`(pcre-config --cflags) 2>/dev/null` &&
+ pcre_libs=`(pcre-config --libs) 2>/dev/null` && {
+ CCARGS="$CCARGS -DHAS_PCRE $pcre_cflags"
+ AUXLIBS="$AUXLIBS $pcre_libs"
+ }
+ ;;
+esac
+
+# Defaults that can be overruled (make makefiles CC=cc OPT=-O6 DEBUG=)
+# Disable optimizations by default when compiling for Purify. Disable
+# optimizations by default with gcc 2.8, until the compiler is known to
+# be OK. Those who dare can still overrule this (make makefiles OPT=-O).
+
+case "$CC" in
+ *purify*) : ${OPT=};;
+*/gcc|gcc) case `$CC -v` in
+ "gcc version 2.8"*) : ${OPT=};;
+ esac;;
+ *CC) echo "Don't use CC. That's the C++ compiler" 1>&2; exit 1;;
+ *) : ${OPT='-O'};;
+esac
+
+: ${CC='gcc $(WARN)'} ${OPT='-O'} ${DEBUG='-g'} ${AWK=awk} \
+${WARN='-W -Wformat -Wimplicit -Wmissing-prototypes \
+ -Wparentheses -Wstrict-prototypes -Wswitch -Wuninitialized \
+ -Wunused'}
+
+export SYSTYPE AR ARFL RANLIB SYSLIBS CC OPT DEBUG AWK OPTS
+
+sed 's/ / /g' <\1;g
s;\( *\);\1;g
s;\( *\);\1;g
-' "$@" | grep -v 'postconf readme_directory'
+' "$@" | egrep -v 'postconf (readme|html)_direc|tory" *to *locate *this'
echo '