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.

    Slowing down SMTP clients that make many 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 ' ' diff --git a/postfix/mantools/postlink b/postfix/mantools/postlink index 532927b86..b49e50993 100755 --- a/postfix/mantools/postlink +++ b/postfix/mantools/postlink @@ -158,6 +158,7 @@ exec sed ' s;[[:<:]]helpful_warnings[[:>:]];&;g s;[[:<:]]home_mailbox[[:>:]];&;g s;[[:<:]]hopcount_limit[[:>:]];&;g + s;[[:<:]]html_direc[-]*\n*[ ]*tory[[:>:]];&;g s;[[:<:]]ignore_mx_lookup_error[[:>:]];&;g s;[[:<:]]import_environment[[:>:]];&;g s;[[:<:]]in_flow_delay[[:>:]];&;g diff --git a/postfix/postfix-install b/postfix/postfix-install index 5ba09559f..196437f94 100644 --- a/postfix/postfix-install +++ b/postfix/postfix-install @@ -720,5 +720,5 @@ bin/postconf -c $CONFIG_DIRECTORY -e \ # post-install processing now. test -n "$install_root" || { - ${command_directory}/postfix post-install $post_install_options || exit 1 + bin/postfix post-install $post_install_options || exit 1 } diff --git a/postfix/proto/BACKSCATTER_README.html b/postfix/proto/BACKSCATTER_README.html index af56d12b5..15f7dadfb 100644 --- a/postfix/proto/BACKSCATTER_README.html +++ b/postfix/proto/BACKSCATTER_README.html @@ -40,7 +40,7 @@ recipient addresses?
  1. Blocking backscatter mail with forged HELO information -
  2. Blocking backscatter mail with forged +
  3. Blocking backscatter mail with forged sender information
  4. Blocking backscatter mail with other @@ -196,7 +196,7 @@ mail to a user on such a host.

    masquerading, as described in the ADDRESS_REWRITING_README document.

    -

    Blocking backscatter mail with forged +

    Blocking backscatter mail with forged sender information

    Like many people I still have a few email addresses in domains that diff --git a/postfix/proto/DB_README.html b/postfix/proto/DB_README.html index d720dc058..bc64e25f2 100644 --- a/postfix/proto/DB_README.html +++ b/postfix/proto/DB_README.html @@ -26,6 +26,9 @@ Berkeley DB implements the Postfix database type of "hash" and 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:

      @@ -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/proto/Makefile.in b/postfix/proto/Makefile.in index eb1cebe27..8bb58cac9 100644 --- a/postfix/proto/Makefile.in +++ b/postfix/proto/Makefile.in @@ -3,8 +3,7 @@ SHELL = /bin/sh # For now, just hard-coded rules. CONFIG = ../conf/access ../conf/aliases ../conf/canonical ../conf/relocated \ - ../conf/transport ../conf/virtual ../conf/header_checks \ - ../conf/ldap_table ../conf/mysql_table ../conf/pgsql_table + ../conf/transport ../conf/virtual ../conf/header_checks HTML = ../html/ADDRESS_CLASS_README.html \ ../html/ADDRESS_REWRITING_README.html \ diff --git a/postfix/proto/SCHEDULER_README.html b/postfix/proto/SCHEDULER_README.html index 68f4ec904..0938a397a 100644 --- a/postfix/proto/SCHEDULER_README.html +++ b/postfix/proto/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/proto/access b/postfix/proto/access index 0bd5e9b87..9b7dc98c6 100644 --- a/postfix/proto/access +++ b/postfix/proto/access @@ -241,7 +241,12 @@ # smtpd(8), SMTP server # postconf(5), configuration parameters # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # SMTPD_ACCESS_README, built-in SMTP server access control # SMTPD_POLICY_README, external policy server diff --git a/postfix/proto/aliases b/postfix/proto/aliases index e599ff21e..9743a6093 100644 --- a/postfix/proto/aliases +++ b/postfix/proto/aliases @@ -122,7 +122,12 @@ # postalias(1), create/update alias database # postconf(5), configuration parameters # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # LICENSE # .ad diff --git a/postfix/proto/canonical b/postfix/proto/canonical index d97641302..5e019c883 100644 --- a/postfix/proto/canonical +++ b/postfix/proto/canonical @@ -175,7 +175,12 @@ # postconf(5), configuration parameters # virtual(5), virtual aliasing # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # ADDRESS_REWRITING_README, address rewriting guide # LICENSE @@ -188,5 +193,3 @@ # P.O. Box 704 # Yorktown Heights, NY 10598, USA #-- - -# By default, this file is not used. See sample-canonical.cf diff --git a/postfix/proto/cidr_table b/postfix/proto/cidr_table index 81df08cdd..2adb5172f 100644 --- a/postfix/proto/cidr_table +++ b/postfix/proto/cidr_table @@ -56,7 +56,12 @@ # regexp_table(5) format of regular expression tables # pcre_table(5) format of PCRE tables # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # AUTHOR(S) # The CIDR table lookup code was originally written by: diff --git a/postfix/proto/header_checks b/postfix/proto/header_checks index 50dceee11..a8a42268c 100644 --- a/postfix/proto/header_checks +++ b/postfix/proto/header_checks @@ -275,7 +275,12 @@ # RFC 2045, base64 and quoted-printable encoding rules # RFC 2047, message header encoding for non-ASCII text # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # CONTENT_INSPECTION_README, Postfix content inspection overview # BUILTIN_FILTER_README, Postfix built-in content inspection diff --git a/postfix/proto/ldap_table b/postfix/proto/ldap_table index eb8dd5f86..3687a0437 100644 --- a/postfix/proto/ldap_table +++ b/postfix/proto/ldap_table @@ -399,7 +399,12 @@ # mysql_table(5), MySQL lookup tables # pgsql_table(5), PostgreSQL lookup tables # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # LDAP_README, Postfix LDAP client guide # LICENSE diff --git a/postfix/proto/mysql_table b/postfix/proto/mysql_table index c4c5f80a9..c7ae4764b 100644 --- a/postfix/proto/mysql_table +++ b/postfix/proto/mysql_table @@ -123,7 +123,12 @@ # ldap_table(5), LDAP lookup tables # pgsql_table(5), PostgreSQL lookup tables # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # MYSQL_README, Postfix MYSQL client guide # LICENSE diff --git a/postfix/proto/pcre_table b/postfix/proto/pcre_table index 14221fbcc..620fd3d24 100644 --- a/postfix/proto/pcre_table +++ b/postfix/proto/pcre_table @@ -159,7 +159,12 @@ # postconf(5), configuration parameters # regexp_table(5), format of POSIX regular expression tables # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # AUTHOR(S) # The PCRE table lookup code was originally written by: diff --git a/postfix/proto/pgsql_table b/postfix/proto/pgsql_table index e6afee295..6b9702018 100644 --- a/postfix/proto/pgsql_table +++ b/postfix/proto/pgsql_table @@ -168,7 +168,12 @@ # ldap_table(5), LDAP lookup tables # mysql_table(5), MySQL lookup tables # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # PGSQL_README, Postfix PostgreSQL client guide # LICENSE diff --git a/postfix/proto/regexp_table b/postfix/proto/regexp_table index 43d2bf44f..92c8d7820 100644 --- a/postfix/proto/regexp_table +++ b/postfix/proto/regexp_table @@ -127,7 +127,12 @@ # pcre_table(5), format of PCRE tables # cidr_table(5), format of CIDR tables # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # AUTHOR(S) # The regexp table lookup code was originally written by: diff --git a/postfix/proto/relocated b/postfix/proto/relocated index c2c11da28..dfd21316e 100644 --- a/postfix/proto/relocated +++ b/postfix/proto/relocated @@ -125,7 +125,12 @@ # postmap(1), Postfix lookup table manager # postconf(5), configuration parameters # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # ADDRESS_REWRITING_README, address rewriting guide # LICENSE @@ -138,5 +143,3 @@ # P.O. Box 704 # Yorktown Heights, NY 10598, USA #-- - -# By default, this file is not used. See sample-relocated.cf diff --git a/postfix/proto/tcp_table b/postfix/proto/tcp_table index 0fcdcb091..9e986d04c 100644 --- a/postfix/proto/tcp_table +++ b/postfix/proto/tcp_table @@ -80,6 +80,12 @@ # pcre_table(5) format of PCRE tables # cidr_table(5) format of CIDR tables # README FILES +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # LICENSE # .ad diff --git a/postfix/proto/transport b/postfix/proto/transport index 4974d1119..a9b1dd45a 100644 --- a/postfix/proto/transport +++ b/postfix/proto/transport @@ -231,7 +231,12 @@ # postconf(5), configuration parameters # postmap(1), Postfix lookup table manager # README FILES -# Use "\fBpostconf readme_directory\fR" to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # FILTER_README, external content filter # LICENSE @@ -244,5 +249,3 @@ # P.O. Box 704 # Yorktown Heights, NY 10598, USA #-- - -# By default, this file is not used. See sample-transport.cf diff --git a/postfix/proto/virtual b/postfix/proto/virtual index 99542e87b..c0d059f7b 100644 --- a/postfix/proto/virtual +++ b/postfix/proto/virtual @@ -222,7 +222,12 @@ # postconf(5), configuration parameters # canonical(5), canonical address mapping # README FILES -# Use \fBpostconf readme_directory\fR to locate this information. +# .ad +# .fi +# Use "\fBpostconf readme_directory\fR" or +# "\fBpostconf html_directory\fR" to locate this information. +# .na +# .nf # DATABASE_README, Postfix lookup table overview # ADDRESS_REWRITING_README, address rewriting guide # VIRTUAL_README, domain hosting guide @@ -236,5 +241,3 @@ # P.O. Box 704 # Yorktown Heights, NY 10598, USA #-- - -# By default, this file is not used. See sample-virtual.cf diff --git a/postfix/src/anvil/anvil.c b/postfix/src/anvil/anvil.c index f4a580f96..a30823fda 100644 --- a/postfix/src/anvil/anvil.c +++ b/postfix/src/anvil/anvil.c @@ -134,7 +134,12 @@ /* smtpd(8), Postfix SMTP server /* postconf(5), configuration parameters /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* TUNING_README, performance tuning /* LICENSE /* .ad diff --git a/postfix/src/bounce/bounce_notify_util.c b/postfix/src/bounce/bounce_notify_util.c index 3457971c5..b33939c9b 100644 --- a/postfix/src/bounce/bounce_notify_util.c +++ b/postfix/src/bounce/bounce_notify_util.c @@ -716,7 +716,7 @@ int bounce_original(VSTREAM *bounce, BOUNCE_INFO *bounce_info, /* bounce_delrcpt - delete recipients from original queue file */ -int bounce_delrcpt(BOUNCE_INFO *bounce_info) +void bounce_delrcpt(BOUNCE_INFO *bounce_info) { if (bounce_info->orig_fp != 0 && bounce_info->log_handle != 0 @@ -729,7 +729,7 @@ int bounce_delrcpt(BOUNCE_INFO *bounce_info) /* bounce_delrcpt_one - delete one recipient from original queue file */ -int bounce_delrcpt_one(BOUNCE_INFO *bounce_info) +void bounce_delrcpt_one(BOUNCE_INFO *bounce_info) { if (bounce_info->orig_fp != 0 && bounce_info->log_handle != 0 diff --git a/postfix/src/bounce/bounce_service.h b/postfix/src/bounce/bounce_service.h index 8850a0a82..9e5b18373 100644 --- a/postfix/src/bounce/bounce_service.h +++ b/postfix/src/bounce/bounce_service.h @@ -88,8 +88,8 @@ extern int bounce_header_dsn(VSTREAM *, BOUNCE_INFO *); extern int bounce_recipient_dsn(VSTREAM *, BOUNCE_INFO *); extern int bounce_diagnostic_dsn(VSTREAM *, BOUNCE_INFO *); extern int bounce_original(VSTREAM *, BOUNCE_INFO *, int); -extern int bounce_delrcpt(BOUNCE_INFO *); -extern int bounce_delrcpt_one(BOUNCE_INFO *); +extern void bounce_delrcpt(BOUNCE_INFO *); +extern void bounce_delrcpt_one(BOUNCE_INFO *); #define BOUNCE_MSG_FAIL 0 #define BOUNCE_MSG_WARN 1 diff --git a/postfix/src/cleanup/cleanup.c b/postfix/src/cleanup/cleanup.c index a5c58eb34..2f6395a3d 100644 --- a/postfix/src/cleanup/cleanup.c +++ b/postfix/src/cleanup/cleanup.c @@ -266,7 +266,12 @@ /* master(8), process manager /* syslogd(8), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* ADDRESS_REWRITING_README Postfix address manipulation /* LICENSE /* .ad diff --git a/postfix/src/flush/flush.c b/postfix/src/flush/flush.c index ca1f34a57..84eee6559 100644 --- a/postfix/src/flush/flush.c +++ b/postfix/src/flush/flush.c @@ -121,7 +121,12 @@ /* master(8), process manager /* syslogd(8), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* ETRN_README, Postfix ETRN howto /* LICENSE /* .ad diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index b4431321d..5e5b4bb47 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,8 +20,8 @@ * Patches change the patchlevel and the release date. Snapshots change the * release date only, unless they include the same bugfix as a patch release. */ -#define MAIL_RELEASE_DATE "20040413" -#define MAIL_VERSION_NUMBER "2.1-RC2" +#define MAIL_RELEASE_DATE "20040414" +#define MAIL_VERSION_NUMBER "2.1-RC3" #define VAR_MAIL_VERSION "mail_version" #ifdef SNAPSHOT diff --git a/postfix/src/lmtp/lmtp.c b/postfix/src/lmtp/lmtp.c index 76c4d0ba6..720ecafdd 100644 --- a/postfix/src/lmtp/lmtp.c +++ b/postfix/src/lmtp/lmtp.c @@ -204,7 +204,12 @@ /* master(8), process manager /* syslogd(8), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* LMTP_README, Postfix LMTP client howto /* VIRTUAL_README, virtual delivery agent howto /* LICENSE diff --git a/postfix/src/lmtp/lmtp_proto.c b/postfix/src/lmtp/lmtp_proto.c index d992370d4..8251d6edc 100644 --- a/postfix/src/lmtp/lmtp_proto.c +++ b/postfix/src/lmtp/lmtp_proto.c @@ -303,7 +303,8 @@ int lmtp_lhlo(LMTP_STATE *state) /* lmtp_loop - the LMTP state machine */ -static int lmtp_loop(LMTP_STATE *state, int send_state, int recv_state) +static int lmtp_loop(LMTP_STATE *state, NOCLOBBER int send_state, + NOCLOBBER int recv_state) { char *myname = "lmtp_loop"; DELIVER_REQUEST *request = state->request; @@ -311,18 +312,18 @@ static int lmtp_loop(LMTP_STATE *state, int send_state, int recv_state) LMTP_RESP *resp; RECIPIENT *rcpt; VSTRING *next_command = vstring_alloc(100); - int *survivors = 0; - int next_state; - int next_rcpt; - int send_rcpt; - int recv_rcpt; - int nrcpt; + int *NOCLOBBER survivors = 0; + NOCLOBBER int next_state; + NOCLOBBER int next_rcpt; + NOCLOBBER int send_rcpt; + NOCLOBBER int recv_rcpt; + NOCLOBBER int nrcpt; int except; int rec_type; - int prev_type = 0; - int sndbuffree; - int mail_from_rejected; - int recv_dot; + NOCLOBBER int prev_type = 0; + NOCLOBBER int sndbuffree; + NOCLOBBER int mail_from_rejected; + NOCLOBBER int recv_dot; /* * Macros for readability. XXX Aren't LMTP addresses supposed to be case diff --git a/postfix/src/oqmgr/qmgr.c b/postfix/src/oqmgr/qmgr.c index 49829a0d6..f65ca4966 100644 --- a/postfix/src/oqmgr/qmgr.c +++ b/postfix/src/oqmgr/qmgr.c @@ -252,7 +252,12 @@ /* master(8), process manager /* syslogd(8) system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* QSHAPE_README, Postfix queue analysis /* LICENSE /* .ad diff --git a/postfix/src/postalias/postalias.c b/postfix/src/postalias/postalias.c index 654fca747..6715d9044 100644 --- a/postfix/src/postalias/postalias.c +++ b/postfix/src/postalias/postalias.c @@ -162,7 +162,12 @@ /* newaliases(1), Sendmail compatibility interface. /* syslogd(8), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* DATABASE_README, Postfix lookup table overview /* LICENSE /* .ad diff --git a/postfix/src/postconf/postconf.c b/postfix/src/postconf/postconf.c index 7da8e6fcd..2049dec54 100644 --- a/postfix/src/postconf/postconf.c +++ b/postfix/src/postconf/postconf.c @@ -136,7 +136,12 @@ /* SEE ALSO /* postconf(5), configuration parameters /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* DATABASE_README, Postfix lookup table overview /* LICENSE /* .ad diff --git a/postfix/src/postdrop/postdrop.c b/postfix/src/postdrop/postdrop.c index e50a02996..e5860102c 100644 --- a/postfix/src/postdrop/postdrop.c +++ b/postfix/src/postdrop/postdrop.c @@ -286,8 +286,8 @@ int main(int argc, char **argv) signal(SIGPIPE, SIG_IGN); signal(SIGXFSZ, SIG_IGN); - if (signal(SIGHUP, postdrop_sig) == SIG_IGN) - signal(SIGHUP, SIG_IGN); + if (signal(SIGHUP, SIG_IGN) == SIG_DFL) + signal(SIGHUP, postdrop_sig); signal(SIGINT, postdrop_sig); signal(SIGQUIT, postdrop_sig); signal(SIGTERM, postdrop_sig); diff --git a/postfix/src/postfix/postfix.c b/postfix/src/postfix/postfix.c index 535d34293..635621c27 100644 --- a/postfix/src/postfix/postfix.c +++ b/postfix/src/postfix/postfix.c @@ -199,8 +199,12 @@ /* Other: /* syslogd(8), system logging /* README FILES +/* .ad +/* .fi /* Use "\fBpostconf readme_directory\fR" or -/* "\fBpostconf html_directory\fR to locate this information. +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* OVERVIEW, overview of Postfix commands and processes /* BASIC_CONFIGURATION_README, Postfix basic configuration /* ADDRESS_REWRITING_README, Postfix address rewriting diff --git a/postfix/src/postlog/postlog.c b/postfix/src/postlog/postlog.c index 933bc2251..76311858f 100644 --- a/postfix/src/postlog/postlog.c +++ b/postfix/src/postlog/postlog.c @@ -168,7 +168,7 @@ int main(int argc, char **argv) char *slash; int fd; int ch; - char *tag; + const char *tag; int log_flags = 0; int level = MSG_INFO; diff --git a/postfix/src/postmap/postmap.c b/postfix/src/postmap/postmap.c index 24c905481..e6e6f2565 100644 --- a/postfix/src/postmap/postmap.c +++ b/postfix/src/postmap/postmap.c @@ -173,7 +173,12 @@ /* postconf(5), configuration parameters /* syslogd(8), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* DATABASE_README, Postfix lookup table overview /* LICENSE /* .ad diff --git a/postfix/src/postqueue/postqueue.c b/postfix/src/postqueue/postqueue.c index aaa67f2e3..0d9bdda82 100644 --- a/postfix/src/postqueue/postqueue.c +++ b/postfix/src/postqueue/postqueue.c @@ -123,7 +123,12 @@ /* sendmail(1), Sendmail-compatible user interface /* postsuper(1), privileged queue operations /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* ETRN_README, Postfix ETRN howto /* LICENSE /* .ad diff --git a/postfix/src/qmgr/qmgr.c b/postfix/src/qmgr/qmgr.c index 4c1349670..2ee829e62 100644 --- a/postfix/src/qmgr/qmgr.c +++ b/postfix/src/qmgr/qmgr.c @@ -287,7 +287,12 @@ /* master(8), process manager /* syslogd(8) system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* SCHEDULER_README, scheduling algorithm /* QSHAPE_README, Postfix queue analysis /* LICENSE diff --git a/postfix/src/qmqpd/qmqpd.c b/postfix/src/qmqpd/qmqpd.c index 97e5b92ec..0399e36a9 100644 --- a/postfix/src/qmqpd/qmqpd.c +++ b/postfix/src/qmqpd/qmqpd.c @@ -122,7 +122,12 @@ /* master(8), process manager /* syslogd(8), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* QMQP_README, Postfix ezmlm-idx howto. /* LICENSE /* .ad diff --git a/postfix/src/sendmail/sendmail.c b/postfix/src/sendmail/sendmail.c index af03b9580..7d371fd33 100644 --- a/postfix/src/sendmail/sendmail.c +++ b/postfix/src/sendmail/sendmail.c @@ -312,7 +312,8 @@ /* postqueue(1), mail queue control /* syslogd(8), system logging /* README_FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. /* DEBUG_README, Postfix debugging howto /* ETRN_README, Postfix ETRN howto /* VERP_README, Postfix VERP howto diff --git a/postfix/src/smtp/smtp.c b/postfix/src/smtp/smtp.c index a0c5f62bd..72be1d833 100644 --- a/postfix/src/smtp/smtp.c +++ b/postfix/src/smtp/smtp.c @@ -244,7 +244,12 @@ /* master(8), process manager /* syslogd(8), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* SASL_README, Postfix SASL howto /* LICENSE /* .ad diff --git a/postfix/src/smtp/smtp_proto.c b/postfix/src/smtp/smtp_proto.c index 31af1d5a6..71369a19d 100644 --- a/postfix/src/smtp/smtp_proto.c +++ b/postfix/src/smtp/smtp_proto.c @@ -388,24 +388,24 @@ int smtp_xfer(SMTP_STATE *state) SMTP_RESP *resp; RECIPIENT *rcpt; VSTRING *next_command = vstring_alloc(100); - int next_state; - int next_rcpt; - int send_state; - int recv_state; - int send_rcpt; - int recv_rcpt; - int nrcpt; + NOCLOBBER int next_state; + NOCLOBBER int next_rcpt; + NOCLOBBER int send_state; + NOCLOBBER int recv_state; + NOCLOBBER int send_rcpt; + NOCLOBBER int recv_rcpt; + NOCLOBBER int nrcpt; int except; int rec_type; - int prev_type = 0; + NOCLOBBER int prev_type = 0; int sndbufsize = 0; - int sndbuffree; + NOCLOBBER int sndbuffree; SOCKOPT_SIZE optlen = sizeof(sndbufsize); - int mail_from_rejected; - int downgrading; + NOCLOBBER int mail_from_rejected; + NOCLOBBER int downgrading; int mime_errs; int send_name_addr; - int send_proto_helo; + NOCLOBBER int send_proto_helo; /* * Macros for readability. diff --git a/postfix/src/smtpd/smtpd.c b/postfix/src/smtpd/smtpd.c index f35c8832d..4e85db97d 100644 --- a/postfix/src/smtpd/smtpd.c +++ b/postfix/src/smtpd/smtpd.c @@ -556,7 +556,12 @@ /* master(8), process manager /* syslogd(8), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* ADDRESS_CLASS_README, blocking unknown hosted or relay recipients /* FILTER_README, external after-queue content filter /* LOCAL_RECIPIENT_README, blocking unknown local recipients diff --git a/postfix/src/smtpd/smtpd_check.c b/postfix/src/smtpd/smtpd_check.c index d6e4bf987..d28cb39b9 100644 --- a/postfix/src/smtpd/smtpd_check.c +++ b/postfix/src/smtpd/smtpd_check.c @@ -204,6 +204,7 @@ #include #include #include +#include /* Application-specific. */ @@ -3869,7 +3870,7 @@ char *smtpd_check_size(SMTPD_STATE *state, off_t size) char *smtpd_check_data(SMTPD_STATE *state) { int status; - char *saved_recipient; + char *NOCLOBBER saved_recipient; /* * Minor kluge so that we can delegate work to the generic routine. We diff --git a/postfix/src/smtpstone/smtp-source.c b/postfix/src/smtpstone/smtp-source.c index 69317faad..34253a18b 100644 --- a/postfix/src/smtpstone/smtp-source.c +++ b/postfix/src/smtpstone/smtp-source.c @@ -478,7 +478,7 @@ static void read_banner(int unused_event, char *context) static void send_helo(SESSION *session) { int except; - char *protocol = (talk_lmtp ? "LHLO" : "HELO"); + char *NOCLOBBER protocol = (talk_lmtp ? "LHLO" : "HELO"); /* * Send the standard greeting with our hostname diff --git a/postfix/src/trivial-rewrite/trivial-rewrite.c b/postfix/src/trivial-rewrite/trivial-rewrite.c index eea7a1e1f..13d86f030 100644 --- a/postfix/src/trivial-rewrite/trivial-rewrite.c +++ b/postfix/src/trivial-rewrite/trivial-rewrite.c @@ -194,7 +194,12 @@ /* master(8), process manager /* syslogd(8), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* ADDRESS_CLASS_README, Postfix address classes howto /* ADDRESS_VERIFICATION_README, Postfix address verification /* LICENSE diff --git a/postfix/src/util/attr_scan64.c b/postfix/src/util/attr_scan64.c index 5d88c97b7..247da856a 100644 --- a/postfix/src/util/attr_scan64.c +++ b/postfix/src/util/attr_scan64.c @@ -164,7 +164,9 @@ static int attr_scan64_string(VSTREAM *fp, VSTRING *plain_buf, const char *conte { static VSTRING *base64_buf = 0; extern int var_line_limit; /* XXX */ +#if 0 int limit = var_line_limit * 4; +#endif int ch; if (base64_buf == 0) diff --git a/postfix/src/util/sys_defs.h b/postfix/src/util/sys_defs.h index cb62a71a0..4ca12a328 100644 --- a/postfix/src/util/sys_defs.h +++ b/postfix/src/util/sys_defs.h @@ -1132,6 +1132,14 @@ typedef int pid_t; #else #define SCANFLIKE(x,y) #endif +#endif + + /* + * ISO C says that the "volatile" qualifier protects against optimizations + * that cause longjmp() to clobber local variables. + */ +#ifndef NOCLOBBER +#define NOCLOBBER volatile #endif /* diff --git a/postfix/src/verify/verify.c b/postfix/src/verify/verify.c index aec7d4fb6..0f4f58287 100644 --- a/postfix/src/verify/verify.c +++ b/postfix/src/verify/verify.c @@ -139,7 +139,12 @@ /* postconf(5), configuration parameters /* syslogd(5), system logging /* README FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* .ad +/* .fi +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. +/* .na +/* .nf /* ADDRESS_VERIFICATION_README, address verification howto /* LICENSE /* .ad diff --git a/postfix/src/virtual/virtual.c b/postfix/src/virtual/virtual.c index d141606b0..57ab942b8 100644 --- a/postfix/src/virtual/virtual.c +++ b/postfix/src/virtual/virtual.c @@ -226,7 +226,8 @@ /* postconf(5), configuration parameters /* syslogd(8), system logging /* README_FILES -/* Use "\fBpostconf readme_directory\fR" to locate this information. +/* Use "\fBpostconf readme_directory\fR" or +/* "\fBpostconf html_directory\fR" to locate this information. /* VIRTUAL_README, domain hosting howto /* LICENSE /* .ad