diff --git a/postfix/HISTORY b/postfix/HISTORY index 5bb2b8157..5b94ef6ce 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -19216,3 +19216,11 @@ Apologies for any names omitted. manpages. Files: mantools/postlink, conf/postfix-files, html/Makefile.in, man/Makefile.in, proto/DATABASE_README.html, postconf/postconf.c, proto/socketmap_table, proto/lmdb_table. + +20121122 + + Documentation: missing database hyperlinks, refined text + about partial lookup keys. Files: mantools/postlink, + proto/DATABASE_README.html, proto/lmdb_table, + proto/socketmap_table. + diff --git a/postfix/README_FILES/DATABASE_README b/postfix/README_FILES/DATABASE_README index d08559902..06fe6f5be 100644 --- a/postfix/README_FILES/DATABASE_README +++ b/postfix/README_FILES/DATABASE_README @@ -216,12 +216,12 @@ To find out what database types your Postfix system supports, use the "ppooss A non-shared, in-memory hash table. Its content are lost when a process terminates. llmmddbb - OpenLDAP LMDB database (a memory-mapped. This is available only on - systems with support for LMDB databases. Public database files are - created with the postmap(1) or postalias(1) command, and private - databases are maintained by Postfix daemons. The database name as used - in "lmdb:table" is the database file name without the ".lmdb" suffix. - See lmdb_table(5) for details. + OpenLDAP LMDB database. This is available only on systems with support + for LMDB databases. Public database files are created with the postmap + (1) or postalias(1) command, and private databases are maintained by + Postfix daemons. The database name as used in "lmdb:table" is the + database file name without the ".lmdb" suffix. See lmdb_table(5) for + details. llddaapp (read-only) LDAP database client. Configuration details are given in the ldap_table (5). @@ -267,8 +267,7 @@ To find out what database types your Postfix system supports, use the "ppooss SQLite database. Configuration details are given in sqlite_table(5). ssttaattiicc (read-only) A table that always returns its name as the lookup result. For example, - the lookup table "static:foobar" always returns the string "foobar" as - lookup result. + "static:foobar" always returns the string "foobar" as lookup result. ttccpp TCP/IP client. The protocol is described in tcp_table(5). The lookup table name is "tcp:host:port" where "host" specifies a symbolic diff --git a/postfix/html/ADDRESS_REWRITING_README.html b/postfix/html/ADDRESS_REWRITING_README.html index ee8a670fe..158b38d88 100644 --- a/postfix/html/ADDRESS_REWRITING_README.html +++ b/postfix/html/ADDRESS_REWRITING_README.html @@ -554,14 +554,14 @@ more lookup tables, separated by whitespace or commas.
-/etc/postfix/main.cf: - canonical_maps = hash:/etc/postfix/canonical + canonical_maps = hash:/etc/postfix/canonical /etc/postfix/canonical: wietse Wietse.Venema
For static mappings as shown above, lookup tables such as hash:, +
For static mappings as shown above, lookup tables such as hash:, ldap:, mysql: or pgsql: are sufficient. For dynamic mappings you can use regular expression tables. This requires that you become intimately familiar with the ideas expressed in regexp_table(5), @@ -576,8 +576,8 @@ applied only to sender addresses or to recipient addresses.
@@ -783,7 +783,7 @@ commas./etc/postfix/main.cf: - sender_canonical_maps = hash:/etc/postfix/sender_canonical - recipient_canonical_maps = hash:/etc/postfix/recipient_canonical + sender_canonical_maps = hash:/etc/postfix/sender_canonical + recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
/etc/postfix/main.cf: - virtual_alias_maps = hash:/etc/postfix/virtual + virtual_alias_maps = hash:/etc/postfix/virtual /etc/postfix/virtual: Wietse.Venema wietse @@ -794,7 +794,7 @@ commas. iteration of virtual aliasing, but are not subjected to canonical mapping, in order to avoid loops. -For static mappings as shown above, lookup tables such as hash:, +
For static mappings as shown above, lookup tables such as hash:, ldap:, mysql: or pgsql: are sufficient. For dynamic mappings you can use regular expression tables. This requires that you become intimately familiar with the ideas expressed in regexp_table(5), @@ -931,7 +931,7 @@ one or more lookup tables, separated by whitespace or commas.
@@ -958,7 +958,7 @@ one or more lookup tables, separated by whitespace or commas./etc/postfix/main.cf: - transport_maps = hash:/etc/postfix/transport + transport_maps = hash:/etc/postfix/transport@@ -454,7 +454,7 @@ a built-in suffix (in the above example: "_time_limit")./etc/postfix/main.cf: - relocated_maps = hash:/etc/postfix/relocated + relocated_maps = hash:/etc/postfix/relocated /etc/postfix/relocated: username@example.com otheruser@elsewhere.tld @@ -992,7 +992,7 @@ local machine.-/etc/postfix/main.cf: - smtp_generic_maps = hash:/etc/postfix/generic + smtp_generic_maps = hash:/etc/postfix/generic /etc/postfix/generic: his@localdomain.local hisaccount@hisisp.example @@ -1025,8 +1025,8 @@ one of the following:-@@ -1037,9 +1037,9 @@ Usually it is one of the following:/etc/postfix/main.cf: - alias_maps = hash:/etc/aliases - alias_maps = dbm:/etc/aliases, nis:mail.aliases + alias_maps = hash:/etc/aliases + alias_maps = dbm:/etc/aliases, nis:mail.aliasesdiff --git a/postfix/html/ADDRESS_VERIFICATION_README.html b/postfix/html/ADDRESS_VERIFICATION_README.html index 541c55619..95e73c462 100644 --- a/postfix/html/ADDRESS_VERIFICATION_README.html +++ b/postfix/html/ADDRESS_VERIFICATION_README.html @@ -333,7 +333,7 @@ in forged email./etc/postfix/main.cf: - alias_database = hash:/etc/aliases (4.4BSD, LINUX) - alias_database = dbm:/etc/aliases (4.3BSD, SYSV<4) - alias_database = dbm:/etc/mail/aliases (SYSV4) + alias_database = hash:/etc/aliases (4.4BSD, LINUX) + alias_database = dbm:/etc/aliases (4.3BSD, SYSV<4) + alias_database = dbm:/etc/mail/aliases (SYSV4)@@ -457,20 +457,20 @@ results are lost after "postfix reload" or "postfix stop". # Example 1: Default setting for Postfix 2.7 and later. # Note: avoid hash files here. Use btree instead. /etc/postfix/main.cf: - address_verify_map = btree:$data_directory/verify_cache + address_verify_map = btree:$data_directory/verify_cache -# Example 2: Shared persistent lmdb: cache (Postfix 2.11 or later). +# Example 2: Shared persistent lmdb: cache (Postfix 2.11 or later). # Disable automatic cache cleanup in all Postfix instances except # for one instance that will be responsible for cache cleanup. /etc/postfix/main.cf: - address_verify_map = lmdb:$data_directory/verify_cache + address_verify_map = lmdb:$data_directory/verify_cache # address_verify_cache_cleanup_interval = 0 -# Example 3: Shared persistent btree: cache (Postfix 2.9 or later). +# Example 3: Shared persistent btree: cache (Postfix 2.9 or later). # Disable automatic cache cleanup in all Postfix instances except # for one instance that will be responsible for cache cleanup. /etc/postfix/main.cf: - address_verify_map = proxy:btree:$data_directory/verify_cache + address_verify_map = proxy:btree:$data_directory/verify_cache # address_verify_cache_cleanup_interval = 0 # Example 4: Shared memory cache (requires Postfix 2.9 or later). diff --git a/postfix/html/BACKSCATTER_README.html b/postfix/html/BACKSCATTER_README.html index 2638260bc..d6bd10ea7 100644 --- a/postfix/html/BACKSCATTER_README.html +++ b/postfix/html/BACKSCATTER_README.html @@ -266,7 +266,7 @@ mapping translates this temporary address into user@porcupine.org./etc/postfix/main.cf: - smtpd_sender_restrictions = hash:/etc/postfix/sender_access + smtpd_sender_restrictions = hash:/etc/postfix/sender_access unverified_sender_reject_code = 550 # Postfix 2.6 and later. # unverified_sender_defer_code = 250 @@ -341,7 +341,7 @@ in forged email. # Default setting for Postfix 2.7 and later. # Note 1: Be sure to read the "Caching" section below! # Note 2: Avoid hash files here. Use btree instead. - address_verify_map = btree:/var/lib/postfix/verify + address_verify_map = btree:/var/lib/postfix/verify /etc/postfix/sender_access: # Don't do this when you handle lots of email. @@ -378,7 +378,7 @@ you can see what mail would be blocked: smtpd_sender_restrictions = permit_mynetworks ... - check_sender_access hash:/etc/postfix/sender_access + check_sender_access hash:/etc/postfix/sender_access reject_unknown_sender_domain warn_if_reject reject_unverified_sender ... @@ -388,7 +388,7 @@ you can see what mail would be blocked: # Default setting for Postfix 2.7 and later. # Note 1: Be sure to read the "Caching" section below! # Note 2: Avoid hash files here. Use btree instead. - address_verify_map = btree:/var/lib/postfix/verify + address_verify_map = btree:/var/lib/postfix/verify/etc/postfix/main.cf: - canonical_maps = hash:/etc/postfix/canonical + canonical_maps = hash:/etc/postfix/canonical /etc/postfix/canonical: @hostname.porcupine.org @porcupine.org diff --git a/postfix/html/BASIC_CONFIGURATION_README.html b/postfix/html/BASIC_CONFIGURATION_README.html index bada5077e..1cbed0818 100644 --- a/postfix/html/BASIC_CONFIGURATION_README.html +++ b/postfix/html/BASIC_CONFIGURATION_README.html @@ -163,7 +163,7 @@ Here is a common example of how Postfix invokes a database:@@ -210,7 +210,7 @@ See the VIRTUAL_README file for how to configu hosted domains./etc/postfix/main.cf: - virtual_alias_maps = hash:/etc/postfix/virtual + virtual_alias_maps = hash:/etc/postfix/virtualYou can specify zero or more domain names, "/file/name" patterns -and/or "type:table" lookup tables (such as hash:, btree:, nis:, ldap:, +and/or "type:table" lookup tables (such as hash:, btree:, nis:, ldap:, or mysql:), separated by whitespace and/or commas. A "/file/name" pattern is replaced by its contents; "type:table" requests that a table lookup is done and merely tests for existence: the lookup diff --git a/postfix/html/DATABASE_README.html b/postfix/html/DATABASE_README.html index eec6d13f5..389ed08c7 100644 --- a/postfix/html/DATABASE_README.html +++ b/postfix/html/DATABASE_README.html @@ -55,10 +55,10 @@ documentation:
@@ -116,7 +116,7 @@ and are easy to debug with the postmap(1) command:/etc/postfix/main.cf: - alias_maps = hash:/etc/postfix/aliases (local aliasing) + alias_maps = hash:/etc/postfix/aliases (local aliasing) header_checks = regexp:/etc/postfix/header_checks (content filtering) - transport_maps = hash:/etc/postfix/transport (routing table) - virtual_alias_maps = hash:/etc/postfix/virtual (address rewriting) + transport_maps = hash:/etc/postfix/transport (routing table) + virtual_alias_maps = hash:/etc/postfix/virtual (address rewriting)@@ -266,7 +266,7 @@ that are often supported:-% postmap -q info@example.com hash:/etc/postfix/virtual +% postmap -q info@example.com hash:/etc/postfix/virtualA sorted, balanced tree structure. This is available only on systems with support for Berkeley DB databases. Database files are created with the postmap(1) or postalias(1) command. The lookup -table name as used in "btree:table" is the database file name +table name as used in "btree:table" is the database file name without the ".db" suffix. cdb @@ -289,13 +289,13 @@ Routing (CIDR) patterns. The table format is described in postmap(1) or postalias(1) command, and private databases are maintained by Postfix daemons. The lookup table name -as used in "dbm:table" is the database file name without the ".dir" +as used in "dbm:table" is the database file name without the ".dir" or ".pag" suffix.environ The UNIX process environment array. The lookup key is the -variable name. The lookup table name in "environ:table" is ignored. +variable name. The lookup table name in "environ:table" is ignored. fail @@ -310,7 +310,7 @@ error tests. on systems with support for Berkeley DB databases. Public database files are created with the postmap(1) or postalias(1) command, and private databases are maintained by Postfix daemons. The database -name as used in "hash:table" is the database file name without the +name as used in "hash:table" is the database file name without the ".db" suffix.internal @@ -320,12 +320,12 @@ a process terminates.lmdb -OpenLDAP LMDB database (a memory-mapped. This is available -only on systems with support for LMDB databases. Public database -files are created with the postmap(1) or postalias(1) command, and -private databases are maintained by Postfix daemons. The database -name as used in "lmdb:table" is the database file name without the -".lmdb" suffix. See lmdb_table(5) for details. +OpenLDAP LMDB database. This is available only on systems +with support for LMDB databases. Public database files are created +with the postmap(1) or postalias(1) command, and private databases +are maintained by Postfix daemons. The database name as used in +"lmdb:table" is the database file name without the ".lmdb" suffix. +See lmdb_table(5) for details. ldap (read-only) @@ -385,7 +385,7 @@ is described in regexp_table(5). The lookup ta on systems with support for SDBM databases. Public database files are created with the postmap(1) or postalias(1) command, and private databases are maintained by Postfix daemons. The lookup table name -as used in "sdbm:table" is the database file name without the ".dir" +as used in "sdbm:table" is the database file name without the ".dir" or ".pag" suffix.socketmap (read-only) @@ -403,8 +403,8 @@ server. See socketmap_table(5) for details.static (read-only) A table that always returns its name as the lookup result. -For example, the lookup table "static:foobar" always returns the -string "foobar" as lookup result. +For example, "static:foobar" always returns the string "foobar" as +lookup result.tcp @@ -415,7 +415,7 @@ symbolic service name or a numeric port number.texthash (read-only) -A table that produces similar results as hash: files, except + A table that produces similar results as hash: files, except that you don't have to run the postmap(1) command before you can use the file, and that texthash: does not detect changes after the file is read. The lookup table name is "texthash:filename", where @@ -428,13 +428,13 @@ tables are implemented: -
- unix:passwd.byname
+- unix:passwd.byname
- 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
+- unix:group.byname
- The table is the UNIX group database. The key is a group name. The result is a group file entry in group(5) format.
diff --git a/postfix/html/ETRN_README.html b/postfix/html/ETRN_README.html index 4322031c4..d88c1652f 100644 --- a/postfix/html/ETRN_README.html +++ b/postfix/html/ETRN_README.html @@ -255,7 +255,7 @@ for this delivery transport is deferred as soon as it arrives. 10 /etc/postfix/main.cf: 11 relay_domains = customer.tld ...other domains... 12 defer_transports = etrn-only -13 transport_maps = hash:/etc/postfix/transport +13 transport_maps = hash:/etc/postfix/transport 14 15 /etc/postfix/transport: 16 customer.tld etrn-only:[mailhost.customer.tld] diff --git a/postfix/html/LDAP_README.html b/postfix/html/LDAP_README.html index 6a3539280..10b3f937e 100644 --- a/postfix/html/LDAP_README.html +++ b/postfix/html/LDAP_README.html @@ -145,7 +145,7 @@ as a table lookup in main.cf, for example:@@ -161,7 +161,7 @@ aliases. Assume that in main.cf, you have:-alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf +alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cfdiff --git a/postfix/html/MAILDROP_README.html b/postfix/html/MAILDROP_README.html index 347c3b3a8..e2e09f62f 100644 --- a/postfix/html/MAILDROP_README.html +++ b/postfix/html/MAILDROP_README.html @@ -51,8 +51,8 @@ and for someother.domain. The example comes in two parts. 2 maildrop_destination_recipient_limit = 1 3 virtual_mailbox_domains = some.domain someother.domain 4 virtual_transport = maildrop - 5 virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox - 6 virtual_alias_maps = hash:/etc/postfix/virtual_alias + 5 virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox + 6 virtual_alias_maps = hash:/etc/postfix/virtual_alias 7 8 /etc/postfix/virtual_mailbox: 9 user1@some.domain ...text here does not matter... @@ -159,7 +159,7 @@ use the Postfix local(8) delivery agent's main.cf: - mailbox_command_maps = hash:/etc/postfix/mailbox_commands + mailbox_command_maps = hash:/etc/postfix/mailbox_commands /etc/postfix/mailbox_commands: you /path/to/maildrop -d ${USER} diff --git a/postfix/html/POSTSCREEN_README.html b/postfix/html/POSTSCREEN_README.html index 6aecf5948..fe1435f91 100644 --- a/postfix/html/POSTSCREEN_README.html +++ b/postfix/html/POSTSCREEN_README.html @@ -862,7 +862,7 @@ For example: secret.zen.spamhaus.org zen.spamhaus.org-alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf +alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cfThe texthash: format is similar to hash: except that there is +
The texthash: format is similar to hash: except that there is no need to run postmap(1) before the file can be used, and that it does not detect changes after the file is read. It is new with Postfix version 2.8.
@@ -1071,7 +1071,7 @@ of the following options: key_format = postscreen:%sA persistent lmdb: temporary whitelist can be shared between +
A persistent lmdb: temporary whitelist can be shared between postscreen(8) daemons that run under the same master(8) daemon, or under different master(8) daemons on the same host. Disable cache cleanup (postscreen_cache_cleanup_interval = 0) in all @@ -1079,9 +1079,9 @@ of the following options:
cleanup. This requires Postfix 2.11 or later.- # Example 2: persistent lmdb: whitelist. + # Example 2: persistent lmdb: whitelist. /etc/postfix/main.cf: - postscreen_cache_map = lmdb:$data_directory/postscreen_cache + postscreen_cache_map = lmdb:$data_directory/postscreen_cache # See note 1 below. # postscreen_cache_cleanup_interval = 0@@ -1093,18 +1093,18 @@ of the following options: 2.9 or later.- # Example 3: proxied btree: whitelist. + # Example 3: proxied btree: whitelist. /etc/postfix/main.cf: postscreen_cache_map = - proxy:btree:/var/lib/postfix/postscreen_cache + proxy:btree:/var/lib/postfix/postscreen_cache # See note 1 below. # postscreen_cache_cleanup_interval = 0 - # Example 4: proxied btree: whitelist with memcache: accelerator. + # Example 4: proxied btree: whitelist with memcache: accelerator. /etc/postfix/main.cf: postscreen_cache_map = memcache:/etc/postfix/postscreen_cache proxy_write_maps = - proxy:btree:/var/lib/postfix/postscreen_cache + proxy:btree:/var/lib/postfix/postscreen_cache ... other proxied tables ... # See note 1 below. # postscreen_cache_cleanup_interval = 0 @@ -1112,7 +1112,7 @@ of the following options: /etc/postfix/postscreen_cache: # Note: the $data_directory macro is not defined in this context. memcache = inet:127.0.0.1:11211 - backup = proxy:btree:/var/lib/postfix/postscreen_cache + backup = proxy:btree:/var/lib/postfix/postscreen_cache key_format = postscreen:%sdiff --git a/postfix/html/QSHAPE_README.html b/postfix/html/QSHAPE_README.html index 1ada2e5ee..69b9a1822 100644 --- a/postfix/html/QSHAPE_README.html +++ b/postfix/html/QSHAPE_README.html @@ -428,7 +428,7 @@ pseudo-cohort failure limit for the cloned smtp transport./etc/postfix/main.cf: - transport_maps = hash:/etc/postfix/transport + transport_maps = hash:/etc/postfix/transport fragile_destination_concurrency_failed_cohort_limit = 100 fragile_destination_concurrency_limit = 20 @@ -462,7 +462,7 @@ and destination concurrency limit for this transport (say 2000)./etc/postfix/main.cf: - transport_maps = hash:/etc/postfix/transport + transport_maps = hash:/etc/postfix/transport initial_destination_concurrency = 2000 fragile_destination_concurrency_limit = 2000 @@ -508,7 +508,7 @@ the same destination./etc/postfix/main.cf: - transport_maps = hash:/etc/postfix/transport + transport_maps = hash:/etc/postfix/transport slow_destination_rate_delay = 1 slow_destination_concurrency_failed_cohort_limit = 100 @@ -547,7 +547,7 @@ problem destination as the fallback_rel/etc/postfix/main.cf: - transport_maps = hash:/etc/postfix/transport + transport_maps = hash:/etc/postfix/transport /etc/postfix/transport: example.com slow:[dead.host] diff --git a/postfix/html/RESTRICTION_CLASS_README.html b/postfix/html/RESTRICTION_CLASS_README.html index 8858b92b8..37b19421b 100644 --- a/postfix/html/RESTRICTION_CLASS_README.html +++ b/postfix/html/RESTRICTION_CLASS_README.html @@ -53,7 +53,7 @@ care about these low-level details. # relay policy is specified with smtpd_relay_restrictions # (available with Postfix 2.10 and later). reject_unauth_destination - check_recipient_access hash:/etc/postfix/recipient_access + check_recipient_access hash:/etc/postfix/recipient_access ... /etc/postfix/recipient_access: @@ -107,7 +107,7 @@ to IP spoofing. /etc/postfix/main.cf: smtpd_recipient_restrictions = ... - check_recipient_access hash:/etc/postfix/access + check_recipient_access hash:/etc/postfix/access ...the usual stuff... /etc/postfix/access: @@ -139,11 +139,11 @@ therefore is subject to SMTP sender spoofing. /etc/postfix/main.cf: smtpd_recipient_restrictions = ... - check_recipient_access hash:/etc/postfix/protected_destinations + check_recipient_access hash:/etc/postfix/protected_destinations ...the usual stuff... smtpd_restriction_classes = insiders_only - insiders_only = check_sender_access hash:/etc/postfix/insiders, reject + insiders_only = check_sender_access hash:/etc/postfix/insiders, reject /etc/postfix/protected_destinations: all@my.domain insiders_only @@ -200,12 +200,12 @@ with LDAP or SQL. /etc/postfix/main.cf: smtpd_recipient_restrictions = ... - check_sender_access hash:/etc/postfix/restricted_senders + check_sender_access hash:/etc/postfix/restricted_senders ...other stuff... smtpd_restriction_classes = local_only local_only = - check_recipient_access hash:/etc/postfix/local_domains, reject + check_recipient_access hash:/etc/postfix/local_domains, reject /etc/postfix/restricted_senders: foo@domain local_only diff --git a/postfix/html/SASL_README.html b/postfix/html/SASL_README.html index 5e75ee5fb..92a610ffb 100644 --- a/postfix/html/SASL_README.html +++ b/postfix/html/SASL_README.html @@ -1421,7 +1421,7 @@ use a particular envelope sender address:@@ -411,7 +411,7 @@ processes only: 7 smtpd_recipient_restrictions = 8 ... 9 reject_unauth_destination -10 check_policy_service unix:private/greylist +10 check_policy_service unix:private/greylist 11 ...@@ -1823,9 +1823,9 @@ resort./etc/postfix/main.cf: - smtpd_sender_login_maps = hash:/etc/postfix/controlled_envelope_senders + smtpd_sender_login_maps = hash:/etc/postfix/controlled_envelope_senders smtpd_recipient_restrictions = ... @@ -1474,7 +1474,7 @@ REJECT mail from accounts whose credentials have been compromised. /etc/postfix/main.cf: smtpd_recipient_restrictions = permit_mynetworks - check_sasl_access hash:/etc/postfix/sasl_access + check_sasl_access hash:/etc/postfix/sasl_access permit_sasl_authenticated ... @@ -1717,7 +1717,7 @@ second part sets up the username/password information. relayhost = [mail.isp.example] # Alternative form: # relayhost = [mail.isp.example]:submission - smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd + smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd/etc/postfix/main.cf: smtp_sender_dependent_authentication = yes - sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay + sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay smtp_sasl_auth_enable = yes - smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd + smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd relayhost = [mail.isp.example] # Alternative form: # relayhost = [mail.isp.example]:submission diff --git a/postfix/html/SMTPD_ACCESS_README.html b/postfix/html/SMTPD_ACCESS_README.html index 87c810305..fc8b53230 100644 --- a/postfix/html/SMTPD_ACCESS_README.html +++ b/postfix/html/SMTPD_ACCESS_README.html @@ -209,7 +209,7 @@ described in the postconf(5) manual page. smtpd_data_restrictions = reject_unauth_pipelining # Enforce mail volume quota via policy service callouts. - smtpd_end_of_data_restrictions = check_policy_service unix:private/policy + smtpd_end_of_data_restrictions = check_policy_service unix:private/policyEach restriction list is evaluated from left to right until @@ -356,7 +356,7 @@ in too much access permission:
1 /etc/postfix/main.cf: 2 smtpd_recipient_restrictions = 3 permit_mynetworks -4 check_helo_access hash:/etc/postfix/helo_access +4 check_helo_access hash:/etc/postfix/helo_access 5 reject_unknown_helo_hostname 6 reject_unauth_destination 7 @@ -387,7 +387,7 @@ where they can do no harm. 2 smtpd_recipient_restrictions = 3 permit_mynetworks 4 reject_unauth_destination -5 check_helo_access hash:/etc/postfix/helo_access +5 check_helo_access hash:/etc/postfix/helo_access 6 reject_unknown_helo_hostname 7 8 /etc/postfix/helo_access: diff --git a/postfix/html/SMTPD_POLICY_README.html b/postfix/html/SMTPD_POLICY_README.html index 3bdd4305a..995db85b1 100644 --- a/postfix/html/SMTPD_POLICY_README.html +++ b/postfix/html/SMTPD_POLICY_README.html @@ -235,8 +235,8 @@ or to a UNIX-domain socket. Examples:@@ -261,7 +261,7 @@ daemon, you would use something like this: 6 smtpd_recipient_restrictions = 7 ... 8 reject_unauth_destination - 9 check_policy_service unix:private/policy + 9 check_policy_service unix:private/policy 10 ... 11 policy_time_limit = 3600inet:127.0.0.1:9998 -unix:/some/where/policy -unix:private/policy +unix:/some/where/policy +unix:private/policyWith Solaris < 9, or Postfix < 2.10 on any Solaris -version, use inet: style sockets instead of unix: +version, use inet: style sockets instead of unix: style, as detailed in the "Policy client/server configuration" section above.
@@ -489,10 +489,10 @@ forged MAIL FROM domains could be found at 3 reject_unlisted_recipient 4 ... 5 reject_unauth_destination - 6 check_sender_access hash:/etc/postfix/sender_access + 6 check_sender_access hash:/etc/postfix/sender_access 7 ... 8 smtpd_restriction_classes = greylist - 9 greylist = check_policy_service unix:private/greylist + 9 greylist = check_policy_service unix:private/greylist 10 11 /etc/postfix/sender_access: 12 aol.com greylist @@ -547,8 +547,8 @@ most of the delays and most of the database pollution problem. 3 reject_unlisted_recipient 4 ... 5 reject_unauth_destination - 6 check_sender_access hash:/etc/postfix/sender_access - 7 check_policy_service unix:private/policy + 6 check_sender_access hash:/etc/postfix/sender_access + 7 check_policy_service unix:private/policy 8 ... 9 10 /etc/postfix/sender_access: diff --git a/postfix/html/SOHO_README.html b/postfix/html/SOHO_README.html index 83f290d01..5714282a0 100644 --- a/postfix/html/SOHO_README.html +++ b/postfix/html/SOHO_README.html @@ -122,7 +122,7 @@ discussed the first half of this document.@@ -357,9 +357,9 @@ resort.1 /etc/postfix/main.cf: -2 smtp_generic_maps = hash:/etc/postfix/generic +2 smtp_generic_maps = hash:/etc/postfix/generic 3 4 /etc/postfix/generic: 5 his@localdomain.local hisaccount@hisisp.example @@ -173,9 +173,9 @@ discussed the first half of this document. 2 myhostname = hostname.localdomain 3 mydomain = localdomain 4 - 5 canonical_maps = hash:/etc/postfix/canonical + 5 canonical_maps = hash:/etc/postfix/canonical 6 - 7 virtual_alias_maps = hash:/etc/postfix/virtual + 7 virtual_alias_maps = hash:/etc/postfix/virtual 8 9 /etc/postfix/canonical: 10 your-login-name your-account@your-isp.com @@ -251,7 +251,7 @@ second part sets up the username/password information. relayhost = [mail.isp.example] # Alternative form: # relayhost = [mail.isp.example]:submission - smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd + smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd/etc/postfix/main.cf: smtp_sender_dependent_authentication = yes - sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay + sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay smtp_sasl_auth_enable = yes - smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd + smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd relayhost = [mail.isp.example] # Alternative form: # relayhost = [mail.isp.example]:submission diff --git a/postfix/html/STANDARD_CONFIGURATION_README.html b/postfix/html/STANDARD_CONFIGURATION_README.html index 660feac37..c767ee078 100644 --- a/postfix/html/STANDARD_CONFIGURATION_README.html +++ b/postfix/html/STANDARD_CONFIGURATION_README.html @@ -325,7 +325,7 @@ All the mail to these two accounts is forwarded to an inside address.1 /etc/postfix/main.cf: -2 virtual_alias_maps = hash:/etc/postfix/virtual +2 virtual_alias_maps = hash:/etc/postfix/virtual 3 4 /etc/postfix/virtual: 5 postmaster postmaster@example.com @@ -368,8 +368,8 @@ is the real purpose of the firewall email function. 9b permit_mynetworks reject_unauth_destination 10b ...spam blocking rules....
-11 relay_recipient_maps = hash:/etc/postfix/relay_recipients -12 transport_maps = hash:/etc/postfix/transport +11 relay_recipient_maps = hash:/etc/postfix/relay_recipients +12 transport_maps = hash:/etc/postfix/transport 13 14 /etc/postfix/relay_recipients: 15 user1@example.com x @@ -441,7 +441,7 @@ follows:1 /etc/postfix/main.cf: -2 virtual_alias_maps = hash:/etc/postfix/virtual +2 virtual_alias_maps = hash:/etc/postfix/virtual 3 4 /etc/postfix/virtual: 5 root root@localhost @@ -483,7 +483,7 @@ discussed the first half of this document.1 /etc/postfix/main.cf: - 2 transport_maps = hash:/etc/postfix/transport + 2 transport_maps = hash:/etc/postfix/transport 3 relayhost = 4 # Optional for a machine that isn't "always on" 5 #fallback_relay = [gateway.example.com] @@ -555,7 +555,7 @@ is all you need: 11 # You must specify your NAT/proxy external address. 12 #proxy_interfaces = 1.2.3.4 13 -14 relay_recipient_maps = hash:/etc/postfix/relay_recipients +14 relay_recipient_maps = hash:/etc/postfix/relay_recipients 15 16 /etc/postfix/relay_recipients: 17 user1@the.backed-up.domain.tld x @@ -570,7 +570,7 @@ need the above, plus:20 /etc/postfix/main.cf: -21 transport_maps = hash:/etc/postfix/transport +21 transport_maps = hash:/etc/postfix/transport 22 23 /etc/postfix/transport: 24 the.backed-up.domain.tld relay:[their.mail.host.tld] @@ -754,7 +754,7 @@ discussed the first half of this document.1 /etc/postfix/main.cf: -2 smtp_generic_maps = hash:/etc/postfix/generic +2 smtp_generic_maps = hash:/etc/postfix/generic 3 4 /etc/postfix/generic: 5 his@localdomain.local hisaccount@hisisp.example @@ -805,9 +805,9 @@ discussed the first half of this document. 2 myhostname = hostname.localdomain 3 mydomain = localdomain 4 - 5 canonical_maps = hash:/etc/postfix/canonical + 5 canonical_maps = hash:/etc/postfix/canonical 6 - 7 virtual_alias_maps = hash:/etc/postfix/virtual + 7 virtual_alias_maps = hash:/etc/postfix/virtual 8 9 /etc/postfix/canonical: 10 your-login-name your-account@your-isp.com diff --git a/postfix/html/STRESS_README.html b/postfix/html/STRESS_README.html index 8dbfa3f7d..bb8377d08 100644 --- a/postfix/html/STRESS_README.html +++ b/postfix/html/STRESS_README.html @@ -255,7 +255,7 @@ filters (BSD kqueue(2), Linux epoll(4), or Solaris /dev/poll).More processes use more memory. You can reduce the Postfix memory footprint by using cdb: -lookup tables instead of Berkeley DB's hash: or btree: tables.
+lookup tables instead of Berkeley DB's hash: or btree: tables.1 /etc/postfix/main.cf: @@ -368,7 +368,7 @@ response, use something like: 5 reject_rbl_client zen.spamhaus.org=127.0.0.11 6 reject_rbl_client zen.spamhaus.org 7 - 8 rbl_reply_maps = hash:/etc/postfix/rbl_reply_maps + 8 rbl_reply_maps = hash:/etc/postfix/rbl_reply_maps 9 10 /etc/postfix/rbl_reply_maps: 11 # With Postfix 2.3-2.5 use "421" to hang up connections. @@ -400,7 +400,7 @@ listed at http://www.postfix.org/ above 8 with:- 8 rbl_reply_maps = ${stress?hash:/etc/postfix/rbl_reply_maps} + 8 rbl_reply_maps = ${stress?hash:/etc/postfix/rbl_reply_maps}diff --git a/postfix/html/TLS_LEGACY_README.html b/postfix/html/TLS_LEGACY_README.html index cde602dc4..20a04b051 100644 --- a/postfix/html/TLS_LEGACY_README.html +++ b/postfix/html/TLS_LEGACY_README.html @@ -564,7 +564,7 @@ the cost of repeatedly negotiating TLS session keys is high.@@ -652,7 +652,7 @@ the user or host./etc/postfix/main.cf: - smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache + smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache/etc/postfix/main.cf: - relay_clientcerts = hash:/etc/postfix/relay_clientcerts + relay_clientcerts = hash:/etc/postfix/relay_clientcerts /etc/postfix/relay_clientcerts: D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home @@ -938,7 +938,7 @@ is allowed to negotiate per unit time.@@ -1204,7 +1204,7 @@ verification. This feature requires Postfix 2.2.9 or later./etc/postfix/main.cf: - smtp_tls_session_cache_database = btree:/etc/postfix/smtp_scache + smtp_tls_session_cache_database = btree:/etc/postfix/smtp_scache/etc/postfix/main.cf: - smtp_tls_per_site = hash:/etc/postfix/tls_per_site + smtp_tls_per_site = hash:/etc/postfix/tls_per_site relayhost = [msa.example.net]:587 /etc/postfix/tls_per_site: @@ -1509,13 +1509,13 @@ super-user privileges. smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_tls_cert_file = /etc/postfix/FOO-cert.pem smtp_tls_key_file = /etc/postfix/FOO-key.pem -smtp_tls_session_cache_database = btree:/var/run/smtp_tls_session_cache +smtp_tls_session_cache_database = btree:/var/run/smtp_tls_session_cache smtp_use_tls = yes smtpd_tls_CAfile = /etc/postfix/cacert.pem smtpd_tls_cert_file = /etc/postfix/FOO-cert.pem smtpd_tls_key_file = /etc/postfix/FOO-key.pem smtpd_tls_received_header = yes -smtpd_tls_session_cache_database = btree:/var/run/smtpd_tls_session_cache +smtpd_tls_session_cache_database = btree:/var/run/smtpd_tls_session_cache smtpd_use_tls = yes tls_random_source = dev:/dev/urandomdiff --git a/postfix/html/TLS_README.html b/postfix/html/TLS_README.html index c15cae3b2..34939a3b4 100644 --- a/postfix/html/TLS_README.html +++ b/postfix/html/TLS_README.html @@ -652,7 +652,7 @@ client.@@ -776,7 +776,7 @@ the name of the user or host:/etc/postfix/main.cf: - smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache + smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache/etc/postfix/main.cf: - relay_clientcerts = hash:/etc/postfix/relay_clientcerts + relay_clientcerts = hash:/etc/postfix/relay_clientcerts /etc/postfix/relay_clientcerts: D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.home @@ -1202,7 +1202,7 @@ level sessions./etc/postfix/main.cf: - smtp_tls_policy_maps = hash:/etc/postfix/tls_policy + smtp_tls_policy_maps = hash:/etc/postfix/tls_policy /etc/postfix/tls_policy: example.com encrypt @@ -1229,7 +1229,7 @@ just in case the transport table entries are not specified consistently./etc/postfix/main.cf: - smtp_tls_policy_maps = hash:/etc/postfix/tls_policy + smtp_tls_policy_maps = hash:/etc/postfix/tls_policy /etc/services: submission 587/tcp msa # mail message submission @@ -1521,7 +1521,7 @@ As in the example above, we show two matching fingerprints:@@ -1737,7 +1737,7 @@ the first approach is more appropriate in most cases./etc/postfix/main.cf: - smtp_tls_policy_maps = hash:/etc/postfix/tls_policy + smtp_tls_policy_maps = hash:/etc/postfix/tls_policy smtp_tls_fingerprint_digest = md5
/etc/postfix/main.cf: smtp_tls_CAfile = /etc/postfix/CAfile.pem - smtp_tls_policy_maps = hash:/etc/postfix/tls_policy + smtp_tls_policy_maps = hash:/etc/postfix/tls_policy /etc/postfix/transport: @@ -1761,8 +1761,8 @@ listed in their certificates./etc/postfix/main.cf: smtp_tls_CAfile = /etc/postfix/CAfile.pem - transport_maps = hash:/etc/postfix/transport - smtp_tls_policy_maps = hash:/etc/postfix/tls_policy + transport_maps = hash:/etc/postfix/transport + smtp_tls_policy_maps = hash:/etc/postfix/tls_policy /etc/postfix/transport: example.com smtp:[tls.example.com] @@ -1990,7 +1990,7 @@ is allowed to negotiate per unit time.@@ -2285,7 +2285,7 @@ Example:/etc/postfix/main.cf: - smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache + smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache/etc/postfix/main.cf: - smtp_tls_policy_maps = hash:/etc/postfix/tls_policy + smtp_tls_policy_maps = hash:/etc/postfix/tls_policy # Postfix 2.5 and later smtp_tls_fingerprint_digest = md5 /etc/postfix/tls_policy: @@ -2479,14 +2479,14 @@ mail for "example.com" through the tunnel:diff --git a/postfix/html/UUCP_README.html b/postfix/html/UUCP_README.html index e20df521e..32f3c790d 100644 --- a/postfix/html/UUCP_README.html +++ b/postfix/html/UUCP_README.html @@ -119,7 +119,7 @@ whenever you change the transport file.-/etc/postfix/main.cf: - transport_maps = hash:/etc/postfix/transport + transport_maps = hash:/etc/postfix/transport /etc/postfix/transport: example.com relay:[127.0.0.1]:11125Use "postmap hash:/etc/postfix/transport" and "postfix reload" +
Use "postmap hash:/etc/postfix/transport" and "postfix reload" to make the change effective.
Miscellaneous client controls
@@ -2791,14 +2791,14 @@ but don't require them from all clients. /etc/postfix/main.cf: smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_tls_session_cache_database = - btree:/var/lib/postfix/smtp_tls_session_cache + btree:/var/lib/postfix/smtp_tls_session_cache smtp_tls_security_level = may smtpd_tls_CAfile = /etc/postfix/cacert.pem smtpd_tls_cert_file = /etc/postfix/foo-cert.pem smtpd_tls_key_file = /etc/postfix/foo-key.pem smtpd_tls_received_header = yes smtpd_tls_session_cache_database = - btree:/var/lib/postfix/smtpd_tls_session_cache + btree:/var/lib/postfix/smtpd_tls_session_cache tls_random_source = dev:/dev/urandom smtpd_tls_security_level = may/etc/postfix/main.cf: - transport_maps = hash:/etc/postfix/transport + transport_maps = hash:/etc/postfix/transportSpecify dbm instead of hash if your system uses diff --git a/postfix/html/VIRTUAL_README.html b/postfix/html/VIRTUAL_README.html index fe3e8f928..313ba379f 100644 --- a/postfix/html/VIRTUAL_README.html +++ b/postfix/html/VIRTUAL_README.html @@ -99,7 +99,7 @@ such as DBM or Berkeley DB. These are easy to debug with the postmap command:
-Example: postmap -q info@example.com hash:/etc/postfix/virtual +Example: postmap -q info@example.com hash:/etc/postfix/virtualSee the documentation in LDAP_README, MYSQL_README and PGSQL_README @@ -165,7 +165,7 @@ below shows how to use this mechanism for the example.com domain.
1 /etc/postfix/main.cf: 2 virtual_alias_domains = example.com ...other hosted domains... - 3 virtual_alias_maps = hash:/etc/postfix/virtual + 3 virtual_alias_maps = hash:/etc/postfix/virtual 4 5 /etc/postfix/virtual: 6 postmaster@example.com postmaster @@ -258,11 +258,11 @@ section at the top of this document. 1 /etc/postfix/main.cf: 2 virtual_mailbox_domains = example.com ...more domains... 3 virtual_mailbox_base = /var/mail/vhosts - 4 virtual_mailbox_maps = hash:/etc/postfix/vmailbox + 4 virtual_mailbox_maps = hash:/etc/postfix/vmailbox 5 virtual_minimum_uid = 100 6 virtual_uid_maps = static:5000 7 virtual_gid_maps = static:5000 - 8 virtual_alias_maps = hash:/etc/postfix/virtual + 8 virtual_alias_maps = hash:/etc/postfix/virtual 9 10 /etc/postfix/vmailbox: 11 info@example.com example.com/info @@ -382,8 +382,8 @@ to a non-Postfix delivery agent: 1 /etc/postfix/main.cf: 2 virtual_transport = ...see below... 3 virtual_mailbox_domains = example.com ...more domains... - 4 virtual_mailbox_maps = hash:/etc/postfix/vmailbox - 5 virtual_alias_maps = hash:/etc/postfix/virtual + 4 virtual_mailbox_maps = hash:/etc/postfix/vmailbox + 5 virtual_alias_maps = hash:/etc/postfix/virtual 6 7 /etc/postfix/vmailbox: 8 info@example.com whatever @@ -410,7 +410,7 @@ examples (use only one):-virtual_transport = lmtp:unix:/path/name (uses UNIX-domain socket) +virtual_transport = lmtp:unix:/path/name (uses UNIX-domain socket) virtual_transport = lmtp:hostname:port (uses TCP socket) virtual_transport = maildrop: (uses pipe(8) to command)@@ -488,7 +488,7 @@ as a mail forwarding domain:1 /etc/postfix/main.cf: 2 virtual_alias_domains = example.com ...other hosted domains... - 3 virtual_alias_maps = hash:/etc/postfix/virtual + 3 virtual_alias_maps = hash:/etc/postfix/virtual 4 5 /etc/postfix/virtual: 6 postmaster@example.com postmaster @@ -555,7 +555,7 @@ virtual addresses to the local delivery agent:/etc/postfix/main.cf: - virtual_alias_maps = hash:/etc/postfix/virtual + virtual_alias_maps = hash:/etc/postfix/virtual /etc/postfix/virtual: listname-request@example.com listname-request @@ -603,7 +603,7 @@ table:@@ -7161,12 +7161,12 @@ seconds./etc/postfix/main.cf: - virtual_alias_maps = hash:/etc/postfix/virtual + virtual_alias_maps = hash:/etc/postfix/virtual /etc/postfix/virtual: user@domain.tld user@domain.tld, user@domain.tld@autoreply.mydomain.tld @@ -622,7 +622,7 @@ reply back to the sender.@@ -5220,7 +5220,7 @@ system./etc/postfix/main.cf: - transport_maps = hash:/etc/postfix/transport + transport_maps = hash:/etc/postfix/transport /etc/postfix/transport: autoreply.mydomain.tld autoreply: diff --git a/postfix/html/access.5.html b/postfix/html/access.5.html index d191bd561..6c7a904d2 100644 --- a/postfix/html/access.5.html +++ b/postfix/html/access.5.html @@ -449,7 +449,7 @@ ACCESS(5) ACCESS(5) /etc/postfix/main.cf: smtpd_client_restrictions = - check_client_access hash:/etc/postfix/access + check_client_access hash:/etc/postfix/access /etc/postfix/access: 1.2.3 REJECT diff --git a/postfix/html/generic.5.html b/postfix/html/generic.5.html index debee93ac..9baffcd21 100644 --- a/postfix/html/generic.5.html +++ b/postfix/html/generic.5.html @@ -161,7 +161,7 @@ GENERIC(5) GENERIC(5) that the ISP supports "+" style address extensions). /etc/postfix/main.cf: - smtp_generic_maps = hash:/etc/postfix/generic + smtp_generic_maps = hash:/etc/postfix/generic /etc/postfix/generic: his@localdomain.local hisaccount@hisisp.example diff --git a/postfix/html/ldap_table.5.html b/postfix/html/ldap_table.5.html index 423b4fa45..90cee5509 100644 --- a/postfix/html/ldap_table.5.html +++ b/postfix/html/ldap_table.5.html @@ -320,7 +320,7 @@ LDAP_TABLE(5) LDAP_TABLE(5) are not performed. This can significantly reduce the query load on the LDAP server. - domain = postfix.org, hash:/etc/postfix/searchdomains + domain = postfix.org, hash:/etc/postfix/searchdomains It is best not to use LDAP to store the domains eligible for LDAP lookups. @@ -741,7 +741,7 @@ LDAP_TABLE(5) LDAP_TABLE(5) Here's a basic example for using LDAP to look up local(8) aliases. Assume that in main.cf, you have: - alias_maps = hash:/etc/aliases, + alias_maps = hash:/etc/aliases, ldap:/etc/postfix/ldap-aliases.cf and in ldap:/etc/postfix/ldap-aliases.cf you have: diff --git a/postfix/html/lmdb_table.5.html b/postfix/html/lmdb_table.5.html index 3503df685..d8dd19faf 100644 --- a/postfix/html/lmdb_table.5.html +++ b/postfix/html/lmdb_table.5.html @@ -35,36 +35,39 @@ LMDB_TABLE(5) LMDB_TABLE(5) resizes the database and retries the transaction. Postfix access, address mapping and routing tables will - generate queries with partial keys such as parent domains - or networks, and keys without the address extension or - domain portion of an email address. + generate partial search keys such as domain names without + one or more subdomains, network addresses without one or + more least-significant octets, or email addresses without + the localpart, address extension or domain portion. This + behavior is also found with btree:, hash:, or ldap: + tables. Unlike other flat-file based Postfix databases, changes to - an LMDB database do not require automatic daemon program + an LMDB database do not require automatic daemon program restart. RELIABILITY - LMDB's copy-on-write architecture achieves reliable - updates, at the cost of using more space than some other - flat-file databases. Read operations are memory-mapped - for speed. Write operations are not memory-mapped to + LMDB's copy-on-write architecture achieves reliable + updates, at the cost of using more space than some other + flat-file databases. Read operations are memory-mapped + for speed. Write operations are not memory-mapped to avoid silent curruption due stray pointer bugs. - The Postfix LMDB adapter implements locking with fcntl(2) - locks at whole-file granularity. LMDB's native locking - scheme would require world-writable lockfiles and would + The Postfix LMDB adapter implements locking with fcntl(2) + locks at whole-file granularity. LMDB's native locking + scheme would require world-writable lockfiles and would therefore violate the Postfix security model. Unlike some - other Postfix flat-file databases, LMDB databases can + other Postfix flat-file databases, LMDB databases can safely be updated without serializing requests through the proxymap(8) service. CONFIGURATION PARAMETERS - Short-lived programs automatically pick up changes to - main.cf. With long-running daemon programs, Use the com- + Short-lived programs automatically pick up changes to + main.cf. With long-running daemon programs, Use the com- mand "postfix reload" after a configuration change. lmdb_map_size (default: 16777216) - The initial OpenLDAP LMDB database size limit in + The initial OpenLDAP LMDB database size limit in bytes. SEE ALSO @@ -77,7 +80,7 @@ LMDB_TABLE(5) LMDB_TABLE(5) LMDB_README, Postfix LMDB 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/memcache_table.5.html b/postfix/html/memcache_table.5.html index e8b3536f3..46822efd5 100644 --- a/postfix/html/memcache_table.5.html +++ b/postfix/html/memcache_table.5.html @@ -41,12 +41,12 @@ MEMCACHE_TABLE(5) MEMCACHE_TABLE(5) "inet:" followed by a hostname or address, ":", and a port name or number. Specify an IPv6 address inside "[]". For a UNIX-domain server specify - "unix:" followed by the socket pathname. Examples: + "unix:" followed by the socket pathname. Examples: memcache = inet:memcache.example.com:11211 memcache = inet:127.0.0.1:11211 memcache = inet:[fc00:8d00:189::3]:11211 - memcache = unix:/path/to/socket + memcache = unix:/path/to/socket NOTE: to access a UNIX-domain socket with the prox- ymap(8) server, the socket must be accessible by @@ -61,10 +61,10 @@ MEMCACHE_TABLE(5) MEMCACHE_TABLE(5) database. Examples: # Non-shared postscreen cache. - backup = btree:/var/lib/postfix/postscreen_cache_map + backup = btree:/var/lib/postfix/postscreen_cache_map # Shared postscreen cache for processes on the same host. - backup = proxy:btree:/var/lib/postfix/postscreen_cache_map + backup = proxy:btree:/var/lib/postfix/postscreen_cache_map Access to remote proxymap servers is under develop- ment. @@ -183,7 +183,7 @@ MEMCACHE_TABLE(5) MEMCACHE_TABLE(5) skipped (updates are skipped with a warning). Example: - domain = example.com, hash:/etc/postfix/searchdomains + domain = example.com, hash:/etc/postfix/searchdomains MEMCACHE ERROR CONTROLS data_size_limit (default: 10240) diff --git a/postfix/html/mysql_table.5.html b/postfix/html/mysql_table.5.html index a59893514..2e7e68d9f 100644 --- a/postfix/html/mysql_table.5.html +++ b/postfix/html/mysql_table.5.html @@ -80,10 +80,10 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) MYSQL PARAMETERS hosts The hosts that Postfix will try to connect to and - query from. Specify unix: for UNIX domain sockets, + query from. Specify unix: for UNIX domain sockets, inet: for TCP connections (default). Example: hosts = host1.some.domain host2.some.domain:port - hosts = unix:/file/name + hosts = unix:/file/name The hosts are tried in random order, with all con- nections over UNIX domain sockets being tried @@ -236,7 +236,7 @@ MYSQL_TABLE(5) MYSQL_TABLE(5) lookups, bare domain lookups and "@domain" lookups are not performed. This can significantly reduce the query load on the MySQL server. - domain = postfix.org, hash:/etc/postfix/searchdomains + domain = postfix.org, hash:/etc/postfix/searchdomains It is best not to use SQL to store the domains eli- gible for SQL lookups. diff --git a/postfix/html/pgsql_table.5.html b/postfix/html/pgsql_table.5.html index a378ef7ed..bb1cb36d9 100644 --- a/postfix/html/pgsql_table.5.html +++ b/postfix/html/pgsql_table.5.html @@ -86,10 +86,10 @@ PGSQL_TABLE(5) PGSQL_TABLE(5) PGSQL PARAMETERS hosts The hosts that Postfix will try to connect to and - query from. Specify unix: for UNIX-domain sockets, + query from. Specify unix: for UNIX-domain sockets, inet: for TCP connections (default). Example: hosts = host1.some.domain host2.some.domain:port - hosts = unix:/file/name + hosts = unix:/file/name The hosts are tried in random order, with all con- nections over UNIX domain sockets being tried @@ -97,7 +97,7 @@ PGSQL_TABLE(5) PGSQL_TABLE(5) matically closed after being idle for about 1 minute, and are re-opened as necessary. - NOTE: the unix: and inet: prefixes are accepted for + NOTE: the unix: and inet: prefixes are accepted for backwards compatibility reasons, but are actually ignored. The PostgreSQL client library will always try to connect to an UNIX socket if the name starts @@ -239,7 +239,7 @@ PGSQL_TABLE(5) PGSQL_TABLE(5) lookups, bare domain lookups and "@domain" lookups are not performed. This can significantly reduce the query load on the PostgreSQL server. - domain = postfix.org, hash:/etc/postfix/searchdomains + domain = postfix.org, hash:/etc/postfix/searchdomains It is best not to use SQL to store the domains eli- gible for SQL lookups. diff --git a/postfix/html/postalias.1.html b/postfix/html/postalias.1.html index 10abcbe5a..9b49b1df5 100644 --- a/postfix/html/postalias.1.html +++ b/postfix/html/postalias.1.html @@ -35,7 +35,7 @@ POSTALIAS(1) POSTALIAS(1) By default the lookup key is mapped to lowercase to make the lookups case insensitive; as of Postfix 2.3 this case folding happens only with tables whose lookup keys are - fixed-case strings such as btree:, dbm: or hash:. With + fixed-case strings such as btree:, dbm: or hash:. With earlier versions, the lookup key is folded even with tables where a lookup field can match both upper and lower case text, such as regexp: and pcre:. This resulted in diff --git a/postfix/html/postconf.1.html b/postfix/html/postconf.1.html index ef5c36e02..44fc4a22a 100644 --- a/postfix/html/postconf.1.html +++ b/postfix/html/postconf.1.html @@ -195,15 +195,15 @@ POSTCONF(1) POSTCONF(1) A non-shared, in-memory hash table. Its con- tent are lost when a process terminates. + ldap (read-only) + LDAP database client. This is described in + ldap_table(5). + lmdb OpenLDAP LMDB database (a memory-mapped, persistent file). Available on systems with - support for LMDB databases. This is + support for LMDB databases. This is described in lmdb_table(5). - ldap (read-only) - LDAP database client. This is described in - ldap_table(5). - memcache Memcache database client. This is described in memcache_table(5). @@ -213,6 +213,12 @@ POSTCONF(1) POSTCONF(1) with support for MySQL databases. This is described in mysql_table(5). + nis (read-only) + NIS client. + + nisplus (read-only) + NIS+ client. + pcre (read-only) A lookup table based on Perl Compatible Reg- ular Expressions. The file format is @@ -257,7 +263,7 @@ POSTCONF(1) POSTCONF(1) tcp_table(5). texthash (read-only) - Produces similar results as hash: files, + Produces similar results as hash: files, except that you don't need to run the postmap(1) command before you can use the file, and that it does not detect changes @@ -268,13 +274,13 @@ POSTCONF(1) POSTCONF(1) database. The following tables are imple- mented: - unix:passwd.byname + unix:passwd.byname The table is the UNIX password data- base. The key is a login name. The result is a password file entry in passwd(5) format. - unix:group.byname + unix:group.byname The table is the UNIX group database. The key is a group name. The result is a group file entry in group(5) diff --git a/postfix/html/postconf.5.html b/postfix/html/postconf.5.html index e267aa08b..1c672089f 100644 --- a/postfix/html/postconf.5.html +++ b/postfix/html/postconf.5.html @@ -207,8 +207,8 @@ Examples:-address_verify_map = hash:/var/lib/postfix/verify -address_verify_map = btree:/var/lib/postfix/verify +address_verify_map = hash:/var/lib/postfix/verify +address_verify_map = btree:/var/lib/postfix/verify@@ -546,8 +546,8 @@ Examples:
-alias_database = hash:/etc/aliases -alias_database = hash:/etc/mail/aliases +alias_database = hash:/etc/aliases +alias_database = hash:/etc/mail/aliases@@ -590,8 +590,8 @@ Examples:-alias_maps = hash:/etc/aliases, nis:mail.aliases -alias_maps = hash:/etc/aliases +alias_maps = hash:/etc/aliases, nis:mail.aliases +alias_maps = hash:/etc/aliases@@ -1373,8 +1373,8 @@ Examples:-canonical_maps = dbm:/etc/postfix/canonical -canonical_maps = hash:/etc/postfix/canonical +canonical_maps = dbm:/etc/postfix/canonical +canonical_maps = hash:/etc/postfix/canonical@@ -5212,7 +5212,7 @@ system.local_header_rewrite_clients = permit_mynetworks, permit_sasl_authenticated permit_tls_clientcerts - check_address_map hash:/etc/postfix/pop-before-smtp + check_address_map hash:/etc/postfix/pop-before-smtplocal_recipient_maps -(default: proxy:unix:passwd.byname $alias_maps) +(default: proxy:unix:passwd.byname $alias_maps) Lookup tables with all names or addresses of local recipients: a recipient address is local when its domain matches $mydestination, @@ -6660,7 +6660,7 @@ and would otherwise be confused with a "type:tabl mynetworks = !192.168.0.1, 192.168.0.0/28 mynetworks = 127.0.0.0/8 168.100.189.0/28 [::1]/128 [2001:240:587::]/64 mynetworks = $config_directory/mynetworks -mynetworks = hash:/etc/postfix/network_table +mynetworks = hash:/etc/postfix/network_table
postscreen_cache_map -(default: btree:$data_directory/postscreen_cache) +(default: btree:$data_directory/postscreen_cache) Persistent storage for the postscreen(8) server decisions.
To share a postscreen(8) cache between multiple postscreen(8) -instances, use "postscreen_cache_map = proxy:btree:/path/to/file". +instances, use "postscreen_cache_map = proxy:btree:/path/to/file". This requires Postfix version 2.9 or later; earlier proxymap(8) implementations don't support cache cleanup. For an alternative approach see the memcache_table(5) manpage.
@@ -7328,7 +7328,7 @@ domain will be used.For maximal stability it is best to use a file that is read into memory such as pcre:, regexp: or texthash: (texthash: is similar -to hash:, except a) there is no need to run postmap(1) before the +to hash:, except a) there is no need to run postmap(1) before the file can be used, and b) texthash: does not detect changes after the file is read).
@@ -8508,7 +8508,7 @@ Example:-recipient_bcc_maps = hash:/etc/postfix/recipient_bcc +recipient_bcc_maps = hash:/etc/postfix/recipient_bcc@@ -8548,7 +8548,7 @@ Example:-recipient_canonical_maps = hash:/etc/postfix/recipient_canonical +recipient_canonical_maps = hash:/etc/postfix/recipient_canonical@@ -8660,7 +8660,7 @@ D7:04:2F:A7:0B:8C:A5:21:FA:31:77:E1:41:8A:EE:80 lutzpc.at.homeExample:
-relay_clientcerts = hash:/etc/postfix/relay_clientcerts +relay_clientcerts = hash:/etc/postfix/relay_clientcertsFor more fine-grained control, use check_ccert_access to select @@ -8782,7 +8782,7 @@ Example:
-relay_recipient_maps = hash:/etc/postfix/relay_recipients +relay_recipient_maps = hash:/etc/postfix/relay_recipients@@ -8885,8 +8885,8 @@ Examples:
-relocated_maps = dbm:/etc/postfix/relocated -relocated_maps = hash:/etc/postfix/relocated +relocated_maps = dbm:/etc/postfix/relocated +relocated_maps = hash:/etc/postfix/relocated@@ -9159,7 +9159,7 @@ Example:-sender_bcc_maps = hash:/etc/postfix/sender_bcc +sender_bcc_maps = hash:/etc/postfix/sender_bcc@@ -9204,7 +9204,7 @@ Example:-sender_canonical_maps = hash:/etc/postfix/sender_canonical +sender_canonical_maps = hash:/etc/postfix/sender_canonical@@ -9550,7 +9550,7 @@ IP address), transport map,if mail is sent via a UNIX-domain socket: a pathname (without -the unix: prefix), +the unix: prefix), a /file/name with domain names and/or relay host names as defined above, @@ -10490,7 +10490,7 @@ passwords, and requires that Postfix is compiled with TLS support. Example:
-smtp_sasl_auth_cache_name = proxy:btree:/var/lib/postfix/sasl_auth_cache +smtp_sasl_auth_cache_name = proxy:btree:/var/lib/postfix/sasl_auth_cacheThis feature is available in Postfix 2.5 and later.
@@ -11192,7 +11192,7 @@ As in the example above, we show two matching fingerprints:@@ -11637,7 +11637,7 @@ which is either the recipient domain, or the verbatim next-hop specified in the transport table, $local_transport, $virtual_transport, $relay_transport or $default_transport. This includes any enclosing square brackets and any non-default destination server port suffix. The -LMTP socket type prefix (inet: or unix:) is not included in the lookup +LMTP socket type prefix (inet: or unix:) is not included in the lookup key./etc/postfix/main.cf: - smtp_tls_policy_maps = hash:/etc/postfix/tls_policy + smtp_tls_policy_maps = hash:/etc/postfix/tls_policy smtp_tls_fingerprint_digest = md5Only the next-hop domain, or $myhostname with LMTP over UNIX-domain @@ -11762,7 +11762,7 @@ Example:
/etc/postfix/main.cf: - smtp_tls_policy_maps = hash:/etc/postfix/tls_policy + smtp_tls_policy_maps = hash:/etc/postfix/tls_policy # Postfix 2.5 and later smtp_tls_fingerprint_digest = md5@@ -12094,7 +12094,7 @@ under a non-Postfix directory is redirected to the Postfix-ownedExample:
-smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache +smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scacheThis feature is available in Postfix 2.2 and later.
@@ -13785,7 +13785,7 @@ supposed to give the result to another Postfix SMTP server process.Specify "host:port" or "inet:host:port" for a TCP endpoint, or -"unix:pathname" for a UNIX-domain endpoint. The host can be specified +"unix:pathname" for a UNIX-domain endpoint. The host can be specified as an IP address or as a symbolic name; no MX lookups are done. When no "host" or "host:" are specified, the local machine is assumed. Pathname interpretation is relative to the Postfix queue @@ -13793,7 +13793,7 @@ directory.
This feature is available in Postfix 2.1 and later.
-The "inet:" and "unix:" prefixes are available in Postfix 2.3 +
The "inet:" and "unix:" prefixes are available in Postfix 2.3 and later.
@@ -14826,7 +14826,7 @@ Examples:smtpd_sender_restrictions = reject_unknown_sender_domain smtpd_sender_restrictions = reject_unknown_sender_domain, - check_sender_access hash:/etc/postfix/access + check_sender_access hash:/etc/postfix/access@@ -15453,7 +15453,7 @@ to Postfix 2.9.6 or later. /etc/postfix/main.cf: smtpd_tls_fingerprint_digest = sha1 smtpd_client_restrictions = - check_ccert_access hash:/etc/postfix/access, + check_ccert_access hash:/etc/postfix/access, reject@@ -15793,7 +15793,7 @@ under a non-Postfix directory is redirected to the Postfix-ownedExample:
-smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache +smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scacheThis feature is available in Postfix 2.2 and later.
@@ -17369,8 +17369,8 @@ Examples:-transport_maps = dbm:/etc/postfix/transport -transport_maps = hash:/etc/postfix/transport +transport_maps = dbm:/etc/postfix/transport +transport_maps = hash:/etc/postfix/transport@@ -17943,8 +17943,8 @@ Examples:-virtual_alias_maps = dbm:/etc/postfix/virtual -virtual_alias_maps = hash:/etc/postfix/virtual +virtual_alias_maps = dbm:/etc/postfix/virtual +virtual_alias_maps = hash:/etc/postfix/virtualdiff --git a/postfix/html/postmap.1.html b/postfix/html/postmap.1.html index c414c46bf..df327c442 100644 --- a/postfix/html/postmap.1.html +++ b/postfix/html/postmap.1.html @@ -54,7 +54,7 @@ POSTMAP(1) POSTMAP(1) By default the lookup key is mapped to lowercase to make the lookups case insensitive; as of Postfix 2.3 this case folding happens only with tables whose lookup keys are - fixed-case strings such as btree:, dbm: or hash:. With + fixed-case strings such as btree:, dbm: or hash:. With earlier versions, the lookup key is folded even with tables where a lookup field can match both upper and lower case text, such as regexp: and pcre:. This resulted in diff --git a/postfix/html/postscreen.8.html b/postfix/html/postscreen.8.html index 898f9d707..211357504 100644 --- a/postfix/html/postscreen.8.html +++ b/postfix/html/postscreen.8.html @@ -197,8 +197,8 @@ POSTSCREEN(8) POSTSCREEN(8) process. dnsblog_service_name (dnsblog) - The name of the dnsblog(8) service entry in mas- - ter.cf. + The name of the dnsblog(8) service entry in mas- + ter.cf. postscreen_dnsbl_action (ignore) The action that postscreen(8) takes when a remote @@ -306,8 +306,8 @@ POSTSCREEN(8) POSTSCREEN(8) The amount of time between postscreen(8) cache cleanup runs. - postscreen_cache_map (btree:$data_direc- - tory/postscreen_cache) + postscreen_cache_map (btree:$data_direc- + tory/postscreen_cache) Persistent storage for the postscreen(8) server decisions. @@ -383,8 +383,8 @@ POSTSCREEN(8) POSTSCREEN(8) postscreen_use_tls and postscreen_enforce_tls. tlsproxy_service_name (tlsproxy) - The name of the tlsproxy(8) service entry in mas- - ter.cf. + The name of the tlsproxy(8) service entry in mas- + ter.cf. OBSOLETE STARTTLS SUPPORT CONTROLS These parameters are supported for compatibility with diff --git a/postfix/html/socketmap_table.5.html b/postfix/html/socketmap_table.5.html index a929b944b..094128320 100644 --- a/postfix/html/socketmap_table.5.html +++ b/postfix/html/socketmap_table.5.html @@ -11,10 +11,10 @@ SOCKETMAP_TABLE(5) SOCKETMAP_TABLE(5) SYNOPSIS postmap -q "string" socketmap:inet:host:port:name - postmap -q "string" socketmap:unix:pathname:name + postmap -q "string" socketmap:unix:pathname:name postmap -q - socketmap:inet:host:port:name <inputfile - postmap -q - socketmap:unix:pathname:name <inputfile + postmap -q - socketmap:unix:pathname:name <inputfile DESCRIPTION The Postfix mail system uses optional tables for address @@ -22,7 +22,7 @@ SOCKETMAP_TABLE(5) SOCKETMAP_TABLE(5) The Postfix socketmap client expects TCP endpoint names of the form inet:host:port:name, or UNIX-domain endponts of - the form unix:pathname:name. In both cases, name speci- + the form unix:pathname:name. In both cases, name speci- fies the name field in a socketmap client request (see "REQUEST FORMAT" below). @@ -32,11 +32,14 @@ SOCKETMAP_TABLE(5) SOCKETMAP_TABLE(5) reply are sent as one netstring object. REQUEST FORMAT - The socketmap protocol supports only the lookup request. - Postfix access, address mapping and routing tables will - not generate requests with partial keys such as parent - domains or networks, or keys without the address extension - or domain portion of an email address. + The socketmap protocol supports only the lookup request. + + Postfix will not generate partial search keys such as + domain names without one or more subdomains, network + addresses without one or more least-significant octets, or + email addresses without the localpart, address extension + or domain portion. This behavior is also found with cidr:, + pcre:, and regexp: tables. name <space> key Search the named socketmap for the specified key. @@ -57,7 +60,7 @@ SOCKETMAP_TABLE(5) SOCKETMAP_TABLE(5) TIMEOUT <space> reason PERM <space> reason - The request failed. The reason, if non-empty, is + The request failed. The reason, if non-empty, is descriptive text. SECURITY @@ -65,6 +68,7 @@ SOCKETMAP_TABLE(5) SOCKETMAP_TABLE(5) because neither the connection nor the server are authenticated. SEE ALSO + http://cr.yp.to/proto/netstrings.txt, netstring definition postconf(1), Postfix supported lookup tables postmap(1), Postfix lookup table manager regexp_table(5), format of regular expression tables @@ -78,9 +82,12 @@ SOCKETMAP_TABLE(5) SOCKETMAP_TABLE(5) The protocol limits are not yet configurable. LICENSE - The Secure Mailer license must be distributed with this + The Secure Mailer license must be distributed with this software. +HISTORY + Socketmap support was introduced with Postfix version 2.10. + AUTHOR(S) Wietse Venema IBM T.J. Watson Research diff --git a/postfix/html/sqlite_table.5.html b/postfix/html/sqlite_table.5.html index 80302fdae..d1585eeab 100644 --- a/postfix/html/sqlite_table.5.html +++ b/postfix/html/sqlite_table.5.html @@ -204,7 +204,7 @@ SQLITE_TABLE(5) SQLITE_TABLE(5) lookups, bare domain lookups and "@domain" lookups are not performed. This can significantly reduce the query load on the SQLite server. - domain = postfix.org, hash:/etc/postfix/searchdomains + domain = postfix.org, hash:/etc/postfix/searchdomains It is best not to use SQL to store the domains eli- gible for SQL lookups. diff --git a/postfix/html/virtual.5.html b/postfix/html/virtual.5.html index e27077d0e..dc655c28c 100644 --- a/postfix/html/virtual.5.html +++ b/postfix/html/virtual.5.html @@ -162,7 +162,7 @@ VIRTUAL(5) VIRTUAL(5) Support for a virtual alias domain looks like: /etc/postfix/main.cf: - virtual_alias_maps = hash:/etc/postfix/virtual + virtual_alias_maps = hash:/etc/postfix/virtual Note: some systems use dbm databases instead of hash. See the output from "postconf -m" for available database diff --git a/postfix/man/man1/postconf.1 b/postfix/man/man1/postconf.1 index a4d49720e..0ef544117 100644 --- a/postfix/man/man1/postconf.1 +++ b/postfix/man/man1/postconf.1 @@ -181,18 +181,22 @@ with support for Berkeley DB databases. .IP \fBinternal\fR A non-shared, in-memory hash table. Its content are lost when a process terminates. +.IP "\fBldap\fR (read-only)" +LDAP database client. This is described in \fBldap_table\fR(5). .IP "\fBlmdb\fR" OpenLDAP LMDB database (a memory-mapped, persistent file). Available on systems with support for LMDB databases. This is described in \fBlmdb_table\fR(5). -.IP "\fBldap\fR (read-only)" -LDAP database client. This is described in \fBldap_table\fR(5). .IP "\fBmemcache\fR" Memcache database client. This is described in \fBmemcache_table\fR(5). .IP "\fBmysql\fR (read-only)" MySQL database client. Available on systems with support for MySQL databases. This is described in \fBmysql_table\fR(5). +.IP "\fBnis\fR (read-only)" +NIS client. +.IP "\fBnisplus\fR (read-only)" +NIS+ client. .IP "\fBpcre\fR (read-only)" A lookup table based on Perl Compatible Regular Expressions. The file format is described in \fBpcre_table\fR(5). diff --git a/postfix/man/man5/lmdb_table.5 b/postfix/man/man5/lmdb_table.5 index 0854dc2cb..a45d9de9b 100644 --- a/postfix/man/man5/lmdb_table.5 +++ b/postfix/man/man5/lmdb_table.5 @@ -39,9 +39,12 @@ When a transaction fails due to a full database, Postfix resizes the database and retries the transaction. Postfix access, address mapping and routing tables will -generate queries with partial keys such as parent domains -or networks, and keys without the address extension or -domain portion of an email address. +generate partial search keys such as domain names without +one or more subdomains, network addresses without one or +more least-significant octets, or email addresses without +the localpart, address extension or domain portion. +This behavior is also found with btree:, hash:, or ldap: +tables. Unlike other flat-file based Postfix databases, changes to an LMDB database do not require automatic daemon program diff --git a/postfix/man/man5/socketmap_table.5 b/postfix/man/man5/socketmap_table.5 index 7039610d6..50376eb8a 100644 --- a/postfix/man/man5/socketmap_table.5 +++ b/postfix/man/man5/socketmap_table.5 @@ -40,10 +40,13 @@ reply are sent as one netstring object. .ad .fi The socketmap protocol supports only the lookup request. -Postfix access, address mapping and routing tables will not -generate requests with partial keys such as parent domains -or networks, or keys without the address extension or domain -portion of an email address. + +Postfix will not generate partial search keys such as domain +names without one or more subdomains, network addresses +without one or more least-significant octets, or email +addresses without the localpart, address extension or domain +portion. This behavior is also found with cidr:, pcre:, and +regexp: tables. .IP "\fB\fIname\fB\fIkey\fR" Search the named socketmap for the specified key. .SH "REPLY FORMAT" @@ -71,6 +74,7 @@ because neither the connection nor the server are authenticated. .SH "SEE ALSO" .na .nf +http://cr.yp.to/proto/netstrings.txt, netstring definition postconf(1), Postfix supported lookup tables postmap(1), Postfix lookup table manager regexp_table(5), format of regular expression tables @@ -96,6 +100,10 @@ The protocol limits are not yet configurable. .ad .fi The Secure Mailer license must be distributed with this software. +.SH "HISTORY" +.na +.nf +Socketmap support was introduced with Postfix version 2.10. .SH "AUTHOR(S)" .na .nf diff --git a/postfix/mantools/postlink b/postfix/mantools/postlink index 6529dbe51..f1dfe3f89 100755 --- a/postfix/mantools/postlink +++ b/postfix/mantools/postlink @@ -128,7 +128,7 @@ while (<>) { s;\bcommand_time_limit\b;$&;g; s;\bconfig_direc[-]*\n*[ ]*tory\b;$&;g; s;\bcon[- ]*\n*[]*tent_filter\b;$&;g; - s;\bdata_directory\b;$&;g; + s;\bdata_direc[- ]*\n*[]*tory\b;$&;g; s;\bdae[- ]*\n*[]*mon_direc[- ]*\n*[]*tory\b;$&;g; s;\bdaemon_timeout\b;$&;g; s;\bdebug_peer_level\b;$&;g; @@ -1089,22 +1089,30 @@ while (<>) { # Hyperlink map types. + s/\b(btree):/$1<\/a>:/g; s/\b(cdb):/$1<\/a>:/g; s/\b(cidr):/$1<\/a>:/g; - s/\b(pcre):/$1<\/a>:/g; - s/\b(proxy):/$1<\/a>:/g; - s/\b(pgsql):/$1<\/a>:/g; - s/\b(mysql):/$1<\/a>:/g; - s/\b(nisplus):/$1<\/a>:/g; + s/\b(dbm):/$1<\/a>:/g; + s/\b(environ):/$1<\/a>:/g; + s/\b(fail):/$1<\/a>:/g; + s/\b(hash):/$1<\/a>:/g; + s/\b(internal):/$1<\/a>:/g; s/\b(ldap):/$1<\/a>:/g; s/\b(lmdb):/$1<\/a>:/g; + s/\b(memcache):/$1<\/a>:/g; + s/\b(mysql):/$1<\/a>:/g; + s/\b(nisplus):/$1<\/a>:/g; + s/\b(pcre):/$1<\/a>:/g; + s/\b(pgsql):/$1<\/a>:/g; + s/\b(proxy):/$1<\/a>:/g; s/\b(regexp):/$1<\/a>:/g; + s/\b(sdbm):/$1<\/a>:/g; s/\b(socketmap):/$1<\/a>:/g; s/\b(sqlite):/$1<\/a>:/g; s/\b(static):/$1<\/a>:/g; s/\b(tcp):/$1<\/a>:/g; s/\b(texthash):/$1<\/a>:/g; - s/\b(memcache):/$1<\/a>:/g; + s/\b(unix):/$1<\/a>:/g; # Do nice links for smtp:host:port etc. diff --git a/postfix/proto/DATABASE_README.html b/postfix/proto/DATABASE_README.html index 13c24f3cf..dcc895d6e 100644 --- a/postfix/proto/DATABASE_README.html +++ b/postfix/proto/DATABASE_README.html @@ -320,12 +320,12 @@ a process terminates. lmdb -OpenLDAP LMDB database (a memory-mapped. This is available -only on systems with support for LMDB databases. Public database -files are created with the postmap(1) or postalias(1) command, and -private databases are maintained by Postfix daemons. The database -name as used in "lmdb:table" is the database file name without the -".lmdb" suffix. See lmdb_table(5) for details. +OpenLDAP LMDB database. This is available only on systems +with support for LMDB databases. Public database files are created +with the postmap(1) or postalias(1) command, and private databases +are maintained by Postfix daemons. The database name as used in +"lmdb:table" is the database file name without the ".lmdb" suffix. +See lmdb_table(5) for details. ldap (read-only) @@ -403,8 +403,8 @@ server. See socketmap_table(5) for details.static (read-only) A table that always returns its name as the lookup result. -For example, the lookup table "static:foobar" always returns the -string "foobar" as lookup result. +For example, "static:foobar" always returns the string "foobar" as +lookup result.tcp diff --git a/postfix/proto/lmdb_table b/postfix/proto/lmdb_table index a5a747d07..b1cc8169a 100644 --- a/postfix/proto/lmdb_table +++ b/postfix/proto/lmdb_table @@ -31,9 +31,12 @@ # resizes the database and retries the transaction. # # Postfix access, address mapping and routing tables will -# generate queries with partial keys such as parent domains -# or networks, and keys without the address extension or -# domain portion of an email address. +# generate partial search keys such as domain names without +# one or more subdomains, network addresses without one or +# more least-significant octets, or email addresses without +# the localpart, address extension or domain portion. +# This behavior is also found with btree:, hash:, or ldap: +# tables. # # Unlike other flat-file based Postfix databases, changes to # an LMDB database do not require automatic daemon program diff --git a/postfix/proto/socketmap_table b/postfix/proto/socketmap_table index 33b38b137..ad0083735 100644 --- a/postfix/proto/socketmap_table +++ b/postfix/proto/socketmap_table @@ -30,10 +30,13 @@ # .ad # .fi # The socketmap protocol supports only the lookup request. -# Postfix access, address mapping and routing tables will not -# generate requests with partial keys such as parent domains -# or networks, or keys without the address extension or domain -# portion of an email address. +# +# Postfix will not generate partial search keys such as domain +# names without one or more subdomains, network addresses +# without one or more least-significant octets, or email +# addresses without the localpart, address extension or domain +# portion. This behavior is also found with cidr:, pcre:, and +# regexp: tables. # .IP "\fB\fIname\fB\fIkey\fR" # Search the named socketmap for the specified key. # REPLY FORMAT @@ -55,6 +58,7 @@ # This map cannot be used for security-sensitive information, # because neither the connection nor the server are authenticated. # SEE ALSO +# http://cr.yp.to/proto/netstrings.txt, netstring definition # postconf(1), Postfix supported lookup tables # postmap(1), Postfix lookup table manager # regexp_table(5), format of regular expression tables @@ -74,6 +78,8 @@ # .ad # .fi # The Secure Mailer license must be distributed with this software. +# HISTORY +# Socketmap support was introduced with Postfix version 2.10. # AUTHOR(S) # Wietse Venema # IBM T.J. Watson Research diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 25ef8c008..10cbb6eb2 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,7 +20,7 @@ * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ -#define MAIL_RELEASE_DATE "20131121" +#define MAIL_RELEASE_DATE "20131122" #define MAIL_VERSION_NUMBER "2.11" #ifdef SNAPSHOT