and nqmgr/qmgr_queue.c. Yup, changed the same code, again.
We now allow for a margin above the actual concurrency,
with the size of the initial destination concurrency.
+ Final solution by Patrik Rak.
Bugfix: the recipient home directory test broke mailbox_transport
support for non-UNIX recipients. File: local/recipient.c.
several FAQ entries concerning virtual domain support.
Documentation: added FAQ entry for the biff service.
+
+20001119
+
+ Bugfix: per-destination queue names were case sensitive so
+ that the same site could have multiple queues. Reported
+ by Patrik Rak. Files: *qmgr/qmgr_message.c.
+
+20001120
+
+ Bugfix: per-destination deferred mail logfiles were case
+ sensitive so that the same site could have multiple deferred
+ mail logfiles, so that not all mail would be flushed with
+ ETRN. Reported by Ralph Hildebrandt. Files: flush/flush.c.
+
+ Portability: added (int) casts to printf-like arguments
+ that specify the width of %*letter conversions. On some
+ systems, sizeof and pointer difference expressions are
+ wider than an int. Reported by Valentin Nechayev @ lucky.net.
-Incompatible changes with snapshot-20001104
+Incompatible changes with snapshot-20001120
===========================================
On RedHat Linux 7.0, you must install the db3-devel RPM before you
can compile the Postfix source code.
+Major changes with snapshot-20001120
+====================================
+
+The mailbox_transport feature works again.
+
+Postfix now supports both Sendmail-style virtual domains (all local
+users and aliases are visible in all virtual domains) and Postfix-style
+virtual domains (local users and aliases are not visible in virtual
+domains). Details and examples are given in the revised virtual
+manual page.
+
+The soft bounce feature now includes the Postfix SMTP server.
+Specify "soft_bounce = yes" in main.cf to prevent the SMTP server
+from bouncing mail while you are testing configurations.
+
Incompatible changes with snapshot-20001029
===========================================
# hosts, domains, networks, host addresses or mail
# addresses.
#
-# Normally, the table serves as input to the postmap(1) com-
-# mand. 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/access in order to rebuild
-# the indexed file after changing the access table.
-#
-# When the table is provided via other means such as NIS,
-# LDAP or SQL, the same lookups are done as for ordinary
+# Normally, the access 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/access in order to rebuild the
+# indexed file after changing the access table.
+#
+# 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 regular-
+# Alternatively, the table can be provided as a regular-
# expression map where patterns are given as regular expres-
-# sions. In that case, the lookups are done in a slightly
+# sions. In that case, the lookups are done in a slightly
# different way as described below.
#
# TABLE FORMAT
# The format of the access table is as follows:
#
# blanks and comments
-# Blank lines are ignored, as are lines beginning
+# Blank lines are ignored, as are lines beginning
# with `#'.
#
# leading whitespace
-# Lines that begin with whitespace continue the pre-
+# Lines that begin with whitespace continue the pre-
# vious line.
#
# pattern action
#
# PATTERNS
# With lookups from indexed files such as DB or DBM, or from
-# networked tables such as NIS, LDAP or SQL, patterns are
+# networked tables such as NIS, LDAP or SQL, patterns are
# tried in the order as listed below:
#
# user@domain
# Matches the specified mail address.
#
# domain.name
-# Matches the domain.name itself and any subdomain
-# thereof, either in hostnames or in mail addresses.
-# Top-level domains will never be matched.
+# Matches the domain.name itself and any subdomain
+# thereof, either in hostnames or in mail addresses.
#
# 1
#
# ACCESS(5) ACCESS(5)
#
-# user@ Matches all mail addresses with the specified user
+# Top-level domains will never be matched.
+#
+# user@ Matches all mail addresses with the specified user
# part.
#
# net.work.addr.ess
#
# net.work
#
-# net Matches any host address in the specified network.
-# A network address is a sequence of one or more
+# net Matches any host address in the specified network.
+# A network address is a sequence of one or more
# octets separated by ".".
#
# ACTIONS
# [45]XX text
-# Reject the address etc. that matches the pattern,
+# Reject the address etc. that matches the pattern,
# and respond with the numerical code and text.
#
# REJECT Reject the address etc. that matches the pattern. A
# Accept the address etc. that matches the pattern.
#
# 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 string being looked up. Depending on the appli-
-# cation, that string is an entire client hostname, an
+# cation, that string is an entire client hostname, an
# entire client IP address, or an entire mail address. Thus,
-# no parent domain or parent network search is done, and
-# user@domain mail addresses are not broken up into their
+# no parent domain or parent network search is done, and
+# user@domain mail addresses are not broken up into their
# user@ and domain constituent parts.
#
-# Patterns are applied in the order as specified in the
-# table, until a pattern is found that matches the search
+# Patterns are applied in the order as specified in the
+# table, until a pattern is found that matches the search
# string.
#
-# Actions are the same as with normal indexed file lookups,
-# with the additional feature that parenthesized substrings
-# from the pattern can be interpolated as $1, $2 and so on.
+# Actions are the same as with normal indexed file lookups,
+# with the additional feature that parenthesized substrings
+# from the pattern can be interpolated as $1, $2 and so on.
#
# BUGS
-# The table format does not understand quoting conventions.
-#
-# SEE ALSO
-# postmap(1) create mapping table
-# smtpd(8) smtp server
+# The table format does not understand quoting conventions.
#
# 2
#
# ACCESS(5) ACCESS(5)
#
+# SEE ALSO
+# postmap(1) create mapping table
+# smtpd(8) smtp server
# pcre_table(5) format of PCRE tables
# regexp_table(5) format of POSIX regular expression tables
#
# LICENSE
-# The Secure Mailer license must be distributed with this
+# The Secure Mailer license must be distributed with this
# software.
#
# AUTHOR(S)
# newaliases
#
# DESCRIPTION
-# The aliases file provides a system-wide mechanism to redi-
-# rect mail for local recipients. The redirections are pro-
-# cessed by the Postfix local(8) delivery agent.
-#
-# The file 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
+# The aliases table provides a system-wide mechanism to
+# redirect mail for local recipients. The redirections are
+# processed by the Postfix local(8) delivery agent.
+#
+# Normally, the aliases 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
# changing the Postfix alias database.
#
-# The input and output file formats are expected to be com-
-# patible with Sendmail version 8, and are expected to be
+# The input and output file formats are expected to be com-
+# patible with Sendmail version 8, and are expected to be
# suitable for the use as NIS maps.
#
# Users can control delivery of their own mail by setting up
#
# name: value1, value2, ...
#
-# o Lines that begin with whitespace continue the pre-
+# o Lines that begin with whitespace continue the pre-
# vious line.
#
-# o Blank lines are ignored, as are lines beginning
+# o Blank lines are ignored, as are lines beginning
# with `#'.
#
-# 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, delivery
-# diagnostics are directed to that address, instead of to
+# diagnostics are directed to that address, instead of to
# the originator. This is typically used to direct delivery
-# errors to the owner of a mailing list, who is in a better
-# position to deal with mailing list delivery problems than
+# errors to the owner 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:
# ALIASES(5) ALIASES(5)
#
# 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. See local(8) for
-# details of delivery to file. Delivery is not lim-
-# ited to regular files. For example, to dispose of
+# Mail is appended to /file/name. See local(8) for
+# details of delivery to file. Delivery is not lim-
+# ited 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. See local(8) for
+# Mail is piped into command. Commands that contain
+# special characters, such as whitespace, should be
+# enclosed between double quotes. See local(8) for
# details of delivery to command.
#
# 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.
#
#
# 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).
#
# 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.
#
# alias_maps
# List of alias databases.
#
# allow_mail_to_commands
-# Restrict the usage of mail delivery to external
+# Restrict the usage of mail delivery to external
# command.
#
# 2
# ALIASES(5) ALIASES(5)
#
# allow_mail_to_files
-# Restrict the usage of mail delivery to external
+# Restrict the usage of mail delivery to external
# file.
#
# owner_request_special
# addresses.
#
# recipient_delimiter
-# Delimiter that separates recipients from address
+# Delimiter that separates recipients from address
# extensions.
#
# STANDARDS
# postalias(1) alias database management
#
# LICENSE
-# The Secure Mailer license must be distributed with this
+# The Secure Mailer license must be distributed with this
# software.
#
# AUTHOR(S)
# postmap /etc/postfix/relocated
#
# DESCRIPTION
-# The optional relocated file provides the information that
+# The optional relocated table provides the information that
# is used in "user has moved to new_location" bounce mes-
# sages.
#
-# Normally, the file serves as input to the postmap(1) com-
-# mand. 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/relocated in order to rebuild
-# the indexed file after changing the relocated table.
+# Normally, the relocated 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/relocated in order to rebuild the
+# indexed file after changing the relocated table.
#
-# 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 regular-
+# Alternatively, the table can be provided as a regular-
# expression map where patterns are given as regular expres-
-# sions. In that case, the lookups are done in a slightly
+# sions. In that case, the lookups are done in a slightly
# different way as described below.
#
# Table lookups are case insensitive.
# TABLE FORMAT
# The format of the table is as follows:
#
-# o Blank lines are ignored, as are lines beginning
+# o Blank lines are ignored, as are lines beginning
# with `#'.
#
-# o Lines that begin with whitespace continue the pre-
+# o Lines that begin with whitespace continue the pre-
# vious line.
#
# o An entry has one of the following form:
# key new_location
-# Where new_location specifies contact information
-# such as an email address, or perhaps a street
+# Where new_location specifies contact information
+# such as an email address, or perhaps a street
# address or telephone number.
#
# With lookups from indexed files such as DB or DBM, or from
-# networked tables such as NIS, LDAP or SQL, the key field
+# networked tables such as NIS, LDAP or SQL, the key field
# is one of the following:
#
# user@domain
-# Matches user@domain. This form has precedence over
+# Matches user@domain. This form has precedence over
# all other forms.
#
# user Matches user@site when site is $myorigin, when site
# is listed in $mydestination, or when site is listed
-# in $inet_interfaces.
#
# 1
#
# RELOCATED(5) RELOCATED(5)
#
+# in $inet_interfaces.
+#
# @domain
-# Matches every address in domain. This form has the
+# Matches every address in domain. This form has the
# lowest precedence.
#
# ADDRESS EXTENSION
-# When the search fails, and the address localpart contains
-# the optional recipient delimiter (e.g., user+foo@domain),
-# the search is repeated for the unextended address (e.g.
+# When the search fails, and the address localpart contains
+# the optional recipient delimiter (e.g., user+foo@domain),
+# the search is repeated for the unextended address (e.g.
# user@domain).
#
# 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
-# table, until a pattern is found that matches the search
+# Patterns are applied in the order as specified in the
+# table, until a pattern is found that matches the search
# string.
#
-# Results are the same as with normal indexed file lookups,
-# with the additional feature that parenthesized substrings
-# from the pattern can be interpolated as $1, $2 and so on.
+# Results are the same as with normal indexed file lookups,
+# with the additional feature that parenthesized substrings
+# from the pattern can be interpolated as $1, $2 and so on.
#
# 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.
#
# relocated_maps
# Other parameters of interest:
#
# inet_interfaces
-# The network interface addresses that this system
+# The network interface addresses that this system
# receives mail on.
#
# mydestination
-# List of domains that this mail system considers
+# List of domains that this mail system considers
# local.
#
-# myorigin
-# The domain that is appended to locally-posted mail.
-#
# 2
#
# RELOCATED(5) RELOCATED(5)
#
+# myorigin
+# The domain that is appended to locally-posted mail.
+#
# SEE ALSO
# postmap(1) create lookup table
# pcre_table(5) format of PCRE tables
# regexp_table(5) format of POSIX regular expression tables
#
# LICENSE
-# The Secure Mailer license must be distributed with this
+# The Secure Mailer license must be distributed with this
# software.
#
# AUTHOR(S)
# postmap /etc/postfix/transport
#
# DESCRIPTION
-# The optional transport file specifies a mapping from
+# The optional transport table specifies a mapping from
# domain hierarchies to message delivery transports and/or
# relay hosts. The mapping is used by the trivial-rewrite(8)
# daemon.
#
-# Normally, the file serves as input to the postmap(1) com-
-# mand. 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/transport in order to rebuild
-# the indexed file after changing the transport table.
+# Normally, the transport 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/transport in order to rebuild the
+# indexed file after changing the transport table.
#
-# 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 regular-
+# Alternatively, the table can be provided as a regular-
# expression map where patterns are given as regular expres-
-# sions. In that case, the lookups are done in a slightly
+# sions. In that case, the lookups are done in a slightly
# different way as described below.
#
# TABLE FORMAT
# The format of the transport table is as follows:
#
# blanks and comments
-# Blank lines are ignored, as are lines beginning
+# Blank lines are ignored, as are lines beginning
# with `#'.
#
# leading whitespace
-# Lines that begin with whitespace continue the pre-
+# Lines that begin with whitespace continue the pre-
# vious line.
#
# pattern result
-# When pattern matches the domain, use the corre-
+# When pattern matches the domain, use the corre-
# sponding result.
#
# With lookups from indexed files such as DB or DBM, or from
-# networked tables such as NIS, LDAP or SQL, patterns are
+# networked tables such as NIS, LDAP or SQL, patterns are
# tried in the order as listed below:
#
# domain transport:nexthop
-# Mail for domain is delivered through transport to
+# Mail for domain is delivered through transport to
# nexthop.
#
# .domain transport:nexthop
-# Mail for any subdomain of domain is delivered
+# Mail for any subdomain of domain is delivered
# through transport to nexthop.
#
# 1
#
# TRANSPORT(5) TRANSPORT(5)
#
-# Note: transport map entries take precedence over domains
-# specified in the mydestination parameter. If you use the
+# Note: transport map entries take precedence over domains
+# specified in the mydestination parameter. If you use the
# optional transport map, it may be safer to specify
-# explicit entries for all domains specified in mydestina-
+# explicit entries for all domains specified in mydestina-
# tion, for example:
#
# hostname.my.domain local:
# localhost.my.domain local:
#
-# The interpretation of the nexthop field is transport
+# The interpretation of the nexthop field is transport
# dependent. In the case of SMTP, specify host:service for a
-# non-default server port, and use [host] or [host]:port in
-# order to disable MX (mail exchanger) DNS lookups. The []
-# form can also be used with IP addresses instead of host-
+# non-default server port, and use [host] or [host]:port in
+# order to disable MX (mail exchanger) DNS lookups. The []
+# form can also be used with IP addresses instead of host-
# names.
#
# EXAMPLES
-# In order to send mail for foo.org and its subdomains via
+# In order to send mail for foo.org and its subdomains via
# the uucp transport to the UUCP host named foo:
#
# foo.org uucp:foo
# .foo.org uucp:foo
#
-# When no nexthop host name is specified, the destination
-# domain name is used instead. For example, the following
-# directs mail for user@foo.org via the slow transport to a
-# mail exchanger for foo.org. The slow transport could be
-# something that runs at most one delivery process at a
+# When no nexthop host name is specified, the destination
+# domain name is used instead. For example, the following
+# directs mail for user@foo.org via the slow transport to a
+# mail exchanger for foo.org. The slow transport could be
+# something that runs at most one delivery process at a
# time:
#
# foo.org slow:
#
-# When no transport is specified, the default transport is
+# When no transport is specified, the default transport is
# used, as specified via the default_transport configuration
-# parameter. The following sends all mail for foo.org and
+# parameter. The following sends all mail for foo.org and
# its subdomains to host gateway.foo.org:
#
# foo.org :[gateway.foo.org]
# .foo.org :[gateway.foo.org]
#
-# In the above example, the [] are used to suppress MX
-# lookups. The result would likely point to your local
+# In the above example, the [] are used to suppress MX
+# lookups. The result would likely point to your local
# machine.
#
-# In the case of delivery via SMTP, one may specify host-
+# In the case of delivery via SMTP, one may specify host-
# name:service instead of just a host:
#
# foo.org smtp:bar.org:2025
#
-# This directs mail for user@foo.org to host bar.org port
-# 2025. Instead of a numerical port a symbolic name may be
-# used. Specify [] around the hostname in order to disable
+# This directs mail for user@foo.org to host bar.org port
+# 2025. Instead of a numerical port a symbolic name may be
+# used. Specify [] around the hostname in order to disable
# MX lookups.
#
# 2
#
# The error mailer can be used to bounce mail:
#
-# .foo.org error:mail for *.foo.org is not deliv-
+# .foo.org error:mail for *.foo.org is not deliv-
# erable
#
-# This causes all mail for user@anything.foo.org to be
+# This causes all mail for user@anything.foo.org to be
# bounced.
#
# 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 domain being looked up. Thus, some.domain.hier-
# archy is not broken up into parent domains.
#
-# Patterns are applied in the order as specified in the
-# table, until a pattern is found that matches the search
+# Patterns are applied in the order as specified in the
+# table, until a pattern is found that matches the search
# string.
#
-# Results are the same as with normal indexed file lookups,
-# with the additional feature that parenthesized substrings
-# from the pattern can be interpolated as $1, $2 and so on.
+# Results are the same as with normal indexed file lookups,
+# with the additional feature that parenthesized substrings
+# from the pattern can be interpolated as $1, $2 and so on.
#
# 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.
#
# transport_maps
# Other parameters of interest:
#
# default_transport
-# The transport to use when no transport is explic-
+# The transport to use when no transport is explic-
# itly specified.
#
# relayhost
# regexp_table(5) format of POSIX regular expression tables
#
# LICENSE
-# The Secure Mailer license must be distributed with this
+# The Secure Mailer license must be distributed with this
# software.
#
# 3
hosts, domains, networks, host addresses or mail
addresses.
- Normally, the table serves as input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> com-
- mand. The result, an indexed file in <b>dbm</b> or <b>db</b> format, is
- used for fast searching by the mail system. Execute the
- command <b>postmap</b> <b>/etc/postfix/access</b> in order to rebuild
- the indexed file after changing the access table.
-
- When the table is provided via other means such as NIS,
- LDAP or SQL, the same lookups are done as for ordinary
+ Normally, the <b>access</b> table is specified as a text file
+ that serves as input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> command. The
+ result, an indexed file in <b>dbm</b> or <b>db</b> format, is used for
+ fast searching by the mail system. Execute the command
+ <b>postmap</b> <b>/etc/postfix/access</b> in order to rebuild the
+ indexed file after changing the access table.
+
+ 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 regular-
+ Alternatively, the table can be provided as a regular-
expression map where patterns are given as regular expres-
- sions. In that case, the lookups are done in a slightly
+ sions. In that case, the lookups are done in a slightly
different way as described below.
<b>TABLE</b> <b>FORMAT</b>
The format of the access table is as follows:
blanks and comments
- Blank lines are ignored, as are lines beginning
+ Blank lines are ignored, as are lines beginning
with `#'.
leading whitespace
- Lines that begin with whitespace continue the pre-
+ Lines that begin with whitespace continue the pre-
vious line.
<i>pattern</i> <i>action</i>
<b>PATTERNS</b>
With lookups from indexed files such as DB or DBM, or from
- networked tables such as NIS, LDAP or SQL, patterns are
+ networked tables such as NIS, LDAP or SQL, patterns are
tried in the order as listed below:
<i>user</i>@<i>domain</i>
Matches the specified mail address.
<i>domain.name</i>
- Matches the <i>domain.name</i> itself and any subdomain
- thereof, either in hostnames or in mail addresses.
- Top-level domains will never be matched.
+ Matches the <i>domain.name</i> itself and any subdomain
+ thereof, either in hostnames or in mail addresses.
ACCESS(5) ACCESS(5)
- <i>user</i>@ Matches all mail addresses with the specified user
+ Top-level domains will never be matched.
+
+ <i>user</i>@ Matches all mail addresses with the specified user
part.
<i>net.work.addr.ess</i>
<i>net.work</i>
- <i>net</i> Matches any host address in the specified network.
- A network address is a sequence of one or more
+ <i>net</i> Matches any host address in the specified network.
+ A network address is a sequence of one or more
octets separated by ".".
<b>ACTIONS</b>
[<b>45</b>]<i>XX</i> <i>text</i>
- Reject the address etc. that matches the pattern,
+ Reject the address etc. that matches the pattern,
and respond with the numerical code and text.
<b>REJECT</b> Reject the address etc. that matches the pattern. A
Accept the address etc. that matches the pattern.
<b>REGULAR</b> <b>EXPRESSION</b> <b>TABLES</b>
- 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 <a href="regexp_table.5.html"><b>regexp</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>table</b>(5)</a>.
- Each pattern is a regular expression that is applied to
+ Each pattern is a regular expression that is applied to
the entire string being looked up. Depending on the appli-
- cation, that string is an entire client hostname, an
+ cation, that string is an entire client hostname, an
entire client IP address, or an entire mail address. Thus,
- no parent domain or parent network search is done, and
- <i>user@domain</i> mail addresses are not broken up into their
+ no parent domain or parent network search is done, and
+ <i>user@domain</i> mail addresses are not broken up into their
<i>user@</i> and <i>domain</i> constituent parts.
- Patterns are applied in the order as specified in the
- table, until a pattern is found that matches the search
+ Patterns are applied in the order as specified in the
+ table, until a pattern is found that matches the search
string.
- Actions are the same as with normal indexed file lookups,
- with the additional feature that parenthesized substrings
- from the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
+ Actions are the same as with normal indexed file lookups,
+ with the additional feature that parenthesized substrings
+ from the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
<b>BUGS</b>
- The table format does not understand quoting conventions.
+ The table format does not understand quoting conventions.
+
-<b>SEE</b> <b>ALSO</b>
- <a href="postmap.1.html">postmap(1)</a> create mapping table
- <a href="smtpd.8.html">smtpd(8)</a> smtp server
ACCESS(5) ACCESS(5)
+<b>SEE</b> <b>ALSO</b>
+ <a href="postmap.1.html">postmap(1)</a> create mapping table
+ <a href="smtpd.8.html">smtpd(8)</a> smtp server
<a href="pcre_table.5.html">pcre_table(5)</a> format of PCRE tables
<a href="regexp_table.5.html">regexp_table(5)</a> format of POSIX regular expression tables
<b>LICENSE</b>
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
<b>AUTHOR(S)</b>
-
-
-
<b>newaliases</b>
<b>DESCRIPTION</b>
- The <b>aliases</b> file provides a system-wide mechanism to redi-
- rect mail for local recipients. The redirections are pro-
- cessed by the Postfix <a href="local.8.html"><b>local</b>(8)</a> delivery agent.
-
- The file serves as input to the <a href="postalias.1.html"><b>postalias</b>(1)</a> command. The
- result, an indexed file in <b>dbm</b> or <b>db</b> format, is used for
- fast lookup by the mail system. Execute the command
- <b>newaliases</b> in order to rebuild the indexed file after
+ The <b>aliases</b> table provides a system-wide mechanism to
+ redirect mail for local recipients. The redirections are
+ processed by the Postfix <a href="local.8.html"><b>local</b>(8)</a> delivery agent.
+
+ Normally, the <b>aliases</b> table is specified as a text file
+ that serves as input to the <a href="postalias.1.html"><b>postalias</b>(1)</a> command. The
+ result, an indexed file in <b>dbm</b> or <b>db</b> format, is used for
+ fast lookup by the mail system. Execute the command
+ <b>newaliases</b> in order to rebuild the indexed file after
changing the Postfix alias database.
- The input and output file formats are expected to be com-
- patible with Sendmail version 8, and are expected to be
+ The input and output file formats are expected to be com-
+ patible with Sendmail version 8, and are expected to be
suitable for the use as NIS maps.
Users can control delivery of their own mail by setting up
<i>name</i>: <i>value1</i>, <i>value2</i>, <i>...</i>
- <b>o</b> Lines that begin with whitespace continue the pre-
+ <b>o</b> Lines that begin with whitespace continue the pre-
vious line.
- <b>o</b> Blank lines are ignored, as are lines beginning
+ <b>o</b> Blank lines are ignored, as are lines beginning
with `#'.
- The <i>name</i> is a local address (no domain part). Use double
- quotes when the name contains any special characters such
- as whitespace, `#', `:', or `@'. The <i>name</i> is folded to
+ The <i>name</i> is a local address (no domain part). Use double
+ quotes when the name contains any special characters such
+ as whitespace, `#', `:', or `@'. The <i>name</i> is folded to
lowercase, in order to make database lookups case insensi-
tive.
In addition, when an alias exists for <b>owner-</b><i>name</i>, delivery
- diagnostics are directed to that address, instead of to
+ diagnostics are directed to that address, instead of to
the originator. This is typically used to direct delivery
- errors to the owner of a mailing list, who is in a better
- position to deal with mailing list delivery problems than
+ errors to the owner 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 <i>value</i> contains one or more of the following:
-
1
<i>address</i>
- Mail is forwarded to <i>address</i>, which is compatible
+ Mail is forwarded to <i>address</i>, which is compatible
with the <a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a> standard.
<i>/file/name</i>
- Mail is appended to <i>/file/name</i>. See <a href="local.8.html"><b>local</b>(8)</a> for
- details of delivery to file. Delivery is not lim-
- ited to regular files. For example, to dispose of
+ Mail is appended to <i>/file/name</i>. See <a href="local.8.html"><b>local</b>(8)</a> for
+ details of delivery to file. Delivery is not lim-
+ ited to regular files. For example, to dispose of
unwanted mail, deflect it to <b>/dev/null</b>.
|<i>command</i>
- Mail is piped into <i>command</i>. Commands that contain
- special characters, such as whitespace, should be
- enclosed between double quotes. See <a href="local.8.html"><b>local</b>(8)</a> for
+ Mail is piped into <i>command</i>. Commands that contain
+ special characters, such as whitespace, should be
+ enclosed between double quotes. See <a href="local.8.html"><b>local</b>(8)</a> for
details of delivery to command.
When the command fails, a limited amount of command
- output is mailed back to the sender. The file
- <b>/usr/include/sysexits.h</b> defines the expected exit
- status codes. For example, use <b>|"exit</b> <b>67"</b> to simu-
- late a "user unknown" error, and <b>|"exit</b> <b>0"</b> to
+ output is mailed back to the sender. The file
+ <b>/usr/include/sysexits.h</b> defines the expected exit
+ status codes. For example, use <b>|"exit</b> <b>67"</b> to simu-
+ late a "user unknown" error, and <b>|"exit</b> <b>0"</b> to
implement an expensive black hole.
<b>:include:</b><i>/file/name</i>
- Mail is sent to the destinations listed in the
+ Mail is sent to the destinations listed in the
named file. Lines in <b>:include:</b> files have the same
syntax as the right-hand side of alias entries.
<b>ADDRESS</b> <b>EXTENSION</b>
When alias database search fails, and the recipient local-
- part contains the optional recipient delimiter (e.g.,
- <i>user+foo</i>), the search is repeated for the unextended
+ part contains the optional recipient delimiter (e.g.,
+ <i>user+foo</i>), the search is repeated for the unextended
address (e.g., <i>user</i>).
<b>CONFIGURATION</b> <b>PARAMETERS</b>
- The following <b>main.cf</b> parameters are especially relevant
- to this topic. See the Postfix <b>main.cf</b> file for syntax
- details and for default values. Use the <b>postfix</b> <b>reload</b>
+ The following <b>main.cf</b> parameters are especially relevant
+ to this topic. See the Postfix <b>main.cf</b> file for syntax
+ details and for default values. Use the <b>postfix</b> <b>reload</b>
command after a configuration change.
<b>alias</b><i>_</i><b>maps</b>
List of alias databases.
<b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>commands</b>
- Restrict the usage of mail delivery to external
+ Restrict the usage of mail delivery to external
command.
<b>allow</b><i>_</i><b>mail</b><i>_</i><b>to</b><i>_</i><b>files</b>
- Restrict the usage of mail delivery to external
+ Restrict the usage of mail delivery to external
file.
<b>owner</b><i>_</i><b>request</b><i>_</i><b>special</b>
addresses.
<b>recipient</b><i>_</i><b>delimiter</b>
- Delimiter that separates recipients from address
+ Delimiter that separates recipients from address
extensions.
<b>STANDARDS</b>
<a href="postalias.1.html">postalias(1)</a> alias database management
<b>LICENSE</b>
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
<b>AUTHOR(S)</b>
<b>FLUSH</b><i>_</i><b>REQ</b><i>_</i><b>REFRESH</b> (completes in the background)
Refresh non-empty per-destination logfiles that
- were not read in <b>$fast</b><i>_</i><b>flush</b><i>_</i><b>refresh</b><i>_</i><b>time</b> hours, by
+ were not read in <b>fast</b><i>_</i><b>flush</b><i>_</i><b>refresh</b><i>_</i><b>time</b> hours, by
simulating send requests (see above) for the corre-
sponding destinations.
<b>postmap</b> <b>/etc/postfix/relocated</b>
<b>DESCRIPTION</b>
- The optional <b>relocated</b> file provides the information that
+ The optional <b>relocated</b> table provides the information that
is used in "user has moved to <i>new_location</i>" bounce mes-
sages.
- Normally, the file serves as input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> com-
- mand. The result, an indexed file in <b>dbm</b> or <b>db</b> format, is
- used for fast searching by the mail system. Execute the
- command <b>postmap</b> <b>/etc/postfix/relocated</b> in order to rebuild
- the indexed file after changing the relocated table.
+ Normally, the <b>relocated</b> table is specified as a text file
+ that serves as input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> command. The
+ result, an indexed file in <b>dbm</b> or <b>db</b> format, is used for
+ fast searching by the mail system. Execute the command
+ <b>postmap</b> <b>/etc/postfix/relocated</b> in order to rebuild the
+ indexed file after changing the relocated table.
- 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 regular-
+ Alternatively, the table can be provided as a regular-
expression map where patterns are given as regular expres-
- sions. In that case, the lookups are done in a slightly
+ sions. In that case, the lookups are done in a slightly
different way as described below.
Table lookups are case insensitive.
<b>TABLE</b> <b>FORMAT</b>
The format of the table is as follows:
- <b>o</b> Blank lines are ignored, as are lines beginning
+ <b>o</b> Blank lines are ignored, as are lines beginning
with `#'.
- <b>o</b> Lines that begin with whitespace continue the pre-
+ <b>o</b> Lines that begin with whitespace continue the pre-
vious line.
<b>o</b> An entry has one of the following form:
<i>key</i> <i>new_location</i>
- Where <i>new_location</i> specifies contact information
- such as an email address, or perhaps a street
+ Where <i>new_location</i> specifies contact information
+ such as an email address, or perhaps a street
address or telephone number.
With lookups from indexed files such as DB or DBM, or from
- networked tables such as NIS, LDAP or SQL, the <i>key</i> field
+ networked tables such as NIS, LDAP or SQL, the <i>key</i> field
is one of the following:
<i>user</i>@<i>domain</i>
- Matches <i>user</i>@<i>domain</i>. This form has precedence over
+ Matches <i>user</i>@<i>domain</i>. This form has precedence over
all other forms.
<i>user</i> Matches <i>user</i>@<i>site</i> when <i>site</i> is $<b>myorigin</b>, when <i>site</i>
is listed in $<b>mydestination</b>, or when <i>site</i> is listed
- in $<b>inet</b><i>_</i><b>interfaces</b>.
RELOCATED(5) RELOCATED(5)
+ in $<b>inet</b><i>_</i><b>interfaces</b>.
+
@<i>domain</i>
- Matches every address in <i>domain</i>. This form has the
+ Matches every address in <i>domain</i>. This form has the
lowest precedence.
<b>ADDRESS</b> <b>EXTENSION</b>
- When the search fails, and the address localpart contains
- the optional recipient delimiter (e.g., <i>user+foo</i>@<i>domain</i>),
- the search is repeated for the unextended address (e.g.
+ When the search fails, and the address localpart contains
+ the optional recipient delimiter (e.g., <i>user+foo</i>@<i>domain</i>),
+ the search is repeated for the unextended address (e.g.
<i>user</i>@<i>domain</i>).
<b>REGULAR</b> <b>EXPRESSION</b> <b>TABLES</b>
- 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 <a href="regexp_table.5.html"><b>regexp</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>table</b>(5)</a>.
- 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, <i>user@domain</i> mail
- addresses are not broken up into their <i>user</i> and <i>@domain</i>
+ addresses are not broken up into their <i>user</i> and <i>@domain</i>
constituent parts, nor is <i>user+foo</i> broken up into <i>user</i> and
<i>foo</i>.
- Patterns are applied in the order as specified in the
- table, until a pattern is found that matches the search
+ Patterns are applied in the order as specified in the
+ table, until a pattern is found that matches the search
string.
- Results are the same as with normal indexed file lookups,
- with the additional feature that parenthesized substrings
- from the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
+ Results are the same as with normal indexed file lookups,
+ with the additional feature that parenthesized substrings
+ from the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
<b>BUGS</b>
- The table format does not understand quoting conventions.
+ The table format does not understand quoting conventions.
<b>CONFIGURATION</b> <b>PARAMETERS</b>
- The following <b>main.cf</b> parameters are especially relevant
- to this topic. See the Postfix <b>main.cf</b> file for syntax
- details and for default values. Use the <b>postfix</b> <b>reload</b>
+ The following <b>main.cf</b> parameters are especially relevant
+ to this topic. See the Postfix <b>main.cf</b> file for syntax
+ details and for default values. Use the <b>postfix</b> <b>reload</b>
command after a configuration change.
<b>relocated</b><i>_</i><b>maps</b>
Other parameters of interest:
<b>inet</b><i>_</i><b>interfaces</b>
- The network interface addresses that this system
+ The network interface addresses that this system
receives mail on.
<b>mydestination</b>
- List of domains that this mail system considers
+ List of domains that this mail system considers
local.
- <b>myorigin</b>
- The domain that is appended to locally-posted mail.
RELOCATED(5) RELOCATED(5)
+ <b>myorigin</b>
+ The domain that is appended to locally-posted mail.
+
<b>SEE</b> <b>ALSO</b>
<a href="postmap.1.html">postmap(1)</a> create lookup table
<a href="pcre_table.5.html">pcre_table(5)</a> format of PCRE tables
<a href="regexp_table.5.html">regexp_table(5)</a> format of POSIX regular expression tables
<b>LICENSE</b>
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
<b>AUTHOR(S)</b>
-
-
-
<b>postmap</b> <b>/etc/postfix/transport</b>
<b>DESCRIPTION</b>
- The optional <b>transport</b> file specifies a mapping from
+ The optional <b>transport</b> table specifies a mapping from
domain hierarchies to message delivery transports and/or
relay hosts. The mapping is used by the <a href="trivial-rewrite.8.html"><b>trivial-rewrite</b>(8)</a>
daemon.
- Normally, the file serves as input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> com-
- mand. The result, an indexed file in <b>dbm</b> or <b>db</b> format, is
- used for fast searching by the mail system. Execute the
- command <b>postmap</b> <b>/etc/postfix/transport</b> in order to rebuild
- the indexed file after changing the transport table.
+ Normally, the <b>transport</b> table is specified as a text file
+ that serves as input to the <a href="postmap.1.html"><b>postmap</b>(1)</a> command. The
+ result, an indexed file in <b>dbm</b> or <b>db</b> format, is used for
+ fast searching by the mail system. Execute the command
+ <b>postmap</b> <b>/etc/postfix/transport</b> in order to rebuild the
+ indexed file after changing the transport table.
- 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 regular-
+ Alternatively, the table can be provided as a regular-
expression map where patterns are given as regular expres-
- sions. In that case, the lookups are done in a slightly
+ sions. In that case, the lookups are done in a slightly
different way as described below.
<b>TABLE</b> <b>FORMAT</b>
The format of the transport table is as follows:
blanks and comments
- Blank lines are ignored, as are lines beginning
+ Blank lines are ignored, as are lines beginning
with `#'.
leading whitespace
- Lines that begin with whitespace continue the pre-
+ Lines that begin with whitespace continue the pre-
vious line.
<i>pattern</i> <i>result</i>
- When <i>pattern</i> matches the domain, use the corre-
+ When <i>pattern</i> matches the domain, use the corre-
sponding <i>result</i>.
With lookups from indexed files such as DB or DBM, or from
- networked tables such as NIS, LDAP or SQL, patterns are
+ networked tables such as NIS, LDAP or SQL, patterns are
tried in the order as listed below:
<i>domain</i> <i>transport</i>:<i>nexthop</i>
- Mail for <i>domain</i> is delivered through <i>transport</i> to
+ Mail for <i>domain</i> is delivered through <i>transport</i> to
<i>nexthop</i>.
<i>.domain</i> <i>transport</i>:<i>nexthop</i>
- Mail for any subdomain of <i>domain</i> is delivered
+ Mail for any subdomain of <i>domain</i> is delivered
through <i>transport</i> to <i>nexthop</i>.
-
1
TRANSPORT(5) TRANSPORT(5)
- Note: transport map entries take precedence over domains
- specified in the <b>mydestination</b> parameter. If you use the
+ Note: transport map entries take precedence over domains
+ specified in the <b>mydestination</b> parameter. If you use the
optional transport map, it may be safer to specify
- explicit entries for all domains specified in <b>mydestina-</b>
+ explicit entries for all domains specified in <b>mydestina-</b>
<b>tion</b>, for example:
<b>hostname.my.domain</b> <b>local:</b>
<b>localhost.my.domain</b> <b>local:</b>
- The interpretation of the <i>nexthop</i> field is transport
+ The interpretation of the <i>nexthop</i> field is transport
dependent. In the case of SMTP, specify <i>host</i>:<i>service</i> for a
- non-default server port, and use [<i>host</i>] or [<i>host</i>]:<i>port</i> in
- order to disable MX (mail exchanger) DNS lookups. The []
- form can also be used with IP addresses instead of host-
+ non-default server port, and use [<i>host</i>] or [<i>host</i>]:<i>port</i> in
+ order to disable MX (mail exchanger) DNS lookups. The []
+ form can also be used with IP addresses instead of host-
names.
<b>EXAMPLES</b>
- In order to send mail for <b>foo.org</b> and its subdomains via
+ In order to send mail for <b>foo.org</b> and its subdomains via
the <b>uucp</b> transport to the UUCP host named <b>foo</b>:
<b>foo.org</b> <b>uucp:foo</b>
<b>.foo.org</b> <b>uucp:foo</b>
- When no <i>nexthop</i> host name is specified, the destination
- domain name is used instead. For example, the following
- directs mail for <i>user</i>@<b>foo.org</b> via the <b>slow</b> transport to a
- mail exchanger for <b>foo.org</b>. The <b>slow</b> transport could be
- something that runs at most one delivery process at a
+ When no <i>nexthop</i> host name is specified, the destination
+ domain name is used instead. For example, the following
+ directs mail for <i>user</i>@<b>foo.org</b> via the <b>slow</b> transport to a
+ mail exchanger for <b>foo.org</b>. The <b>slow</b> transport could be
+ something that runs at most one delivery process at a
time:
<b>foo.org</b> <b>slow:</b>
- When no <i>transport</i> is specified, the default transport is
+ When no <i>transport</i> is specified, the default transport is
used, as specified via the <b>default</b><i>_</i><b>transport</b> configuration
- parameter. The following sends all mail for <b>foo.org</b> and
+ parameter. The following sends all mail for <b>foo.org</b> and
its subdomains to host <b>gateway.foo.org</b>:
<b>foo.org</b> <b>:[gateway.foo.org]</b>
<b>.foo.org</b> <b>:[gateway.foo.org]</b>
- In the above example, the [] are used to suppress MX
- lookups. The result would likely point to your local
+ In the above example, the [] are used to suppress MX
+ lookups. The result would likely point to your local
machine.
- In the case of delivery via SMTP, one may specify <i>host-</i>
+ In the case of delivery via SMTP, one may specify <i>host-</i>
<i>name</i>:<i>service</i> instead of just a host:
<b>foo.org</b> <b>smtp:bar.org:2025</b>
- This directs mail for <i>user</i>@<b>foo.org</b> to host <b>bar.org</b> port
- <b>2025</b>. Instead of a numerical port a symbolic name may be
- used. Specify [] around the hostname in order to disable
+ This directs mail for <i>user</i>@<b>foo.org</b> to host <b>bar.org</b> port
+ <b>2025</b>. Instead of a numerical port a symbolic name may be
+ used. Specify [] around the hostname in order to disable
MX lookups.
The error mailer can be used to bounce mail:
- <b>.foo.org</b> <b>error:mail</b> <b>for</b> <b>*.foo.org</b> <b>is</b> <b>not</b> <b>deliv-</b>
+ <b>.foo.org</b> <b>error:mail</b> <b>for</b> <b>*.foo.org</b> <b>is</b> <b>not</b> <b>deliv-</b>
<b>erable</b>
- This causes all mail for <i>user</i>@<i>anything</i><b>.foo.org</b> to be
+ This causes all mail for <i>user</i>@<i>anything</i><b>.foo.org</b> to be
bounced.
<b>REGULAR</b> <b>EXPRESSION</b> <b>TABLES</b>
- 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 <a href="regexp_table.5.html"><b>regexp</b><i>_</i><b>table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre</b><i>_</i><b>table</b>(5)</a>.
- Each pattern is a regular expression that is applied to
+ Each pattern is a regular expression that is applied to
the entire domain being looked up. Thus, <i>some.domain.hier-</i>
<i>archy</i> is not broken up into parent domains.
- Patterns are applied in the order as specified in the
- table, until a pattern is found that matches the search
+ Patterns are applied in the order as specified in the
+ table, until a pattern is found that matches the search
string.
- Results are the same as with normal indexed file lookups,
- with the additional feature that parenthesized substrings
- from the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
+ Results are the same as with normal indexed file lookups,
+ with the additional feature that parenthesized substrings
+ from the pattern can be interpolated as <b>$1</b>, <b>$2</b> and so on.
<b>CONFIGURATION</b> <b>PARAMETERS</b>
- The following <b>main.cf</b> parameters are especially relevant
- to this topic. See the Postfix <b>main.cf</b> file for syntax
- details and for default values. Use the <b>postfix</b> <b>reload</b>
+ The following <b>main.cf</b> parameters are especially relevant
+ to this topic. See the Postfix <b>main.cf</b> file for syntax
+ details and for default values. Use the <b>postfix</b> <b>reload</b>
command after a configuration change.
<b>transport</b><i>_</i><b>maps</b>
Other parameters of interest:
<b>default</b><i>_</i><b>transport</b>
- The transport to use when no transport is explic-
+ The transport to use when no transport is explic-
itly specified.
<b>relayhost</b>
<a href="regexp_table.5.html">regexp_table(5)</a> format of POSIX regular expression tables
<b>LICENSE</b>
- The Secure Mailer license must be distributed with this
+ The Secure Mailer license must be distributed with this
software.
to selectively reject or accept mail from or to specific hosts,
domains, networks, host addresses or mail addresses.
-Normally, the table serves as input to the \fBpostmap\fR(1) command.
+Normally, the \fBaccess\fR table is specified as a text file
+that serves as input to the \fBpostmap\fR(1) command.
The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
is used for fast searching by the mail system. Execute the command
\fBpostmap /etc/postfix/access\fR in order to rebuild the indexed
.SH DESCRIPTION
.ad
.fi
-The \fBaliases\fR file provides a system-wide mechanism to
+The \fBaliases\fR table provides a system-wide mechanism to
redirect mail for local recipients. The redirections are
processed by the Postfix \fBlocal\fR(8) delivery agent.
-The file serves as input to the \fBpostalias\fR(1) command. The
+Normally, the \fBaliases\fR table is specified as a text file
+that serves as input to the \fBpostalias\fR(1) command. The
result, an indexed file in \fBdbm\fR or \fBdb\fR format, is
used for fast lookup by the mail system. Execute the command
\fBnewaliases\fR in order to rebuild the indexed file after
.SH DESCRIPTION
.ad
.fi
-The optional \fBrelocated\fR file provides the information that is
+The optional \fBrelocated\fR table provides the information that is
used in "user has moved to \fInew_location\fR" bounce messages.
-Normally, the file serves as input to the \fBpostmap\fR(1) command.
+Normally, the \fBrelocated\fR table is specified as a text file
+that serves as input to the \fBpostmap\fR(1) command.
The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
is used for fast searching by the mail system. Execute the command
\fBpostmap /etc/postfix/relocated\fR in order to rebuild the indexed
.SH DESCRIPTION
.ad
.fi
-The optional \fBtransport\fR file specifies a mapping from domain
+The optional \fBtransport\fR table specifies a mapping from domain
hierarchies to message delivery transports and/or relay hosts. The
mapping is used by the \fBtrivial-rewrite\fR(8) daemon.
-Normally, the file serves as input to the \fBpostmap\fR(1) command.
+Normally, the \fBtransport\fR table is specified as a text file
+that serves as input to the \fBpostmap\fR(1) command.
The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used
for fast searching by the mail system. Execute the command
\fBpostmap /etc/postfix/transport\fR in order to rebuild the indexed
request \fBFLUSH_REQ_REFRESH\fR.
.IP "\fBFLUSH_REQ_REFRESH\fR (completes in the background)"
Refresh non-empty per-destination logfiles that were not read in
-\fB$fast_flush_refresh_time\fR hours, by simulating
+\fBfast_flush_refresh_time\fR hours, by simulating
send requests (see above) for the corresponding destinations.
.sp
Delete empty per-destination logfiles that were not updated in
# to selectively reject or accept mail from or to specific hosts,
# domains, networks, host addresses or mail addresses.
#
-# Normally, the table serves as input to the \fBpostmap\fR(1) command.
+# Normally, the \fBaccess\fR table is specified as a text file
+# that serves as input to the \fBpostmap\fR(1) command.
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
# is used for fast searching by the mail system. Execute the command
# \fBpostmap /etc/postfix/access\fR in order to rebuild the indexed
# .fi
# \fBnewaliases\fR
# DESCRIPTION
-# The \fBaliases\fR file provides a system-wide mechanism to
+# The \fBaliases\fR table provides a system-wide mechanism to
# redirect mail for local recipients. The redirections are
# processed by the Postfix \fBlocal\fR(8) delivery agent.
#
-# The file serves as input to the \fBpostalias\fR(1) command. The
+# Normally, the \fBaliases\fR table is specified as a text file
+# that serves as input to the \fBpostalias\fR(1) command. The
# result, an indexed file in \fBdbm\fR or \fBdb\fR format, is
# used for fast lookup by the mail system. Execute the command
# \fBnewaliases\fR in order to rebuild the indexed file after
# SYNOPSIS
# \fBpostmap /etc/postfix/relocated\fR
# DESCRIPTION
-# The optional \fBrelocated\fR file provides the information that is
+# The optional \fBrelocated\fR table provides the information that is
# used in "user has moved to \fInew_location\fR" bounce messages.
#
-# Normally, the file serves as input to the \fBpostmap\fR(1) command.
+# Normally, the \fBrelocated\fR table is specified as a text file
+# that serves as input to the \fBpostmap\fR(1) command.
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format,
# is used for fast searching by the mail system. Execute the command
# \fBpostmap /etc/postfix/relocated\fR in order to rebuild the indexed
# SYNOPSIS
# \fBpostmap /etc/postfix/transport\fR
# DESCRIPTION
-# The optional \fBtransport\fR file specifies a mapping from domain
+# The optional \fBtransport\fR table specifies a mapping from domain
# hierarchies to message delivery transports and/or relay hosts. The
# mapping is used by the \fBtrivial-rewrite\fR(8) daemon.
#
-# Normally, the file serves as input to the \fBpostmap\fR(1) command.
+# Normally, the \fBtransport\fR table is specified as a text file
+# that serves as input to the \fBpostmap\fR(1) command.
# The result, an indexed file in \fBdbm\fR or \fBdb\fR format, is used
# for fast searching by the mail system. Execute the command
# \fBpostmap /etc/postfix/transport\fR in order to rebuild the indexed
return (dns_type_map[i].type);
return (0);
}
-
flush.o: ../../include/dict.h
flush.o: ../../include/argv.h
flush.o: ../../include/scan_dir.h
+flush.o: ../../include/stringops.h
flush.o: ../../include/mail_params.h
flush.o: ../../include/mail_queue.h
flush.o: ../../include/mail_proto.h
/* request \fBFLUSH_REQ_REFRESH\fR.
/* .IP "\fBFLUSH_REQ_REFRESH\fR (completes in the background)"
/* Refresh non-empty per-destination logfiles that were not read in
-/* \fB$fast_flush_refresh_time\fR hours, by simulating
+/* \fBfast_flush_refresh_time\fR hours, by simulating
/* send requests (see above) for the corresponding destinations.
/* .sp
/* Delete empty per-destination logfiles that were not updated in
#include <htable.h>
#include <dict.h>
#include <scan_dir.h>
+#include <stringops.h>
/* Global library. */
if (mail_command_read(client_stream, "%s %s", site, queue_id) == 2
&& valid_hostname(STR(site))
&& mail_queue_id_ok(STR(queue_id)))
- status = flush_add_service(STR(site), STR(queue_id));
+ status = flush_add_service(lowercase(STR(site)), STR(queue_id));
mail_print(client_stream, "%d", status);
} else if (STREQ(STR(request), FLUSH_REQ_SEND)) {
site = vstring_alloc(10);
if (mail_command_read(client_stream, "%s", site) == 1
&& valid_hostname(STR(site)))
- status = flush_send_service(STR(site));
+ status = flush_send_service(lowercase(STR(site)));
mail_print(client_stream, "%d", status);
} else if (STREQ(STR(request), FLUSH_REQ_REFRESH)
|| STREQ(STR(request), wakeup)) {
recdump.o: rec_streamlf.h
recdump.o: rec_type.h
recipient_list.o: recipient_list.c
+recipient_list.o: ../../include/sys_defs.h
recipient_list.o: ../../include/mymalloc.h
recipient_list.o: recipient_list.h
record.o: record.c
/*
/* bounce_log_rewind() is a helper that seeks to the first recipient
/* in an open bounce or defer logfile (skipping over recipients that
-/* are marked as done). The result is 0 in case of success, -1 in case
+/* are marked as done). The result is 0 in case of success, -1 in case
/* of problems.
/*
/* bounce_log_close() closes an open bounce or defer logfile and
* connection. Note that both events are handled by the same routine.
*/
clnt_stream->vstream = mail_connect_wait(clnt_stream->class,
- clnt_stream->service);
+ clnt_stream->service);
close_on_exec(vstream_fileno(clnt_stream->vstream), CLOSE_ON_EXEC);
event_enable_read(vstream_fileno(clnt_stream->vstream), clnt_stream_event,
(char *) clnt_stream);
continue;
if (*cp != '%')
msg_fatal("mail_vprint: bad format: %.*s>%c<%s",
- cp - fmt, fmt, *cp, cp + 1);
+ (int) (cp - fmt), fmt, *cp, cp + 1);
if ((lflag = (*++cp == 'l')) != 0)
cp++;
}
if (tp >= mail_print_tab + mail_print_tablen)
msg_fatal("mail_vprint: bad format: %.*s>%c<%s",
- cp - fmt, fmt, *cp, cp + 1);
+ (int) (cp - fmt), fmt, *cp, cp + 1);
}
}
return (error);
continue;
if (*cp != '%')
msg_fatal("mail_scan: bad format: %.*s>%c<%s",
- cp - fmt, fmt, *cp, cp + 1);
+ (int) (cp - fmt), fmt, *cp, cp + 1);
if ((lflag = (*++cp == 'l')) != 0)
cp++;
}
if (tp >= mail_scan_tab + mail_scan_tablen)
msg_fatal("mail_scan: bad format: %.*s>%c<%s",
- cp - fmt, fmt, *cp, cp + 1);
+ (int) (cp - fmt), fmt, *cp, cp + 1);
}
if (error == 0)
count++;
* Version of this program.
*/
#define VAR_MAIL_VERSION "mail_version"
-#define DEF_MAIL_VERSION "Snapshot-20001119"
+#define DEF_MAIL_VERSION "Snapshot-20001120"
extern char *var_mail_version;
/* LICENSE
/* See dict_open(3) for a description of flags.
/*
/* maps_append() appends a dictionary to an existing handle
-/* under the given name. If dict_handle is a null pointer,
+/* under the given name. If dict_handle is a null pointer,
/* the named dictionary is opened on the fly.
/*
/* maps_find() searches the specified list of dictionaries
/* mkmap_db_open - create or open database */
static MKMAP *mkmap_db_open(const char *path,
- DICT *(*db_open) (const char *, int, int))
+ DICT *(*db_open) (const char *, int, int))
{
MKMAP *mkmap = (MKMAP *) mymalloc(sizeof(*mkmap));
#include <unistd.h>
-int main(int unused_argc, char **unused_argv)
+int main(int unused_argc, char **unused_argv)
{
PEER_NAME *peer;
/* Yorktown Heights, NY 10598, USA
/*--*/
+/* System library. */
+
+#include <sys_defs.h>
+
/* Utility library. */
#include <mymalloc.h>
/* lmtp_session_alloc - allocate and initialize LMTP_SESSION structure */
LMTP_SESSION *lmtp_session_alloc(VSTREAM *stream, const char *host,
- const char *addr, const char *dest)
+ const char *addr, const char *dest)
{
LMTP_SESSION *session;
/*
/* deliver_token() delivers to the address in the given token:
/* an absolute /path/name, a ~/path/name relative to the recipient's
-/* home directory, an :include:/path/name request, an external
+/* home directory, an :include:/path/name request, an external
/* "|command", or a mail address.
/*
/* deliver_token_string() delivers to all addresses listed in
master.o: ../../include/stringops.h
master.o: ../../include/myflock.h
master.o: ../../include/watchdog.h
+master.o: ../../include/clean_env.h
master.o: ../../include/mail_params.h
master.o: ../../include/debug_process.h
master.o: ../../include/mail_task.h
exit(lock_fp ? 0 : 1);
if (lock_fp == 0)
msg_fatal("%s", vstring_str(why));
- vstream_fprintf(lock_fp, "%*lu\n", sizeof(unsigned long) * 4,
+ vstream_fprintf(lock_fp, "%*lu\n", (int) sizeof(unsigned long) * 4,
(unsigned long) var_pid);
if (vstream_fflush(lock_fp))
msg_fatal("cannot update lock file %s: %m", vstring_str(lock_path));
#include "master_proto.h"
-int master_notify(int pid, int status)
+int master_notify(int pid, int status)
{
char *myname = "master_notify";
MASTER_STATUS stat;
void qmgr_peer_free(QMGR_PEER *peer)
{
- char *myname = "qmgr_peer_free";
+ char *myname = "qmgr_peer_free";
QMGR_JOB *job = peer->job;
QMGR_QUEUE *queue = peer->queue;
/* print_time - print relative time parameter */
-static void print_time(int mode, CONFIG_TIME_TABLE * ctt)
+static void print_time(int mode, CONFIG_TIME_TABLE *ctt)
{
const char *value;
#define FUDGE(x) ((x) * (var_qmgr_fudge / 100.0))
message->refcount--;
if (message->rcpt_offset > 0
- && qmgr_recipient_count < FUDGE(var_qmgr_rcpt_limit))
+ && qmgr_recipient_count < FUDGE(var_qmgr_rcpt_limit))
qmgr_message_realloc(message);
if (message->refcount == 0)
qmgr_active_done(message);
*/
transport->dest_concurrency_limit =
get_mail_conf_int2(name, "_destination_concurrency_limit",
- var_dest_con_limit, 0, 0);
+ var_dest_con_limit, 0, 0);
transport->recipient_limit =
get_mail_conf_int2(name, "_destination_recipient_limit",
- var_dest_rcpt_limit, 0, 0);
+ var_dest_rcpt_limit, 0, 0);
if (transport->dest_concurrency_limit == 0
|| transport->dest_concurrency_limit >= var_init_dest_concurrency)
const char *message)
{
switch (priority) {
- case SASL_LOG_ERR:
- case SASL_LOG_WARNING:
+ case SASL_LOG_ERR:
+ case SASL_LOG_WARNING:
msg_warn("%s", message);
break;
case SASL_LOG_INFO:
myfree(session->namaddr);
myfree((char *) session);
}
-
done) | grep -v '[.][o][:][ ][/]' >$$$$ && mv $$$$ Makefile.in
@$(EXPORT) make -f Makefile.in Makefile 1>&2
-tests: smtpd_check_test smtpd_check_test2 smtpd_check_test3 smtpd_token_test
+tests: smtpd_check_test smtpd_check_test2 smtpd_token_test
smtpd_check_test: smtpd_check smtpd_check.in smtpd_check.ref
../postmap/postmap smtpd_check_access
diff smtpd_check.ref2 smtpd_check.tmp
rm -f smtpd_check.tmp smtpd_check_access.*
-smtpd_check_test3: smtpd_check smtpd_check.in3 smtpd_check.ref3
- ../postmap/postmap smtpd_check_access
- ./smtpd_check <smtpd_check.in3 >smtpd_check.tmp 2>&1
- diff smtpd_check.ref3 smtpd_check.tmp
- rm -f smtpd_check.tmp smtpd_check_access.*
-
smtpd_token_test: smtpd_token smtpd_token.in smtpd_token.ref
./smtpd_token <smtpd_token.in >smtpd_token.tmp 2>&1
diff smtpd_token.ref smtpd_token.tmp
if (first) {
if (strncmp(start + strspn(start, ">"), "From ", 5) == 0) {
rec_fprintf(state->cleanup, curr_rec_type,
- "Mbox-Line: %s", start);
+ "Mailbox-Line: %s", start);
continue;
}
first = 0;
/* smtpd_peer_init - initialize peer information */
-void smtpd_peer_init(SMTPD_STATE * state)
+void smtpd_peer_init(SMTPD_STATE *state)
{
struct sockaddr_in sin;
SOCKADDR_SIZE len = sizeof(sin);
/* smtpd_peer_reset - destroy peer information */
-void smtpd_peer_reset(SMTPD_STATE * state)
+void smtpd_peer_reset(SMTPD_STATE *state)
{
myfree(state->name);
myfree(state->addr);
const char *message)
{
switch (priority) {
- case SASL_LOG_ERR:
- case SASL_LOG_WARNING:
+ case SASL_LOG_ERR:
+ case SASL_LOG_WARNING:
msg_warn("%s", message);
break;
case SASL_LOG_INFO:
/* multi-threaded SMTP/LMTP test server
/* SYNOPSIS
/* .fi
-/* \fBsmtp-sink\fR [\fB-cLpv\fR] [\fB-w \fIdelay\fR]
+/* \fBsmtp-sink\fR [\fB-cLpv\fR] [\fB-w \fIdelay\fR]
/* [\fBinet:\fR][\fIhost\fR]:\fIport\fR \fIbacklog\fR
/*
-/* \fBsmtp-sink\fR [\fB-cLpv\fR] [\fB-w \fIdelay\fR]
+/* \fBsmtp-sink\fR [\fB-cLpv\fR] [\fB-w \fIdelay\fR]
/* \fBunix:\fR\fIpathname\fR \fIbacklog\fR
/* DESCRIPTION
/* \fIsmtp-sink\fR listens on the named host (or address) and port.
static void connect_event(int unused_event, char *context)
{
- int sock = (int) context;
+ int sock = CAST_CHAR_PTR_TO_INT(context);
SINK_STATE *state;
int fd;
/*
* Start the event handler.
*/
- event_enable_read(sock, connect_event, (char *) sock);
+ event_enable_read(sock, connect_event, CAST_INT_TO_CHAR_PTR(sock));
for (;;)
event_loop(-1);
}
# do not edit below this line - it is generated by 'make depend'
argv.o: argv.c
+argv.o: sys_defs.h
argv.o: mymalloc.h
argv.o: argv.h
argv_split.o: argv_split.c
/* System libraries. */
-#include <stdlib.h> /* 44BSD stdarg.h uses abort() */
+#include <sys_defs.h>
+#include <stdlib.h> /* 44BSD stdarg.h uses abort() */
#include <stdarg.h>
#include <string.h>
char *TZ;
char *DISPLAY;
char *XAUTHORITY;
+ char *HOME;
+ char *PURIFYOPTIONS;
extern char **environ;
/*
TZ = getenv("TZ");
DISPLAY = getenv("DISPLAY");
XAUTHORITY = getenv("XAUTHORITY");
+ HOME = getenv("HOME");
+ PURIFYOPTIONS = getenv("PURIFYOPTIONS");
/*
* Truncate the process environment, if available. On some systems
msg_fatal("setenv: %m");
if (XAUTHORITY && setenv("XAUTHORITY", XAUTHORITY, 1))
msg_fatal("setenv: %m");
+ if (HOME && setenv("HOME", HOME, 1))
+ msg_fatal("setenv: %m");
+ if (PURIFYOPTIONS && setenv("PURIFYOPTIONS", PURIFYOPTIONS, 1))
+ msg_fatal("setenv: %m");
/*
* Update the process environment with configurable initial values.
* are thanks to LaMont Jones.
*/
static void dict_ldap_get_values(DICT_LDAP *dict_ldap, LDAPMessage * res,
- VSTRING * result)
+ VSTRING *result)
{
long i = 0;
int rc = 0;
}
#endif
-
/* Hard worker doing lookups. Returned value is statically allocated and
reused each call. */
static const char *dict_ni_do_lookup(char *path, char *key_prop,
- const char *key_value, char *val_prop)
+ const char *key_value, char *val_prop)
{
unsigned int result_cap = 0;
static char *result = 0;
for (pcre_list = dict_pcre->head; pcre_list; pcre_list = pcre_list->next) {
if (pcre_list->pattern) {
ctxt.matches = pcre_exec(pcre_list->pattern, pcre_list->hints,
- name, name_len, 0, 0, ctxt.offsets, PCRE_MAX_CAPTURE * 3);
+ name, name_len, 0, 0, ctxt.offsets, PCRE_MAX_CAPTURE * 3);
if (ctxt.matches != PCRE_ERROR_NOMATCH) {
if (ctxt.matches > 0)
break; /* Got a match! */
/* event_request_timer - (re)set timer */
-time_t event_request_timer(EVENT_NOTIFY_TIME callback, char *context, int delay)
+time_t event_request_timer(EVENT_NOTIFY_TIME callback, char *context, int delay)
{
char *myname = "event_request_timer";
RING *ring;
/*
/* msg_syslog_facility() is a helper routine that overrides the
/* logging facility that is specified with msg_syslog_init().
-/* The result is zero in case of an unknown facility name.
+/* The result is zero in case of an unknown facility name.
/* SEE ALSO
/* syslog(3) syslog library
/* msg(3) diagnostics module
if (level == MSG_INFO) {
syslog(syslog_facility | log_level[level], "%.*s",
- MSG_SYSLOG_RECLEN, text);
+ (int) MSG_SYSLOG_RECLEN, text);
} else {
syslog(syslog_facility | log_level[level], "%s: %.*s",
- severity_name[level], MSG_SYSLOG_RECLEN, text);
+ severity_name[level], (int) MSG_SYSLOG_RECLEN, text);
}
}
#endif
#if defined(NETBSD1)
-#define ANAL_CAST
#define USE_DOT_LOCK
#endif
#error "unsupported platform"
#endif
-#ifndef ANAL_CAST
#define CAST_CHAR_PTR_TO_INT(cptr) ((int) (long) (cptr))
#define CAST_INT_TO_CHAR_PTR(ival) ((char *) (long) (ival))
-#else
-#define CAST_CHAR_PTR_TO_INT(cptr) ((int) (cptr))
-#define CAST_INT_TO_CHAR_PTR(ival) ((char *) (ival))
-#endif
#ifdef DUP2_DUPS_CLOSE_ON_EXEC
/* dup2_pass_on_exec() can be found in util/sys_compat.c */
/* NOT: return (0); this confuses users of the DNS client */
}
if (cp - name > VALID_HOSTNAME_LEN) {
- msg_warn("%s: bad length %d for %.100s...", myname, cp - name, name);
+ msg_warn("%s: bad length %d for %.100s...",
+ myname, (int) (cp - name), name);
return (0);
}
return (1);
#include <sys_defs.h>
#include <stddef.h>
-#include <stdlib.h> /* 44BSD stdarg.h uses abort() */
+#include <stdlib.h> /* 44BSD stdarg.h uses abort() */
#include <stdarg.h>
#include <string.h>