From: Wietse Venema
Postfix versions 2.1 and earlier always rewrite message header -addresses, and append Postfix's own domain information to incomplete -addresses. While rewriting message headers is OK for mail with a -local origin, it is undesirable for remote mail:
+addresses, and append Postfix's own domain information to addresses +that Postfix considers incomplete. While rewriting message header +addresses is OK for mail with a local origin, it is undesirable +for remote mail:The local_header_rewrite_clients parameter controls what SMTP -clients Postfix considers local instead of remote.
-The figure below zooms in on those parts of Postfix that are most diff --git a/postfix/html/DEBUG_README.html b/postfix/html/DEBUG_README.html index da8b4f5fd..e326699cc 100644 --- a/postfix/html/DEBUG_README.html +++ b/postfix/html/DEBUG_README.html @@ -499,7 +499,9 @@ document to find out where logging is stored. Please do not frustrate the helpers by word wrapping the logging.
Output from "postconf -n". Please do not send your main.cf -file. Or better, provide output from the "postfinger" tool.
+file. Or better, provide output from the "postfinger" tool. This +tool is bundled with Postfix 2.2 and later source code, and can be +found at http://ftp.wl0.org/SOURCES/postfinger.If the problem is about too much mail in the queue, consider including output from the qshape tool, as described in the diff --git a/postfix/html/OVERVIEW.html b/postfix/html/OVERVIEW.html index 609a85033..0462854fa 100644 --- a/postfix/html/OVERVIEW.html +++ b/postfix/html/OVERVIEW.html @@ -445,7 +445,8 @@ postfix-script(1) -
The anvil(8) server implements client connection and rate +
The anvil(8) server implements client connection and +request rate limiting for all smtpd(8) servers. The TUNING_README document provides guidance for dealing with mis-behaving SMTP clients. The anvil(8) service is not included with Postfix version 2.1 or earlier. @@ -538,22 +539,26 @@ table among multiple processes.
The scache(8) server maintains the connection cache for the Postfix smtp(8) client. When connection caching is enabled for -selected -destinations, the smtp(8) client does not disconnect immediately -after a mail transaction, but gives the connection to the connection -cache server. The smtp(8) client continues with some other mail -delivery request. Meanwhile, the connection cache server keeps the -connection open for a limited amount of time. During that time, -any smtp(8) process can ask the scache(8) server for that cached -connection and use it for mail delivery.
+selected destinations, the smtp(8) client does not disconnect +immediately after a mail transaction, but gives the connection to +the connection cache server which keeps the connection open for a +limited amount of time. The smtp(8) client continues with some +other mail delivery request. Meanwhile, any smtp(8) process can +ask the scache(8) server for that cached connection and reuse it +for mail delivery. As a safety measure, Postfix limits the number +of times that a connection may be reused. + +When delivering mail to a destination with multiple mail servers, +connection caching can help to skip over a non-responding server, +and thus dramatically speed up delivery.
| smtp(8) - | -> | scache(8) | -> - | smtp(8) - |
+|||
| smtp(8) + | <-> | scache(8) | +<-> | +smtp(8) |
The tlsmgr(8) server runs when TLS (Transport Layer +Security, formerly known as SSL) is turned on in the Postfix smtp(8) +client or smtpd(8) server. This process has two duties:
+ +Maintain the pseudo-random number generator (PRNG) that +is used to seed the TLS engines in Postfix smtp(8) client or smtpd(8) +server processes. The state of this PRNG is saved periodically to +a file, and is read when tlsmgr(8) starts up.
+ +Maintain the optional Postfix smtp(8) client or smtpd(8) +server caches with TLS session keys. Saved keys can improve +performance by reducing the amount of computation at the start of +a TLS session.
+ +TLS support is available in Postfix version 2.2 and later. +Information about the Postfix TLS implementation is in the TLS_README +document.
+ +| Network-> | smtpd(8) |
+ <---seed--- <-session-> | tlsmgr(8) |
+ ---seed---> <-session-> + | smtp(8) + | ->Network | ||||||||||
| | | |
| ||||||||||||||
|
+smtpd session cache | PRNG state file | smtp session cache |
+||||||||||||||
The verify(8) server verifies that a sender or recipient address is deliverable before the smtpd(8) server accepts it. The verify(8) server injects probe messages into the Postfix queue and diff --git a/postfix/html/PCRE_README.html b/postfix/html/PCRE_README.html index 3585232a0..f4a4e25c4 100644 --- a/postfix/html/PCRE_README.html +++ b/postfix/html/PCRE_README.html @@ -61,7 +61,7 @@ make -f Makefile.init makefiles \ -
Solaris may need run-time path information:
+Solaris needs run-time path information too:
+diff --git a/postfix/html/STANDARD_CONFIGURATION_README.html b/postfix/html/STANDARD_CONFIGURATION_README.html index ac6caa60c..855747fca 100644 --- a/postfix/html/STANDARD_CONFIGURATION_README.html +++ b/postfix/html/STANDARD_CONFIGURATION_README.html @@ -577,8 +577,28 @@ table. dbm files instead of db files. To find out what lookup tables Postfix supports, use the command "postconf -m". -Execute the command "postmap /etc/postfix/transport" whenever -you change the transport table.
+Execute the command "postmap /etc/postfix/transport" +whenever you change the transport table.
+ +NOTE: Do not use the fallback_relay feature when relaying mail +for a backup or primary MX domain. Mail would loop between the +Postfix MX host and the fallback_relay host when the final destination +is unavailable.
+ ++ +
+ +- In main.cf specify "relay_transport = relay", + +
- In master.cf specify "-o fallback_relay =" at the +end of the relay entry. + +
- In transport maps, specify "relay:nexthop..." +as the right-hand side for backup or primary MX domain entries. + +
These are default settings in Postfix version 2.2 and later. +
Postfix on a dialup machine
diff --git a/postfix/html/TLS_README.html b/postfix/html/TLS_README.html index 6826d9f67..2f8e2bdd8 100644 --- a/postfix/html/TLS_README.html +++ b/postfix/html/TLS_README.html @@ -27,13 +27,63 @@ code. Assuming that OpenSSL is written as carefully as Wietse's own code, every 1000 lines introduce one additional bug into Postfix. -Purpose of this document
+Introduction
-This document describes how to build Postfix with Transport -Layer Security (TLS) support in the Postfix SMTP client and Postfix -SMTP server, and how to configure the TLS manager daemon that -maintains the Pseudo Random Number Generator (PRNG) pool and the -TLS session cache information.
+This document requires Postfix version 2.2 or later.
+ +Postfix may be built with Transport Layer Security (TLS, formerly +called SSL) protocol support as described in RFC 3207. This provides +certificate-based authentication, and encrypted sessions. An +encrypted session protects the information that is transmitted with +SMTP mail or with SASL authentication. The main elements of the +Postfix TLS architecture are:
+ ++ +
+ +The smtpd(8) server implements the SMTP over TLS server +side.
+ +The smtp(8) client implements the SMTP over TLS client +side.
+ +The tlsmgr(8) server maintains the pseudo-random number +generator (PRNG) that seeds the TLS engines in the smtpd(8) server +and smtp(8) client processes, and maintains the TLS session cache +files with TLS session keys.
+ +The following diagram shows the relationship between these +architecture elements.
+ ++ +
+ + Network->
smtpd(8)
+ + <---seed---
<-session->+
tlsmgr(8)
---seed--->
<-session-> + +
smtp(8)
+->Network + + +
+ + / / |
|+ +
\ \ ++ + +smtpd
session
cachePRNG
state
filesmtp + +
session
cacheTopics covered in this document:
@@ -67,7 +117,7 @@ TLS session cache information.To build Postfix with TLS support, first we need to generate the make(1) files with the necessary definitions. This is -done by invoking the command "make makefiles in the Postfix +done by invoking the command "make makefiles" in the Postfix top-level directory and with arguments as shown next.
@@ -97,6 +147,16 @@ are in directory /usr/local/lib:
On Solaris, specify the -R option as shown below: + +
+++% make tidy # if you have left-over files from a previous build +% make makefiles CCARGS="-DUSE_TLS -I/usr/local/include" \ + AUXLIBS="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto" ++
If you need to apply other customizations (such as Berkeley DB @@ -973,9 +1033,7 @@ specify one of the following keywords:
In order to feed its in-memory PRNG pool, the tlsmgr(8) reads entropy from an external source, both at startup and during run-time. Specify a good entropy source, like EGD or /dev/urandom; be sure -to only use non-blocking sources. If the entropy source is not a +to only use non-blocking sources (on OpenBSD, use /dev/arandom +when tlsmgr(8) complains about /dev/urandom timeout errors). +If the entropy source is not a regular file, you must prepend the source type to the source name: "dev:" for a device special file, or "egd:" for a source with EGD compatible socket interface.
diff --git a/postfix/html/TUNING_README.html b/postfix/html/TUNING_README.html index b5da33a88..f0911ee98 100644 --- a/postfix/html/TUNING_README.html +++ b/postfix/html/TUNING_README.html @@ -246,7 +246,7 @@ process limit. connections per unit time (default: no limit).These limits are not applied to SMTP clients in the networks -specified with $smtpd_client_connection_limit_exceptions (default: +specified with $smtpd_client_connection_limit_exceptions (default: clients in $mynetworks may make an unlimited number of connections).
The anvil_rate_time_unit parameter specifies the time @@ -284,7 +284,7 @@ across the upstream network link.
Reduce the smtp_connect_timeout and smtp_helo_timeout values so that Postfix does not waste lots of time connecting -to non-responding smtpd(8) servers.
+to non-responding remote SMTP servers.Use a dedicated mail delivery transport for problematic destinations, with reduced timeouts and with adjusted concurrency. diff --git a/postfix/html/XFORWARD_README.html b/postfix/html/XFORWARD_README.html index c1f02d821..11a26b40f 100644 --- a/postfix/html/XFORWARD_README.html +++ b/postfix/html/XFORWARD_README.html @@ -96,10 +96,12 @@ names are shown in upper case, they are in fact case insensitive.
The SOURCE attribute specifies LOCAL when the message was received from a source that is local with respect to the - up-stream host, REMOTE for mail from a remote source, or - [UNAVAILABLE] when the information is unavailable. The down-stream - MTA may decide to enable header munging and address qualification - with mail from local sources.
+ up-stream host (for example, the message originated from the + up-stream host itself), REMOTE for all other mail, or [UNAVAILABLE] + when the information is unavailable. The down-stream MTA may + decide to enable features such as header munging or address + qualification with mail from local sources but not other sources. + diff --git a/postfix/html/cidr_table.5.html b/postfix/html/cidr_table.5.html index bfdbe7d44..799786d44 100644 --- a/postfix/html/cidr_table.5.html +++ b/postfix/html/cidr_table.5.html @@ -35,6 +35,16 @@ CIDR_TABLE(5) CIDR_TABLE(5) 0.0.0.0/0 to match every IPv4 address, and ::/0 to match every IPv6 address. + An IPv4 network address is a sequence of four deci- + mal octets separated by ".", and an IPv6 network + address is a sequence of three to eight hexadecimal + octet pairs separated by ":". + + Before comparisons are made, lookup keys and table + entries are converted from string to binary. There- + fore table entries will be matched regardless of + redundant zero characters. + Note: address information may be enclosed inside "[]" but this form is not recommended. diff --git a/postfix/html/master.5.html b/postfix/html/master.5.html index 67e2b0e20..d12f852e6 100644 --- a/postfix/html/master.5.html +++ b/postfix/html/master.5.html @@ -122,10 +122,10 @@ MASTER(5) MASTER(5) main.cf file). Chroot should not be used with the local(8), - pipe(8) and spawn(8) daemons. Although the prox- - ymap(8) server can run chrooted, doing so defeats - most of the purpose of having that service in the - first place. + pipe(8), spawn(8), and virtual(8) daemons. + Although the proxymap(8) server can run chrooted, + doing so defeats most of the purpose of having that + service in the first place. The files in the examples/chroot-setup subdirectory of the Postfix source archive describe how to set diff --git a/postfix/html/postalias.1.html b/postfix/html/postalias.1.html index dcf5b671f..e77a653f7 100644 --- a/postfix/html/postalias.1.html +++ b/postfix/html/postalias.1.html @@ -117,22 +117,26 @@ POSTALIAS(1) POSTALIAS(1) types: btree The output is a btree file, named - file_name.db. This is available only on - systems with support for db databases. + file_name.db. This is available on systems + with support for db databases. + + cdb The output is one file named file_name.cdb. + This is available on systems with support + for cdb databases. dbm The output consists of two files, named file_name.pag and file_name.dir. This is - available only on systems with support for - dbm databases. + available on systems with support for dbm + databases. hash The output is a hashed file, named - file_name.db. This is available only on - systems with support for db databases. + file_name.db. This is available on systems + with support for db databases. sdbm The output consists of two files, named file_name.pag and file_name.dir. This is - available only on systems with support for - sdbm databases. + available on systems with support for sdbm + databases. When no file_type is specified, the software uses the database type specified via the diff --git a/postfix/html/postconf.1.html b/postfix/html/postconf.1.html index 0150a6bb4..a735f34d6 100644 --- a/postfix/html/postconf.1.html +++ b/postfix/html/postconf.1.html @@ -44,8 +44,8 @@ POSTCONF(1) POSTCONF(1) flock A kernel-based advisory locking method for local files only. This locking method is - available only on systems with a BSD compat- - ible library. + available on systems with a BSD compatible + library. fcntl A kernel-based advisory locking method for local and remote files. @@ -59,93 +59,99 @@ POSTCONF(1) POSTCONF(1) were left behind after abnormal termination. -m List the names of all supported lookup table types. - Postfix lookup tables are specified as type:name, - where type is one of the types listed below. The - table name syntax depends on the lookup table type. - - btree A sorted, balanced tree structure. This is - available only on systems with support for - Berkeley DB databases. - - cidr A table that associates values with Class- - less Inter-Domain Routing (CIDR) patterns. + In Postfix configuration files, lookup tables are + specified as type:name, where type is one of the + types listed below. The table name syntax depends + on the lookup table type as described in the + DATABASE_README document. + + btree A sorted, balanced tree structure. This is + available on systems with support for Berke- + ley DB databases. + + cdb A read-optimized structure with no support + for incremental updates. This is available + on systems with support for CDB databases. + + cidr A table that associates values with Class- + less Inter-Domain Routing (CIDR) patterns. This is described in cidr_table(5). dbm An indexed file type based on hashing. This - is available only on systems with support - for DBM databases. + is available on systems with support for DBM + databases. environ The UNIX process environment array. The - lookup key is the variable name. Originally - implemented for testing, someone may find + lookup key is the variable name. Originally + implemented for testing, someone may find this useful someday. hash An indexed file type based on hashing. This - is available only on systems with support - for Berkeley DB databases. + is available on systems with support for + Berkeley DB databases. ldap (read-only) - Perform lookups using the LDAP protocol. + Perform lookups using the LDAP protocol. This is described in ldap_table(5). mysql (read-only) - Perform lookups using the MYSQL protocol. + Perform lookups using the MYSQL protocol. This is described in mysql_table(5). pcre (read-only) A lookup table based on Perl Compatible Reg- - ular Expressions. The file format is + ular Expressions. The file format is described in pcre_table(5). pgsql (read-only) - Perform lookups using the PostgreSQL proto- + Perform lookups using the PostgreSQL proto- col. This is described in pgsql_table(5). proxy (read-only) - A lookup table that is implemented via the - Postfix proxymap(8) service. The table name + A lookup table that is implemented via the + Postfix proxymap(8) service. The table name syntax is type:name. regexp (read-only) A lookup table based on regular expressions. - The file format is described in reg- + The file format is described in reg- exp_table(5). sdbm An indexed file type based on hashing. This - is available only on systems with support - for SDBM databases. + is available on systems with support for + SDBM databases. static (read-only) - A table that always returns its name as - lookup result. For example, static:foobar - always returns the string foobar as lookup + A table that always returns its name as + lookup result. For example, static:foobar + always returns the string foobar as lookup result. tcp (read-only) Perform lookups using a simple request-reply - protocol that is described in tcp_table(5). - This feature is not included with Postfix + protocol that is described in tcp_table(5). + This feature is not included with Postfix 2.1. unix (read-only) - A limited way to query the UNIX authentica- + A limited way to query the UNIX authentica- tion database. The following tables are implemented: unix:passwd.byname - The table is the UNIX password - database. The key is a login name. - The result is a password file entry + The table is the UNIX password + database. The key is a login name. + The result is a password file entry in passwd(5) format. unix:group.byname - The table is the UNIX group - database. The key is a group name. - The result is a group file entry in + The table is the UNIX group + database. The key is a group name. + The result is a group file entry in group(5) format. - Other table types may exist depending on how Postfix was + Other table types may exist depending on how Postfix was built. -n Print parameter settings that are not left at their @@ -153,7 +159,7 @@ POSTCONF(1) POSTCONF(1) specified in main.cf. -v Enable verbose logging for debugging purposes. Mul- - tiple -v options make the software increasingly + tiple -v options make the software increasingly verbose. DIAGNOSTICS @@ -164,14 +170,14 @@ POSTCONF(1) POSTCONF(1) Directory with Postfix configuration files. CONFIGURATION PARAMETERS - The following main.cf parameters are especially relevant + The following main.cf parameters are especially relevant to this program. - The text below provides only a parameter summary. See + The text below provides only a parameter summary. See postconf(5) for more details including examples. config_directory (see 'postconf -d' output) - The default location of the Postfix main.cf and + The default location of the Postfix main.cf and master.cf configuration files. FILES @@ -184,7 +190,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/postconf.5.html b/postfix/html/postconf.5.html index e2b876ba9..2fb6be1bf 100644 --- a/postfix/html/postconf.5.html +++ b/postfix/html/postconf.5.html @@ -2093,11 +2093,29 @@ By default, mail is returned to the sender when a destination is not found, and delivery is deferred if a destination is unreachable. --The fallback relays must be SMTP destinations. Specify a domain, +
The fallback relays must be SMTP destinations. Specify a domain, host, host:port, [host]:port, [address] or [address]:port; the form [host] turns off MX lookups. If you specify multiple SMTP -destinations, Postfix will try them in the specified order. +destinations, Postfix will try them in the specified order.
+ +NOTE: Do not use the fallback_relay feature when relaying mail +for a backup or primary MX domain. Mail would loop between the +Postfix MX host and the fallback_relay host when the final destination +is unavailable.
+ +These are default settings in Postfix version 2.2 and later.
@@ -3146,35 +3164,46 @@ into concurrency per domain.Append the domain name in $myorigin or $mydomain to message header addresses from these clients only; either don't rewrite message headers from other clients at all, or append the domain specified with the remote_header_rewrite_domain parameter.
+See the append_at_myorigin and append_dot_mydomain parameters +for details of how domain names are appended to incomplete addresses. +
+Specify a list of zero or more of the following:
Examples:
-The backwards compatible setting: always rewrite message headers, -and always append my own domain to incomplete header addresses.
+The Postfix < 2.2 backwards compatible setting: always rewrite +message headers, and always append my own domain to incomplete +header addresses.
local_header_rewrite_clients = static:all
-The purist setting: rewrite headers only in mail from Postfix -sendmail and in SMTP mail from this machine.
+The purist (and default) setting: rewrite headers only in mail +from Postfix sendmail and in SMTP mail from this machine.
- mynetworks_style = host - local_header_rewrite_clients = permit_mynetworks + local_header_rewrite_clients = permit_inet_interfaces-
The default setting: rewrite headers and append my own domain -only with mail from Postfix sendmail and from local or authorized -SMTP clients.
- -- local_header_rewrite_clients = permit_mynetworks, - permit_sasl_authenticated permit_tls_clientcerts -+
The intermediate setting: rewrite header addresses and append +$myorigin or $mydomain information only with mail from Postfix +sendmail, from local clients, or from authorized SMTP clients.
-The ISP setting: include clients that are pop-before-smtp -authenticated.
+NOTE: This setting will not prevent remote mail header address +rewriting when mail from a remote client is forwarded by a neighboring +system.
local_header_rewrite_clients = permit_mynetworks,
@@ -6562,9 +6588,7 @@ side specify one of the following keywords:
Note: on OpenBSD systems specify /dev/arandom when /dev/urandom +gives timeout errors.
+Postfix versions 2.1 and earlier always rewrite message header -addresses, and append Postfix's own domain information to incomplete -addresses. While rewriting message headers is OK for mail with a -local origin, it is undesirable for remote mail:
+addresses, and append Postfix's own domain information to addresses +that Postfix considers incomplete. While rewriting message header +addresses is OK for mail with a local origin, it is undesirable +for remote mail:The local_header_rewrite_clients parameter controls what SMTP -clients Postfix considers local instead of remote.
-The figure below zooms in on those parts of Postfix that are most diff --git a/postfix/proto/DEBUG_README.html b/postfix/proto/DEBUG_README.html index 803e71072..84ce6db06 100644 --- a/postfix/proto/DEBUG_README.html +++ b/postfix/proto/DEBUG_README.html @@ -499,7 +499,9 @@ document to find out where logging is stored. Please do not frustrate the helpers by word wrapping the logging.
Output from "postconf -n". Please do not send your main.cf -file. Or better, provide output from the "postfinger" tool.
+file. Or better, provide output from the "postfinger" tool. This +tool is bundled with Postfix 2.2 and later source code, and can be +found at http://ftp.wl0.org/SOURCES/postfinger.If the problem is about too much mail in the queue, consider including output from the qshape tool, as described in the diff --git a/postfix/proto/OVERVIEW.html b/postfix/proto/OVERVIEW.html index 64e12f11a..7429f6ece 100644 --- a/postfix/proto/OVERVIEW.html +++ b/postfix/proto/OVERVIEW.html @@ -445,7 +445,8 @@ postfix-script(1) -
The anvil(8) server implements client connection and rate +
The anvil(8) server implements client connection and +request rate limiting for all smtpd(8) servers. The TUNING_README document provides guidance for dealing with mis-behaving SMTP clients. The anvil(8) service is not included with Postfix version 2.1 or earlier. @@ -538,22 +539,26 @@ table among multiple processes.
The scache(8) server maintains the connection cache for the Postfix smtp(8) client. When connection caching is enabled for -selected -destinations, the smtp(8) client does not disconnect immediately -after a mail transaction, but gives the connection to the connection -cache server. The smtp(8) client continues with some other mail -delivery request. Meanwhile, the connection cache server keeps the -connection open for a limited amount of time. During that time, -any smtp(8) process can ask the scache(8) server for that cached -connection and use it for mail delivery.
+selected destinations, the smtp(8) client does not disconnect +immediately after a mail transaction, but gives the connection to +the connection cache server which keeps the connection open for a +limited amount of time. The smtp(8) client continues with some +other mail delivery request. Meanwhile, any smtp(8) process can +ask the scache(8) server for that cached connection and reuse it +for mail delivery. As a safety measure, Postfix limits the number +of times that a connection may be reused. + +When delivering mail to a destination with multiple mail servers, +connection caching can help to skip over a non-responding server, +and thus dramatically speed up delivery.
| smtp(8) - | -> | scache(8) | -> - | smtp(8) - |
+|||
| smtp(8) + | <-> | scache(8) | +<-> | +smtp(8) |
The tlsmgr(8) server runs when TLS (Transport Layer +Security, formerly known as SSL) is turned on in the Postfix smtp(8) +client or smtpd(8) server. This process has two duties:
+ +Maintain the pseudo-random number generator (PRNG) that +is used to seed the TLS engines in Postfix smtp(8) client or smtpd(8) +server processes. The state of this PRNG is saved periodically to +a file, and is read when tlsmgr(8) starts up.
+ +Maintain the optional Postfix smtp(8) client or smtpd(8) +server caches with TLS session keys. Saved keys can improve +performance by reducing the amount of computation at the start of +a TLS session.
+ +TLS support is available in Postfix version 2.2 and later. +Information about the Postfix TLS implementation is in the TLS_README +document.
+ +| Network-> | smtpd(8) |
+ <---seed--- <-session-> | tlsmgr(8) |
+ ---seed---> <-session-> + | smtp(8) + | ->Network | ||||||||||
| | | |
| ||||||||||||||
|
+smtpd session cache | PRNG state file | smtp session cache |
+||||||||||||||
The verify(8) server verifies that a sender or recipient address is deliverable before the smtpd(8) server accepts it. The verify(8) server injects probe messages into the Postfix queue and diff --git a/postfix/proto/PCRE_README.html b/postfix/proto/PCRE_README.html index 2e5adec65..e00af3ed2 100644 --- a/postfix/proto/PCRE_README.html +++ b/postfix/proto/PCRE_README.html @@ -61,7 +61,7 @@ make -f Makefile.init makefiles \ -
Solaris may need run-time path information:
+Solaris needs run-time path information too:
+diff --git a/postfix/proto/STANDARD_CONFIGURATION_README.html b/postfix/proto/STANDARD_CONFIGURATION_README.html index c3999645e..c06e37764 100644 --- a/postfix/proto/STANDARD_CONFIGURATION_README.html +++ b/postfix/proto/STANDARD_CONFIGURATION_README.html @@ -577,8 +577,28 @@ table. dbm files instead of db files. To find out what lookup tables Postfix supports, use the command "postconf -m". -Execute the command "postmap /etc/postfix/transport" whenever -you change the transport table.
+Execute the command "postmap /etc/postfix/transport" +whenever you change the transport table.
+ +NOTE: Do not use the fallback_relay feature when relaying mail +for a backup or primary MX domain. Mail would loop between the +Postfix MX host and the fallback_relay host when the final destination +is unavailable.
+ ++ +
+ +- In main.cf specify "relay_transport = relay", + +
- In master.cf specify "-o fallback_relay =" at the +end of the relay entry. + +
- In transport maps, specify "relay:nexthop..." +as the right-hand side for backup or primary MX domain entries. + +
These are default settings in Postfix version 2.2 and later. +
Postfix on a dialup machine
diff --git a/postfix/proto/TLS_README.html b/postfix/proto/TLS_README.html index c29e8e9e5..395ea4e6a 100644 --- a/postfix/proto/TLS_README.html +++ b/postfix/proto/TLS_README.html @@ -27,13 +27,63 @@ code. Assuming that OpenSSL is written as carefully as Wietse's own code, every 1000 lines introduce one additional bug into Postfix. -Purpose of this document
+Introduction
-This document describes how to build Postfix with Transport -Layer Security (TLS) support in the Postfix SMTP client and Postfix -SMTP server, and how to configure the TLS manager daemon that -maintains the Pseudo Random Number Generator (PRNG) pool and the -TLS session cache information.
+This document requires Postfix version 2.2 or later.
+ +Postfix may be built with Transport Layer Security (TLS, formerly +called SSL) protocol support as described in RFC 3207. This provides +certificate-based authentication, and encrypted sessions. An +encrypted session protects the information that is transmitted with +SMTP mail or with SASL authentication. The main elements of the +Postfix TLS architecture are:
+ ++ +
+ +The smtpd(8) server implements the SMTP over TLS server +side.
+ +The smtp(8) client implements the SMTP over TLS client +side.
+ +The tlsmgr(8) server maintains the pseudo-random number +generator (PRNG) that seeds the TLS engines in the smtpd(8) server +and smtp(8) client processes, and maintains the TLS session cache +files with TLS session keys.
+ +The following diagram shows the relationship between these +architecture elements.
+ ++ +
+ + Network->
smtpd(8)
+ + <---seed---
<-session->+
tlsmgr(8)
---seed--->
<-session-> + +
smtp(8)
+->Network + + +
+ + / / |
|+ +
\ \ ++ + +smtpd
session
cachePRNG
state
filesmtp + +
session
cacheTopics covered in this document:
@@ -67,7 +117,7 @@ TLS session cache information.To build Postfix with TLS support, first we need to generate the make(1) files with the necessary definitions. This is -done by invoking the command "make makefiles in the Postfix +done by invoking the command "make makefiles" in the Postfix top-level directory and with arguments as shown next.
@@ -97,6 +147,16 @@ are in directory /usr/local/lib:
On Solaris, specify the -R option as shown below: + +
+++% make tidy # if you have left-over files from a previous build +% make makefiles CCARGS="-DUSE_TLS -I/usr/local/include" \ + AUXLIBS="-R/usr/local/lib -L/usr/local/lib -lssl -lcrypto" ++
If you need to apply other customizations (such as Berkeley DB @@ -973,9 +1033,7 @@ specify one of the following keywords:
In order to feed its in-memory PRNG pool, the tlsmgr(8) reads entropy from an external source, both at startup and during run-time. Specify a good entropy source, like EGD or /dev/urandom; be sure -to only use non-blocking sources. If the entropy source is not a +to only use non-blocking sources (on OpenBSD, use /dev/arandom +when tlsmgr(8) complains about /dev/urandom timeout errors). +If the entropy source is not a regular file, you must prepend the source type to the source name: "dev:" for a device special file, or "egd:" for a source with EGD compatible socket interface.
diff --git a/postfix/proto/TUNING_README.html b/postfix/proto/TUNING_README.html index cba1e046d..43eb87784 100644 --- a/postfix/proto/TUNING_README.html +++ b/postfix/proto/TUNING_README.html @@ -284,7 +284,7 @@ across the upstream network link.Reduce the smtp_connect_timeout and smtp_helo_timeout values so that Postfix does not waste lots of time connecting -to non-responding smtpd(8) servers.
+to non-responding remote SMTP servers.Use a dedicated mail delivery transport for problematic destinations, with reduced timeouts and with adjusted concurrency. diff --git a/postfix/proto/XFORWARD_README.html b/postfix/proto/XFORWARD_README.html index a748447fa..f8b14793f 100644 --- a/postfix/proto/XFORWARD_README.html +++ b/postfix/proto/XFORWARD_README.html @@ -96,10 +96,12 @@ names are shown in upper case, they are in fact case insensitive.
The SOURCE attribute specifies LOCAL when the message was received from a source that is local with respect to the - up-stream host, REMOTE for mail from a remote source, or - [UNAVAILABLE] when the information is unavailable. The down-stream - MTA may decide to enable header munging and address qualification - with mail from local sources.
+ up-stream host (for example, the message originated from the + up-stream host itself), REMOTE for all other mail, or [UNAVAILABLE] + when the information is unavailable. The down-stream MTA may + decide to enable features such as header munging or address + qualification with mail from local sources but not other sources. + diff --git a/postfix/proto/cidr_table b/postfix/proto/cidr_table index 50e3a1e38..7e9cef1a9 100644 --- a/postfix/proto/cidr_table +++ b/postfix/proto/cidr_table @@ -9,8 +9,8 @@ # \fBpostmap -q - cidr:/etc/postfix/\fIfilename\fR <\fIinputfile\fR # DESCRIPTION # The Postfix mail system uses optional lookup tables. -# These tables are usually in \fBdbm\fR or \fBdb\fR format. -# Alternatively, lookup tables can be specified in CIDR +# These tables are usually in \fBdbm\fR or \fBdb\fR format. +# Alternatively, lookup tables can be specified in CIDR # (Classless Inter-Domain Routing) form. # # To find out what types of lookup tables your Postfix system @@ -28,6 +28,14 @@ # 0.0.0.0/0 to match every IPv4 address, and ::/0 to match # every IPv6 address. # +# An IPv4 network address is a sequence of four decimal octets +# separated by ".", and an IPv6 network address is a sequence +# of three to eight hexadecimal octet pairs separated by ":". +# +# Before comparisons are made, lookup keys and table entries +# are converted from string to binary. Therefore table entries +# will be matched regardless of redundant zero characters. +# # Note: address information may be enclosed inside "[]" but # this form is not recommended. # diff --git a/postfix/proto/master b/postfix/proto/master index b317c718f..2ea8235ba 100644 --- a/postfix/proto/master +++ b/postfix/proto/master @@ -104,7 +104,8 @@ # configuration variable in the main.cf file). # .sp # Chroot should not be used with the \fBlocal\fR(8), -# \fBpipe\fR(8) and \fBspawn\fR(8) daemons. Although the +# \fBpipe\fR(8), \fBspawn\fR(8), and virtual(8) daemons. +# Although the # \fBproxymap\fR(8) server can run chrooted, doing so defeats # most of the purpose of having that service in the first # place. diff --git a/postfix/proto/postconf.proto b/postfix/proto/postconf.proto index 2fb5fcb45..61b2edb1b 100644 --- a/postfix/proto/postconf.proto +++ b/postfix/proto/postconf.proto @@ -1163,11 +1163,29 @@ By default, mail is returned to the sender when a destination is not found, and delivery is deferred if a destination is unreachable. --The fallback relays must be SMTP destinations. Specify a domain, +
The fallback relays must be SMTP destinations. Specify a domain, host, host:port, [host]:port, [address] or [address]:port; the form [host] turns off MX lookups. If you specify multiple SMTP -destinations, Postfix will try them in the specified order. +destinations, Postfix will try them in the specified order.
+ +NOTE: Do not use the fallback_relay feature when relaying mail +for a backup or primary MX domain. Mail would loop between the +Postfix MX host and the fallback_relay host when the final destination +is unavailable.
+ +These are default settings in Postfix version 2.2 and later.
%PARAM fast_flush_domains $relay_domains @@ -4284,6 +4302,11 @@ client network address information. parent domains, client IP address, or networks obtained by stripping least significant octets. See the access(5) manual page for details.Append the domain name in $myorigin or $mydomain to message header addresses from these clients only; either don't rewrite message headers from other clients at all, or append the domain specified with the remote_header_rewrite_domain parameter.
+See the append_at_myorigin and append_dot_mydomain parameters +for details of how domain names are appended to incomplete addresses. +
+Specify a list of zero or more of the following:
Examples:
-The backwards compatible setting: always rewrite message headers, -and always append my own domain to incomplete header addresses.
+The Postfix < 2.2 backwards compatible setting: always rewrite +message headers, and always append my own domain to incomplete +header addresses.
local_header_rewrite_clients = static:all
-The purist setting: rewrite headers only in mail from Postfix -sendmail and in SMTP mail from this machine.
+The purist (and default) setting: rewrite headers only in mail +from Postfix sendmail and in SMTP mail from this machine.
- mynetworks_style = host - local_header_rewrite_clients = permit_mynetworks + local_header_rewrite_clients = permit_inet_interfaces-
The default setting: rewrite headers and append my own domain -only with mail from Postfix sendmail and from local or authorized -SMTP clients.
+The intermediate setting: rewrite header addresses and append +$myorigin or $mydomain information only with mail from Postfix +sendmail, from local clients, or from authorized SMTP clients.
-- local_header_rewrite_clients = permit_mynetworks, - permit_sasl_authenticated permit_tls_clientcerts -- -
The ISP setting: include clients that are pop-before-smtp -authenticated.
+NOTE: This setting will not prevent remote mail header address +rewriting when mail from a remote client is forwarded by a neighboring +system.
local_header_rewrite_clients = permit_mynetworks,
@@ -8042,9 +8073,7 @@ side specify one of the following keywords:
Note: on OpenBSD systems specify /dev/arandom when /dev/urandom +gives timeout errors.
+ %PARAM tls_random_bytes 32 The number of bytes that tlsmgr(8) reads from $tls_random_source
diff --git a/postfix/src/dns/test_dns_lookup.c b/postfix/src/dns/test_dns_lookup.c
index 8d32387e8..a5388f009 100644
--- a/postfix/src/dns/test_dns_lookup.c
+++ b/postfix/src/dns/test_dns_lookup.c
@@ -33,6 +33,8 @@
#include