diff options
Diffstat (limited to '')
-rw-r--r-- | conf/access | 4 | ||||
-rw-r--r-- | conf/aliases | 162 | ||||
-rw-r--r-- | conf/canonical | 49 | ||||
-rw-r--r-- | conf/dynamicmaps.cf | 1 | ||||
-rw-r--r-- | conf/generic | 10 | ||||
-rw-r--r-- | conf/header_checks | 66 | ||||
-rw-r--r-- | conf/main.cf | 4 | ||||
-rw-r--r-- | conf/post-install | 28 | ||||
-rw-r--r-- | conf/postfix-files | 7 | ||||
-rwxr-xr-x | conf/postfix-script | 21 | ||||
-rw-r--r-- | conf/relocated | 10 | ||||
-rw-r--r-- | conf/virtual | 202 |
12 files changed, 291 insertions, 273 deletions
diff --git a/conf/access b/conf/access index 97892eb..6da2db2 100644 --- a/conf/access +++ b/conf/access @@ -59,7 +59,7 @@ # line that starts with whitespace continues a logi- # cal line. # -# EMAIL ADDRESS PATTERNS +# EMAIL ADDRESS PATTERNS IN INDEXED TABLES # With lookups from indexed files such as DB or DBM, or from # networked tables such as NIS, LDAP or SQL, patterns are # tried in the order as listed below: @@ -97,7 +97,7 @@ # becomes: user+foo@domain, user@domain, domain, user+foo@, # and user@. # -# HOST NAME/ADDRESS PATTERNS +# HOST NAME/ADDRESS PATTERNS IN INDEXED TABLES # With lookups from indexed files such as DB or DBM, or from # networked tables such as NIS, LDAP or SQL, the following # lookup patterns are examined in the order as listed: diff --git a/conf/aliases b/conf/aliases index 8f1a284..280c3d2 100644 --- a/conf/aliases +++ b/conf/aliases @@ -45,25 +45,29 @@ decode: root # newaliases # # DESCRIPTION -# The aliases(5) table provides a system-wide mechanism to -# redirect mail for local recipients. The redirections are -# processed by the Postfix local(8) delivery agent. +# The optional aliases(5) table (alias_maps) redirects mail +# for local recipients. The redirections are processed by +# the Postfix local(8) delivery agent. +# +# This is unlike virtual(5) aliasing (virtual_alias_maps) +# which applies to all recipients: local(8), virtual, and +# remote, and which is implemented by the cleanup(8) daemon. # # Normally, the aliases(5) table is specified as a text file -# that serves as input to the postalias(1) command. The -# result, an indexed file in dbm or db format, is used for -# fast lookup by the mail system. Execute the command -# newaliases in order to rebuild the indexed file after +# that serves as input to the postalias(1) command. The +# result, an indexed file in dbm or db format, is used for +# fast lookup by the mail system. Execute the command +# newaliases in order to rebuild the indexed file after # changing the Postfix alias database. # -# When the table is provided via other means such as NIS, -# LDAP or SQL, the same lookups are done as for ordinary +# When the table is provided via other means such as NIS, +# LDAP or SQL, the same lookups are done as for ordinary # indexed files. # -# Alternatively, the table can be provided as a regu- -# lar-expression map where patterns are given as regular -# expressions. In this case, the lookups are done in a -# slightly different way as described below under "REGULAR +# Alternatively, the table can be provided as a regu- +# lar-expression map where patterns are given as regular +# expressions. In this case, the lookups are done in a +# slightly different way as described below under "REGULAR # EXPRESSION TABLES". # # Users can control delivery of their own mail by setting up @@ -77,61 +81,61 @@ decode: root # # name: value1, value2, ... # -# o Empty lines and whitespace-only lines are ignored, -# as are lines whose first non-whitespace character +# o Empty lines and whitespace-only lines are ignored, +# as are lines whose first non-whitespace character # is a `#'. # -# o A logical line starts with non-whitespace text. A -# line that starts with whitespace continues a logi- +# o A logical line starts with non-whitespace text. A +# line that starts with whitespace continues a logi- # cal line. # -# The name is a local address (no domain part). Use double -# quotes when the name contains any special characters such -# as whitespace, `#', `:', or `@'. The name is folded to +# The name is a local address (no domain part). Use double +# quotes when the name contains any special characters such +# as whitespace, `#', `:', or `@'. The name is folded to # lowercase, in order to make database lookups case insensi- # tive. # -# In addition, when an alias exists for owner-name, this -# will override the envelope sender address, so that deliv- +# In addition, when an alias exists for owner-name, this +# will override the envelope sender address, so that deliv- # ery diagnostics are directed to owner-name, instead of the -# originator of the message (for details, see -# owner_request_special, expand_owner_alias and -# reset_owner_alias). This is typically used to direct -# delivery errors to the maintainer of a mailing list, who +# originator of the message (for details, see +# owner_request_special, expand_owner_alias and +# reset_owner_alias). This is typically used to direct +# delivery errors to the maintainer of a mailing list, who # is in a better position to deal with mailing list delivery # problems than the originator of the undelivered mail. # # The value contains one or more of the following: # # address -# Mail is forwarded to address, which is compatible +# Mail is forwarded to address, which is compatible # with the RFC 822 standard. # # /file/name -# Mail is appended to /file/name. For details on how -# a file is written see the sections "EXTERNAL FILE -# DELIVERY" and "DELIVERY RIGHTS" in the local(8) -# documentation. Delivery is not limited to regular -# files. For example, to dispose of unwanted mail, +# Mail is appended to /file/name. For details on how +# a file is written see the sections "EXTERNAL FILE +# DELIVERY" and "DELIVERY RIGHTS" in the local(8) +# documentation. Delivery is not limited to regular +# files. For example, to dispose of unwanted mail, # deflect it to /dev/null. # # |command -# Mail is piped into command. Commands that contain -# special characters, such as whitespace, should be -# enclosed between double quotes. For details on how -# a command is executed see "EXTERNAL COMMAND DELIV- +# Mail is piped into command. Commands that contain +# special characters, such as whitespace, should be +# enclosed between double quotes. For details on how +# a command is executed see "EXTERNAL COMMAND DELIV- # ERY" and "DELIVERY RIGHTS" in the local(8) documen- # tation. # # When the command fails, a limited amount of command -# output is mailed back to the sender. The file -# /usr/include/sysexits.h defines the expected exit -# status codes. For example, use "|exit 67" to simu- -# late a "user unknown" error, and "|exit 0" to +# output is mailed back to the sender. The file +# /usr/include/sysexits.h defines the expected exit +# status codes. For example, use "|exit 67" to simu- +# late a "user unknown" error, and "|exit 0" to # implement an expensive black hole. # # :include:/file/name -# Mail is sent to the destinations listed in the +# Mail is sent to the destinations listed in the # named file. Lines in :include: files have the same # syntax as the right-hand side of alias entries. # @@ -143,12 +147,12 @@ decode: root # # ADDRESS EXTENSION # When alias database search fails, and the recipient local- -# part contains the optional recipient delimiter (e.g., -# user+foo), the search is repeated for the unextended +# part contains the optional recipient delimiter (e.g., +# user+foo), the search is repeated for the unextended # address (e.g., user). # -# The propagate_unmatched_extensions parameter controls -# whether an unmatched address extension (+foo) is propa- +# The propagate_unmatched_extensions parameter controls +# whether an unmatched address extension (+foo) is propa- # gated to the result of table lookup. # # CASE FOLDING @@ -156,83 +160,85 @@ decode: root # to lowercase before database lookup. # # REGULAR EXPRESSION TABLES -# This section describes how the table lookups change when +# This section describes how the table lookups change when # the table is given in the form of regular expressions. For -# a description of regular expression lookup table syntax, -# see regexp_table(5) or pcre_table(5). NOTE: these formats +# a description of regular expression lookup table syntax, +# see regexp_table(5) or pcre_table(5). NOTE: these formats # do not use ":" at the end of a pattern. # -# Each regular expression is applied to the entire search -# string. Thus, a search string user+foo is not broken up +# Each regular expression is applied to the entire search +# string. Thus, a search string user+foo is not broken up # into user and foo. # -# Regular expressions are applied in the order as specified -# in the table, until a regular expression is found that +# Regular expressions are applied in the order as specified +# in the table, until a regular expression is found that # matches the search string. # -# Lookup results are the same as with indexed file lookups. -# For security reasons there is no support for $1, $2 etc. +# Lookup results are the same as with indexed file lookups. +# For security reasons there is no support for $1, $2 etc. # substring interpolation. # # SECURITY -# The local(8) delivery agent disallows regular expression -# substitution of $1 etc. in alias_maps, because that would +# The local(8) delivery agent disallows regular expression +# substitution of $1 etc. in alias_maps, because that would # open a security hole. # -# The local(8) delivery agent will silently ignore requests -# to use the proxymap(8) server within alias_maps. Instead -# it will open the table directly. Before Postfix version -# 2.2, the local(8) delivery agent will terminate with a +# The local(8) delivery agent will silently ignore requests +# to use the proxymap(8) server within alias_maps. Instead +# it will open the table directly. Before Postfix version +# 2.2, the local(8) delivery agent will terminate with a # fatal error. # # CONFIGURATION PARAMETERS -# The following main.cf parameters are especially relevant. -# The text below provides only a parameter summary. See +# The following main.cf parameters are especially relevant. +# The text below provides only a parameter summary. See # postconf(5) for more details including examples. # # alias_database (see 'postconf -d' output) -# The alias databases for local(8) delivery that are +# The alias databases for local(8) delivery that are # updated with "newaliases" or with "sendmail -bi". # # alias_maps (see 'postconf -d' output) -# The alias databases that are used for local(8) -# delivery. +# Optional lookup tables with aliases that apply only +# to local(8) recipients; this is unlike vir- +# tual_alias_maps that apply to all recipients: +# local(8), virtual, and remote. # # allow_mail_to_commands (alias, forward) -# Restrict local(8) mail delivery to external com- +# Restrict local(8) mail delivery to external com- # mands. # # allow_mail_to_files (alias, forward) -# Restrict local(8) mail delivery to external files. +# Restrict local(8) mail delivery to external files. # # expand_owner_alias (no) # When delivering to an alias "aliasname" that has an # "owner-aliasname" companion alias, set the envelope -# sender address to the expansion of the +# sender address to the expansion of the # "owner-aliasname" alias. # # propagate_unmatched_extensions (canonical, virtual) -# What address lookup tables copy an address exten- +# What address lookup tables copy an address exten- # sion from the lookup key to the lookup result. # # owner_request_special (yes) # Enable special treatment for owner-listname entries # in the aliases(5) file, and don't split owner-list- -# name and listname-request address localparts when +# name and listname-request address localparts when # the recipient_delimiter is set to "-". # # recipient_delimiter (empty) -# The set of characters that can separate an email -# address localpart, user name, or a .forward file +# The set of characters that can separate an email +# address localpart, user name, or a .forward file # name from its extension. # # Available in Postfix version 2.3 and later: # # frozen_delivered_to (yes) -# Update the local(8) delivery agent's idea of the -# Delivered-To: address (see prepend_deliv- -# ered_header) only once, at the start of a delivery -# attempt; do not update the Delivered-To: address +# Update the local(8) delivery agent's idea of the +# Delivered-To: address (see prepend_deliv- +# ered_header) only once, at the start of a delivery +# attempt; do not update the Delivered-To: address # while expanding aliases or .forward files. # # STANDARDS @@ -245,12 +251,12 @@ decode: root # postconf(5), configuration parameters # # README FILES -# Use "postconf readme_directory" or "postconf html_direc- +# Use "postconf readme_directory" or "postconf html_direc- # tory" to locate this information. # DATABASE_README, Postfix lookup table overview # # LICENSE -# The Secure Mailer license must be distributed with this +# The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) diff --git a/conf/canonical b/conf/canonical index 4957fcc..894fd5b 100644 --- a/conf/canonical +++ b/conf/canonical @@ -225,57 +225,56 @@ # Other parameters of interest: # # inet_interfaces (all) -# The network interface addresses that this mail sys- -# tem receives mail on. +# The local network interface addresses that this +# mail system receives mail on. # # local_header_rewrite_clients (permit_inet_interfaces) -# Rewrite message header addresses in mail from these -# clients and update incomplete addresses with the -# domain name in $myorigin or $mydomain; either don't -# rewrite message headers from other clients at all, -# or rewrite message headers and update incomplete -# addresses with the domain specified in the -# remote_header_rewrite_domain parameter. +# Rewrite or add message headers in mail from these +# clients, updating incomplete addresses with the +# domain name in $myorigin or $mydomain, and adding +# missing headers. # # proxy_interfaces (empty) -# The network interface addresses that this mail sys- -# tem receives mail on by way of a proxy or network -# address translation unit. +# The remote network interface addresses that this +# mail system receives mail on by way of a proxy or +# network address translation unit. # -# masquerade_classes (envelope_sender, header_sender, +# masquerade_classes (envelope_sender, header_sender, # header_recipient) # What addresses are subject to address masquerading. # # masquerade_domains (empty) -# Optional list of domains whose subdomain structure +# Optional list of domains whose subdomain structure # will be stripped off in email addresses. # # masquerade_exceptions (empty) -# Optional list of user names that are not subjected -# to address masquerading, even when their addresses +# Optional list of user names that are not subjected +# to address masquerading, even when their addresses # match $masquerade_domains. # # mydestination ($myhostname, localhost.$mydomain, local- # host) -# The list of domains that are delivered via the +# The list of domains that are delivered via the # $local_transport mail delivery transport. # # myorigin ($myhostname) # The domain name that locally-posted mail appears to -# come from, and that locally posted mail is deliv- +# come from, and that locally posted mail is deliv- # ered to. # # owner_request_special (yes) # Enable special treatment for owner-listname entries # in the aliases(5) file, and don't split owner-list- -# name and listname-request address localparts when +# name and listname-request address localparts when # the recipient_delimiter is set to "-". # # remote_header_rewrite_domain (empty) -# Don't rewrite message headers from remote clients -# at all when this parameter is empty; otherwise, re- -# write message headers and append the specified -# domain name to incomplete addresses. +# Rewrite or add message headers in mail from remote +# clients if the remote_header_rewrite_domain parame- +# ter value is non-empty, updating incomplete +# addresses with the domain specified in the +# remote_header_rewrite_domain parameter, and adding +# missing headers. # # SEE ALSO # cleanup(8), canonicalize and enqueue mail @@ -284,13 +283,13 @@ # virtual(5), virtual aliasing # # README FILES -# Use "postconf readme_directory" or "postconf html_direc- +# Use "postconf readme_directory" or "postconf html_direc- # tory" to locate this information. # DATABASE_README, Postfix lookup table overview # ADDRESS_REWRITING_README, address rewriting guide # # LICENSE -# The Secure Mailer license must be distributed with this +# The Secure Mailer license must be distributed with this # software. # # AUTHOR(S) diff --git a/conf/dynamicmaps.cf b/conf/dynamicmaps.cf index 5179f66..feeb6a1 100644 --- a/conf/dynamicmaps.cf +++ b/conf/dynamicmaps.cf @@ -2,6 +2,7 @@ cdb ${LIB_PREFIX}cdb${LIB_SUFFIX} dict_cdb_open mkmap_cdb_open ldap ${LIB_PREFIX}ldap${LIB_SUFFIX} dict_ldap_open lmdb ${LIB_PREFIX}lmdb${LIB_SUFFIX} dict_lmdb_open mkmap_lmdb_open +mongodb ${LIB_PREFIX}mongodb${LIB_SUFFIX} dict_mongodb_open mysql ${LIB_PREFIX}mysql${LIB_SUFFIX} dict_mysql_open pcre ${LIB_PREFIX}pcre${LIB_SUFFIX} dict_pcre_open pgsql ${LIB_PREFIX}pgsql${LIB_SUFFIX} dict_pgsql_open diff --git a/conf/generic b/conf/generic index f371eb9..508e44a 100644 --- a/conf/generic +++ b/conf/generic @@ -193,13 +193,13 @@ # Other parameters of interest: # # inet_interfaces (all) -# The network interface addresses that this mail sys- -# tem receives mail on. +# The local network interface addresses that this +# mail system receives mail on. # # proxy_interfaces (empty) -# The network interface addresses that this mail sys- -# tem receives mail on by way of a proxy or network -# address translation unit. +# The remote network interface addresses that this +# mail system receives mail on by way of a proxy or +# network address translation unit. # # mydestination ($myhostname, localhost.$mydomain, local- # host) diff --git a/conf/header_checks b/conf/header_checks index bcd96a9..db295d0 100644 --- a/conf/header_checks +++ b/conf/header_checks @@ -440,46 +440,32 @@ # tent-Length:, Return-Path:. # # CONFIGURATION PARAMETERS -# body_checks -# Lookup tables with content filter rules for message -# body lines. These filters see one physical line at -# a time, in chunks of at most $line_length_limit -# bytes. -# -# body_checks_size_limit -# The amount of content per message body segment -# (attachment) that is subjected to $body_checks fil- -# tering. -# -# header_checks -# -# mime_header_checks (default: $header_checks) -# -# nested_header_checks (default: $header_checks) -# Lookup tables with content filter rules for message -# header lines: respectively, these are applied to -# the initial message headers (not including MIME -# headers), to the MIME headers anywhere in the mes- -# sage, and to the initial headers of attached mes- -# sages. -# -# Note: these filters see one logical message header -# at a time, even when a message header spans multi- -# ple lines. Message headers that are longer than -# $header_size_limit characters are truncated. -# -# disable_mime_input_processing -# While receiving mail, give no special treatment to -# MIME related message headers; all text after the -# initial message headers is considered to be part of -# the message body. This means that header_checks is -# applied to all the initial message headers, and -# that body_checks is applied to the remainder of the -# message. -# -# Note: when used in this manner, body_checks will -# process a multi-line message header one line at a -# time. +# body_checks (empty) +# Optional lookup tables for content inspection as +# specified in the body_checks(5) manual page. +# +# body_checks_size_limit (51200) +# How much text in a message body segment (or attach- +# ment, if you prefer to use that term) is subjected +# to body_checks inspection. +# +# header_checks (empty) +# Optional lookup tables for content inspection of +# primary non-MIME message headers, as specified in +# the header_checks(5) manual page. +# +# mime_header_checks ($header_checks) +# Optional lookup tables for content inspection of +# MIME related message headers, as described in the +# header_checks(5) manual page. +# +# nested_header_checks ($header_checks) +# Optional lookup tables for content inspection of +# non-MIME message headers in attached messages, as +# described in the header_checks(5) manual page. +# +# disable_mime_input_processing (no) +# Turn off MIME processing while receiving mail. # # EXAMPLES # Header pattern to block attachments with bad file name diff --git a/conf/main.cf b/conf/main.cf index 2ee7996..2f4eba9 100644 --- a/conf/main.cf +++ b/conf/main.cf @@ -31,7 +31,7 @@ # # The level below is what should be used with new (not upgrade) installs. # -compatibility_level = 3.8 +compatibility_level = 3.9 # SOFT BOUNCE # @@ -452,7 +452,7 @@ unknown_local_recipient_reject_code = 550 # The mailbox_command parameter specifies the optional external # command to use instead of mailbox delivery. The command is run as # the recipient with proper HOME, SHELL and LOGNAME environment settings. -# Exception: delivery for root is done as $default_user. +# Exception: delivery for root is done as $default_privs. # # Other environment variables of interest: USER (recipient username), # EXTENSION (address extension), DOMAIN (domain part of address), diff --git a/conf/post-install b/conf/post-install index 2a7d99b..ed7c79a 100644 --- a/conf/post-install +++ b/conf/post-install @@ -205,6 +205,10 @@ # Google, Inc. # 111 8th Avenue # New York, NY 10011, USA +# +# Wietse Venema +# porcupine.org +# Amawalk, NY 10501, USA #-- umask 022 @@ -291,7 +295,7 @@ test -d "$config_directory" || { # XXX Solaris does not have "test -e". instances=`test ! -f $def_config_directory/main.cf || - $POSTCONF -c $def_config_directory -h multi_instance_directories | + $POSTCONF -qc $def_config_directory -h multi_instance_directories | sed 's/,/ /'` || exit 1 update_shared_files=1 @@ -360,7 +364,7 @@ test -f $config_directory/main.cf && { case "$junk" in "") eval unset $name;; esac - eval : \${$name=\`$POSTCONF -c $config_directory -h $name\`} || exit 1 + eval : \${$name=\`$POSTCONF -qc $config_directory -h $name\`} || exit 1 done } @@ -461,14 +465,14 @@ override= for name in $MOST_PARAMETERS do eval junk=\"\$$name\" - test "$junk" = "`$POSTCONF -c $config_directory -h $name`" || { + test "$junk" = "`$POSTCONF -qc $config_directory -h $name`" || { override=1 break } done test -n "$override" && { - $POSTCONF -c $config_directory -e \ + $POSTCONF -qc $config_directory -e \ "daemon_directory = $daemon_directory" \ "command_directory = $command_directory" \ "queue_directory = $queue_directory" \ @@ -679,13 +683,13 @@ EOF # require now is that defer and deferred are hashed because those # can contain lots of files. - found=`$POSTCONF -c $config_directory -h hash_queue_names` + found=`$POSTCONF -qc $config_directory -h hash_queue_names` missing= (echo "$found" | grep defer >/dev/null) || missing="$missing defer" (echo "$found" | grep deferred>/dev/null)|| missing="$missing deferred" test -n "$missing" && { echo fixing main.cf hash_queue_names for missing $missing - $POSTCONF -c $config_directory -e hash_queue_names="$found$missing" || + $POSTCONF -qc $config_directory -e hash_queue_names="$found$missing" || exit 1 } @@ -857,14 +861,14 @@ EOF # when IPv6 support is not compiled in. See util/sys_defs.h. test "`$POSTCONF -dh inet_protocols`" = "ipv4" || - test -n "`$POSTCONF -c $config_directory -n inet_protocols`" || { + test -n "`$POSTCONF -qc $config_directory -n inet_protocols`" || { cat <<EOF | ${FMT} COMPATIBILITY: editing $config_directory/main.cf, setting inet_protocols=ipv4. Specify inet_protocols explicitly if you want to enable IPv6. In a future release IPv6 will be enabled by default. EOF - $POSTCONF -c $config_directory inet_protocols=ipv4 || exit 1 + $POSTCONF -qc $config_directory inet_protocols=ipv4 || exit 1 } # Disabled because unhelpful down-stream maintainers disable the safety net. @@ -875,7 +879,7 @@ EOF # # PLEASE DO NOT REMOVE THIS CODE. ITS PURPOSE IS TO PREVENT # # INBOUND MAIL FROM UNEXPECTEDLY BOUNCING AFTER UPGRADING FROM # # POSTFIX BEFORE 2.10. -# test -n "`$POSTCONF -c $config_directory -n smtpd_relay_restrictions`" || { +# test -n "`$POSTCONF -qc $config_directory -n smtpd_relay_restrictions`" || { # cat <<EOF | ${FMT} # COMPATIBILITY: editing $config_directory/main.cf, overriding # smtpd_relay_restrictions to prevent inbound mail from @@ -883,7 +887,7 @@ EOF # Specify an empty smtpd_relay_restrictions value to keep using # smtpd_recipient_restrictions as before. #EOF -# $POSTCONF -c $config_directory "smtpd_relay_restrictions = \ +# $POSTCONF -qc $config_directory "smtpd_relay_restrictions = \ # permit_mynetworks permit_sasl_authenticated \ # defer_unauth_destination" || exit 1 # } @@ -903,8 +907,8 @@ EOF test -n "$first_install_reminder" && { - ALIASES=`$POSTCONF -c $config_directory -h alias_database | sed 's/^[^:]*://'` - NEWALIASES_PATH=`$POSTCONF -c $config_directory -h newaliases_path` + ALIASES=`$POSTCONF -qc $config_directory -h alias_database | sed 's/^[^:]*://'` + NEWALIASES_PATH=`$POSTCONF -qc $config_directory -h newaliases_path` cat <<EOF | ${FMT} Warning: you still need to edit myorigin/mydestination/mynetworks diff --git a/conf/postfix-files b/conf/postfix-files index 12a7ccb..5a93982 100644 --- a/conf/postfix-files +++ b/conf/postfix-files @@ -75,6 +75,7 @@ $shlib_directory/lib${LIB_PREFIX}master${LIB_SUFFIX}:f:root:-:755 $shlib_directory/${LIB_PREFIX}cdb${LIB_SUFFIX}:f:root:-:755 $shlib_directory/${LIB_PREFIX}ldap${LIB_SUFFIX}:f:root:-:755 $shlib_directory/${LIB_PREFIX}lmdb${LIB_SUFFIX}:f:root:-:755 +$shlib_directory/${LIB_PREFIX}mongodb${LIB_SUFFIX}:f:root:-:755 $shlib_directory/${LIB_PREFIX}mysql${LIB_SUFFIX}:f:root:-:755 $shlib_directory/${LIB_PREFIX}pcre${LIB_SUFFIX}:f:root:-:755 $shlib_directory/${LIB_PREFIX}pgsql${LIB_SUFFIX}:f:root:-:755 @@ -194,6 +195,7 @@ $manpage_directory/man5/ldap_table.5:f:root:-:644 $manpage_directory/man5/lmdb_table.5:f:root:-:644 $manpage_directory/man5/master.5:f:root:-:644 $manpage_directory/man5/memcache_table.5:f:root:-:644 +$manpage_directory/man5/mongodb_table.5:f:root:-:644 $manpage_directory/man5/mysql_table.5:f:root:-:644 $manpage_directory/man5/socketmap_table.5:f:root:-:644 $manpage_directory/man5/sqlite_table.5:f:root:-:644 @@ -285,6 +287,7 @@ $readme_directory/CONTENT_INSPECTION_README:f:root:-:644 $readme_directory/DATABASE_README:f:root:-:644 $readme_directory/DB_README:f:root:-:644 $readme_directory/DEBUG_README:f:root:-:644 +$readme_directory/DEPRECATION_README:f:root:-:644 $readme_directory/DSN_README:f:root:-:644 $readme_directory/ETRN_README:f:root:-:644 $readme_directory/FILTER_README:f:root:-:644 @@ -301,6 +304,7 @@ $readme_directory/MAILDROP_README:f:root:-:644 $readme_directory/MAILLOG_README:f:root:-:644 $readme_directory/MEMCACHE_README:f:root:-:644 $readme_directory/MILTER_README:f:root:-:644 +$readme_directory/MONGODB_README:f:root:-:644 $readme_directory/MULTI_INSTANCE_README:f:root:-:644 $readme_directory/MYSQL_README:f:root:-:644 $readme_directory/SMTPUTF8_README:f:root:-:644 @@ -348,6 +352,7 @@ $html_directory/CYRUS_README.html:f:root:-:644:o $html_directory/DATABASE_README.html:f:root:-:644 $html_directory/DB_README.html:f:root:-:644 $html_directory/DEBUG_README.html:f:root:-:644 +$html_directory/DEPRECATION_README.html:f:root:-:644 $html_directory/DSN_README.html:f:root:-:644 $html_directory/ETRN_README.html:f:root:-:644 $html_directory/FILTER_README.html:f:root:-:644 @@ -362,6 +367,7 @@ $html_directory/MAILDROP_README.html:f:root:-:644 $html_directory/MAILLOG_README.html:f:root:-:644 $html_directory/MEMCACHE_README.html:f:root:-:644 $html_directory/MILTER_README.html:f:root:-:644 +$html_directory/MONGODB_README.html:f:root:-:644 $html_directory/MULTI_INSTANCE_README.html:f:root:-:644 $html_directory/MYSQL_README.html:f:root:-:644 $html_directory/SMTPUTF8_README.html:f:root:-:644 @@ -418,6 +424,7 @@ $html_directory/mailq.1.html:f:root:-:644 $html_directory/master.5.html:f:root:-:644 $html_directory/master.8.html:f:root:-:644 $html_directory/memcache_table.5.html:f:root:-:644 +$html_directory/mongodb_table.5.html:f:root:-:644 $html_directory/mysql_table.5.html:f:root:-:644 $html_directory/sqlite_table.5.html:f:root:-:644 $html_directory/nisplus_table.5.html:f:root:-:644 diff --git a/conf/postfix-script b/conf/postfix-script index da98375..c43d764 100755 --- a/conf/postfix-script +++ b/conf/postfix-script @@ -28,6 +28,10 @@ # Google, Inc. # 111 8th Avenue # New York, NY 10011, USA +# +# Wietse Venema +# porcupine.org +# Amawalk, NY 10501, USA #-- # Avoid POSIX death due to SIGHUP when some parent process exits. @@ -92,7 +96,7 @@ def_config_directory=`$command_directory/postconf -dh config_directory` || { # If this is a secondary instance, don't touch shared files. instances=`test ! -f $def_config_directory/main.cf || - $command_directory/postconf -c $def_config_directory \ + $command_directory/postconf -qc $def_config_directory \ -h multi_instance_directories | sed 's/,/ /'` || { $FATAL cannot execute $command_directory/postconf! exit 1 @@ -216,6 +220,9 @@ abort) reload) + # Warn once for deprecated parameters. + $command_directory/postconf >/dev/null + $daemon_directory/master -t 2>/dev/null && { $FATAL the Postfix mail system is not running exit 1 @@ -244,6 +251,9 @@ check) status) + # Warn once for deprecated parameters. + $command_directory/postconf >/dev/null + $daemon_directory/master -t 2>/dev/null && { $INFO the Postfix mail system is not running exit 1 @@ -268,12 +278,12 @@ check-fatal) exit 1 } - maillog_file=`$command_directory/postconf -h maillog_file` || { + maillog_file=`$command_directory/postconf -qh maillog_file` || { $FATAL cannot execute $command_directory/postconf! exit 1 } test -n "$maillog_file" && { - $command_directory/postconf -M postlog/unix-dgram 2>/dev/null \ + $command_directory/postconf -qM postlog/unix-dgram 2>/dev/null \ | grep . >/dev/null || { $FATAL "missing 'postlog' service in master.cf - run 'postfix upgrade-configuration'" exit 1 @@ -291,6 +301,9 @@ check-fatal) check-warn) # This command is NOT part of the public interface. + # Warn once for deprecated parameters. + $command_directory/postconf >/dev/null + # Check Postfix root-owned directory owner/permissions. find $queue_directory/. $queue_directory/pid \ @@ -413,7 +426,7 @@ logrotate) for name in maillog_file maillog_file_compressor \ maillog_file_rotate_suffix do - value="`$command_directory/postconf -h $name`" + value="`$command_directory/postconf -qh $name`" case "$value" in "") $FATAL "empty '$name' parameter value - logfile rotation failed" exit 1;; diff --git a/conf/relocated b/conf/relocated index 90f63ec..5c43266 100644 --- a/conf/relocated +++ b/conf/relocated @@ -131,8 +131,8 @@ # Other parameters of interest: # # inet_interfaces (all) -# The network interface addresses that this mail sys- -# tem receives mail on. +# The local network interface addresses that this +# mail system receives mail on. # # mydestination ($myhostname, localhost.$mydomain, local- # host) @@ -145,9 +145,9 @@ # ered to. # # proxy_interfaces (empty) -# The network interface addresses that this mail sys- -# tem receives mail on by way of a proxy or network -# address translation unit. +# The remote network interface addresses that this +# mail system receives mail on by way of a proxy or +# network address translation unit. # # SEE ALSO # trivial-rewrite(8), address resolver diff --git a/conf/virtual b/conf/virtual index e99eee4..8200ca4 100644 --- a/conf/virtual +++ b/conf/virtual @@ -11,98 +11,99 @@ # postmap -q - /etc/postfix/virtual <inputfile # # DESCRIPTION -# The optional virtual(5) alias table rewrites recipient -# addresses for all local, all virtual, and all remote mail -# destinations. This is unlike the aliases(5) table which -# is used only for local(8) delivery. This feature is imple- -# mented in the Postfix cleanup(8) daemon before mail is -# queued. -# -# Virtual aliasing is recursive; to terminate recursion for +# The optional virtual(5) alias table (virtual_alias_maps) +# applies to all recipients: local(8), virtual, and remote. +# This feature is implemented in the Postfix cleanup(8) dae- +# mon before mail is queued. +# +# This is unlike the aliases(5) table (alias_maps) which +# applies only to local(8) recipients. +# +# Virtual aliasing is recursive; to terminate recursion for # a specific address, alias that address to itself. # # The main applications of virtual aliasing are: # -# o To redirect mail for one address to one or more +# o To redirect mail for one address to one or more # addresses. # -# o To implement virtual alias domains where all -# addresses are aliased to addresses in other +# o To implement virtual alias domains where all +# addresses are aliased to addresses in other # domains. # -# Virtual alias domains are not to be confused with -# the virtual mailbox domains that are implemented -# with the Postfix virtual(8) mail delivery agent. -# With virtual mailbox domains, each recipient +# Virtual alias domains are not to be confused with +# the virtual mailbox domains that are implemented +# with the Postfix virtual(8) mail delivery agent. +# With virtual mailbox domains, each recipient # address can have its own mailbox. # -# Virtual aliasing is applied only to recipient envelope -# addresses, and does not affect message headers. Use -# canonical(5) mapping to rewrite header and envelope +# Virtual aliasing is applied only to recipient envelope +# addresses, and does not affect message headers. Use +# canonical(5) mapping to rewrite header and envelope # addresses in general. # -# Normally, the virtual(5) alias table is specified as a -# text file that serves as input to the postmap(1) command. -# The result, an indexed file in dbm or db format, is used +# Normally, the virtual(5) alias table is specified as a +# text file that serves as input to the postmap(1) command. +# The result, an indexed file in dbm or db format, is used # for fast searching by the mail system. Execute the command -# "postmap /etc/postfix/virtual" to rebuild an indexed file +# "postmap /etc/postfix/virtual" to rebuild an indexed file # after changing the corresponding text file. # -# When the table is provided via other means such as NIS, -# LDAP or SQL, the same lookups are done as for ordinary +# When the table is provided via other means such as NIS, +# LDAP or SQL, the same lookups are done as for ordinary # indexed files. # -# Alternatively, the table can be provided as a regu- -# lar-expression map where patterns are given as regular -# expressions, or lookups can be directed to a TCP-based -# server. In those case, the lookups are done in a slightly +# Alternatively, the table can be provided as a regu- +# lar-expression map where patterns are given as regular +# expressions, or lookups can be directed to a TCP-based +# server. In those case, the lookups are done in a slightly # different way as described below under "REGULAR EXPRESSION # TABLES" or "TCP-BASED TABLES". # # CASE FOLDING -# The search string is folded to lowercase before database -# lookup. As of Postfix 2.3, the search string is not case -# folded with database types such as regexp: or pcre: whose +# The search string is folded to lowercase before database +# lookup. As of Postfix 2.3, the search string is not case +# folded with database types such as regexp: or pcre: whose # lookup fields can match both upper and lower case. # # TABLE FORMAT # The input format for the postmap(1) command is as follows: # # pattern address, address, ... -# When pattern matches a mail address, replace it by +# When pattern matches a mail address, replace it by # the corresponding address. # # blank lines and comments -# Empty lines and whitespace-only lines are ignored, -# as are lines whose first non-whitespace character +# Empty lines and whitespace-only lines are ignored, +# as are lines whose first non-whitespace character # is a `#'. # # multi-line text -# A logical line starts with non-whitespace text. A -# line that starts with whitespace continues a logi- +# A logical line starts with non-whitespace text. A +# line that starts with whitespace continues a logi- # cal line. # # TABLE SEARCH ORDER # With lookups from indexed files such as DB or DBM, or from -# networked tables such as NIS, LDAP or SQL, each +# networked tables such as NIS, LDAP or SQL, each # user@domain query produces a sequence of query patterns as # described below. # -# Each query pattern is sent to each specified lookup table -# before trying the next query pattern, until a match is +# Each query pattern is sent to each specified lookup table +# before trying the next query pattern, until a match is # found. # # user@domain address, address, ... -# Redirect mail for user@domain to address. This +# Redirect mail for user@domain to address. This # form has the highest precedence. # # user address, address, ... # Redirect mail for user@site to address when site is -# equal to $myorigin, when site is listed in $mydes- -# tination, or when it is listed in $inet_interfaces +# equal to $myorigin, when site is listed in $mydes- +# tination, or when it is listed in $inet_interfaces # or $proxy_interfaces. # -# This functionality overlaps with the functionality +# This functionality overlaps with the functionality # of the local aliases(5) database. The difference is # that virtual(5) mapping can be applied to non-local # addresses. @@ -111,18 +112,18 @@ # Redirect mail for other users in domain to address. # This form has the lowest precedence. # -# Note: @domain is a wild-card. With this form, the -# Postfix SMTP server accepts mail for any recipient -# in domain, regardless of whether that recipient -# exists. This may turn your mail system into a -# backscatter source: Postfix first accepts mail for -# non-existent recipients and then tries to return -# that mail as "undeliverable" to the often forged +# Note: @domain is a wild-card. With this form, the +# Postfix SMTP server accepts mail for any recipient +# in domain, regardless of whether that recipient +# exists. This may turn your mail system into a +# backscatter source: Postfix first accepts mail for +# non-existent recipients and then tries to return +# that mail as "undeliverable" to the often forged # sender address. # -# To avoid backscatter with mail for a wild-card +# To avoid backscatter with mail for a wild-card # domain, replace the wild-card mapping with explicit -# 1:1 mappings, or add a reject_unverified_recipient +# 1:1 mappings, or add a reject_unverified_recipient # restriction for that domain: # # smtpd_recipient_restrictions = @@ -132,19 +133,19 @@ # inline:{example.com=reject_unverified_recipient} # unverified_recipient_reject_code = 550 # -# In the above example, Postfix may contact a remote -# server if the recipient is aliased to a remote +# In the above example, Postfix may contact a remote +# server if the recipient is aliased to a remote # address. # # RESULT ADDRESS REWRITING # The lookup result is subject to address rewriting: # -# o When the result has the form @otherdomain, the -# result becomes the same user in otherdomain. This +# o When the result has the form @otherdomain, the +# result becomes the same user in otherdomain. This # works only for the first address in a multi-address # lookup result. # -# o When "append_at_myorigin=yes", append "@$myorigin" +# o When "append_at_myorigin=yes", append "@$myorigin" # to addresses without "@domain". # # o When "append_dot_mydomain=yes", append ".$mydomain" @@ -152,29 +153,29 @@ # # ADDRESS EXTENSION # When a mail address localpart contains the optional recip- -# ient delimiter (e.g., user+foo@domain), the lookup order +# ient delimiter (e.g., user+foo@domain), the lookup order # becomes: user+foo@domain, user@domain, user+foo, user, and # @domain. # -# The propagate_unmatched_extensions parameter controls -# whether an unmatched address extension (+foo) is propa- +# The propagate_unmatched_extensions parameter controls +# whether an unmatched address extension (+foo) is propa- # gated to the result of a table lookup. # # VIRTUAL ALIAS DOMAINS -# Besides virtual aliases, the virtual alias table can also +# Besides virtual aliases, the virtual alias table can also # be used to implement virtual alias domains. With a virtual -# alias domain, all recipient addresses are aliased to +# alias domain, all recipient addresses are aliased to # addresses in other domains. # # Virtual alias domains are not to be confused with the vir- # tual mailbox domains that are implemented with the Postfix # virtual(8) mail delivery agent. With virtual mailbox -# domains, each recipient address can have its own mailbox. +# domains, each recipient address can have its own mailbox. # -# With a virtual alias domain, the virtual domain has its -# own user name space. Local (i.e. non-virtual) usernames -# are not visible in a virtual alias domain. In particular, -# local aliases(5) and local mailing lists are not visible +# With a virtual alias domain, the virtual domain has its +# own user name space. Local (i.e. non-virtual) usernames +# are not visible in a virtual alias domain. In particular, +# local aliases(5) and local mailing lists are not visible # as localname@virtual-alias.domain. # # Support for a virtual alias domain looks like: @@ -183,7 +184,7 @@ # 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 +# the output from "postconf -m" for available database # types. # # /etc/postfix/virtual: @@ -192,72 +193,73 @@ # user1@virtual-alias.domain address1 # user2@virtual-alias.domain address2, address3 # -# The virtual-alias.domain anything entry is required for a +# The virtual-alias.domain anything entry is required for a # virtual alias domain. Without this entry, mail is rejected -# with "relay access denied", or bounces with "mail loops +# with "relay access denied", or bounces with "mail loops # back to myself". # -# Do not specify virtual alias domain names in the main.cf +# Do not specify virtual alias domain names in the main.cf # mydestination or relay_domains configuration parameters. # -# With a virtual alias domain, the Postfix SMTP server -# accepts mail for known-user@virtual-alias.domain, and -# rejects mail for unknown-user@virtual-alias.domain as +# With a virtual alias domain, the Postfix SMTP server +# accepts mail for known-user@virtual-alias.domain, and +# rejects mail for unknown-user@virtual-alias.domain as # undeliverable. # -# Instead of specifying the virtual alias domain name via -# the virtual_alias_maps table, you may also specify it via +# Instead of specifying the virtual alias domain name via +# the virtual_alias_maps table, you may also specify it via # the main.cf virtual_alias_domains configuration parameter. -# This latter parameter uses the same syntax as the main.cf +# This latter parameter uses the same syntax as the main.cf # mydestination configuration parameter. # # REGULAR EXPRESSION TABLES -# This section describes how the table lookups change when +# This section describes how the table lookups change when # the table is given in the form of regular expressions. For -# a description of regular expression lookup table syntax, +# a description of regular expression lookup table syntax, # see regexp_table(5) or pcre_table(5). # -# Each pattern is a regular expression that is applied to +# Each pattern is a regular expression that is applied to # the entire address being looked up. Thus, user@domain mail -# addresses are not broken up into their user and @domain +# addresses are not broken up into their user and @domain # constituent parts, nor is user+foo broken up into user and # foo. # -# Patterns are applied in the order as specified in the ta- -# ble, until a pattern is found that matches the search +# Patterns are applied in the order as specified in the ta- +# ble, until a pattern is found that matches the search # string. # -# Results are the same as with indexed file lookups, with -# the additional feature that parenthesized substrings from +# Results are the same as with indexed file lookups, with +# the additional feature that parenthesized substrings from # the pattern can be interpolated as $1, $2 and so on. # # TCP-BASED TABLES -# This section describes how the table lookups change when +# This section describes how the table lookups change when # lookups are directed to a TCP-based server. For a descrip- # tion of the TCP client/server lookup protocol, see tcp_ta- -# ble(5). This feature is available in Postfix 2.5 and +# ble(5). This feature is available in Postfix 2.5 and # later. # # Each lookup operation uses the entire address once. Thus, -# user@domain mail addresses are not broken up into their +# user@domain mail addresses are not broken up into their # user and @domain constituent parts, nor is user+foo broken # up into user and foo. # # Results are the same as with indexed file lookups. # # BUGS -# The table format does not understand quoting conventions. +# The table format does not understand quoting conventions. # # CONFIGURATION PARAMETERS -# The following main.cf parameters are especially relevant -# to this topic. See the Postfix main.cf file for syntax -# details and for default values. Use the "postfix reload" +# The following main.cf parameters are especially relevant +# to this topic. See the Postfix main.cf file for syntax +# details and for default values. Use the "postfix reload" # command after a configuration change. # # virtual_alias_maps ($virtual_maps) -# Optional lookup tables that alias specific mail -# addresses or domains to other local or remote -# addresses. +# Optional lookup tables with aliases that apply to +# all recipients: local(8), virtual, and remote; this +# is unlike alias_maps that apply only to local(8) +# recipients. # # virtual_alias_domains ($virtual_alias_maps) # Postfix is the final destination for the specified @@ -272,8 +274,8 @@ # Other parameters of interest: # # inet_interfaces (all) -# The network interface addresses that this mail sys- -# tem receives mail on. +# The local network interface addresses that this +# mail system receives mail on. # # mydestination ($myhostname, localhost.$mydomain, local- # host) @@ -292,9 +294,9 @@ # the recipient_delimiter is set to "-". # # proxy_interfaces (empty) -# The network interface addresses that this mail sys- -# tem receives mail on by way of a proxy or network -# address translation unit. +# The remote network interface addresses that this +# mail system receives mail on by way of a proxy or +# network address translation unit. # # SEE ALSO # cleanup(8), canonicalize and enqueue mail |