mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-28 20:57:56 +00:00
postfix-3.8-20220325
This commit is contained in:
parent
57dd3f38dd
commit
351ab5234c
@ -26306,3 +26306,25 @@ Apologies for any names omitted.
|
||||
util/htable.c.
|
||||
|
||||
Cleanup: unused initialization. File: util/make_dirs.c
|
||||
|
||||
20220222
|
||||
|
||||
Documentation: updated comment text. File: util/hash_fnv.c.
|
||||
|
||||
29220312
|
||||
|
||||
Cleanup: when a main.cf like file may have changed while
|
||||
it was read, forget the settings before re-reading the file.
|
||||
File: util/dict.c.
|
||||
|
||||
20220322
|
||||
|
||||
Cleanup: added missing _checks, _reply_footer, _reply_filter,
|
||||
_command_filter, and _delivery_status_filter parameter names
|
||||
to the proxy_read_maps default value. Files: global/mail_params.h,
|
||||
mantools/missing-proxy-read-maps.
|
||||
|
||||
20220325
|
||||
|
||||
Documentation: how to stop recursion in virtual_alias_maps.
|
||||
File: proto/virtual.
|
||||
|
@ -6,6 +6,18 @@ Wish list:
|
||||
|
||||
Disable -DSNAPSHOT and -DNONPROD in makedefs.
|
||||
|
||||
postscreen_dnsbl_sites is evaluated in the reverse order, breaking
|
||||
expectations when different reply patterns have different weights.
|
||||
We need a compatibility_level feature to correct this.
|
||||
|
||||
In the cleanup daemon, open the milter*header_checks greedily,
|
||||
before the chroot() call. This code is implemented and needs
|
||||
to be tested.
|
||||
|
||||
In the pgsql: client, make the client encoding configurable
|
||||
with a sensible default (UTF8). This code is implemented
|
||||
and needs to be tested.
|
||||
|
||||
FILTER_README needs some text on multi-instance implementations,
|
||||
and existing multi-instance references need to be updated.
|
||||
|
||||
|
@ -14,92 +14,95 @@
|
||||
# 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. Virtual aliasing is
|
||||
# recursive, and is implemented by the Postfix cleanup(8)
|
||||
# daemon before mail is queued.
|
||||
# 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
|
||||
# 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.
|
||||
@ -108,18 +111,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 =
|
||||
@ -129,19 +132,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"
|
||||
@ -149,29 +152,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:
|
||||
@ -180,7 +183,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:
|
||||
@ -189,81 +192,81 @@
|
||||
# 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
|
||||
# Optional lookup tables that alias specific mail
|
||||
# addresses or domains to other local or remote
|
||||
# addresses.
|
||||
#
|
||||
# virtual_alias_domains ($virtual_alias_maps)
|
||||
# Postfix is the final destination for the specified
|
||||
# Postfix is the final destination for the specified
|
||||
# list of virtual alias domains, that is, domains for
|
||||
# which all addresses are aliased to addresses in
|
||||
# which all addresses are aliased to addresses in
|
||||
# other local or remote domains.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# Other parameters of interest:
|
||||
@ -274,23 +277,23 @@
|
||||
#
|
||||
# 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 "-".
|
||||
#
|
||||
# proxy_interfaces (empty)
|
||||
# The network interface addresses that this mail sys-
|
||||
# tem receives mail on by way of a proxy or network
|
||||
# tem receives mail on by way of a proxy or network
|
||||
# address translation unit.
|
||||
#
|
||||
# SEE ALSO
|
||||
@ -300,14 +303,14 @@
|
||||
# canonical(5), canonical address mapping
|
||||
#
|
||||
# README FILES
|
||||
# Use "postconf readme_directory" or "postconf html_direc-
|
||||
# Use "postconf readme_directory" or "postconf html_direc-
|
||||
# tory" to locate this information.
|
||||
# ADDRESS_REWRITING_README, address rewriting guide
|
||||
# DATABASE_README, Postfix lookup table overview
|
||||
# VIRTUAL_README, domain hosting guide
|
||||
#
|
||||
# LICENSE
|
||||
# The Secure Mailer license must be distributed with this
|
||||
# The Secure Mailer license must be distributed with this
|
||||
# software.
|
||||
#
|
||||
# AUTHOR(S)
|
||||
|
@ -20,95 +20,98 @@ VIRTUAL(5) VIRTUAL(5)
|
||||
The optional <a href="virtual.5.html"><b>virtual</b>(5)</a> alias table rewrites recipient addresses for
|
||||
all local, all virtual, and all remote mail destinations. This is
|
||||
unlike the <a href="aliases.5.html"><b>aliases</b>(5)</a> table which is used only for <a href="local.8.html"><b>local</b>(8)</a> delivery.
|
||||
Virtual aliasing is recursive, and is implemented by the Postfix
|
||||
<a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon before mail is queued.
|
||||
This feature is implemented in the Postfix <a href="cleanup.8.html"><b>cleanup</b>(8)</a> daemon before
|
||||
mail is queued.
|
||||
|
||||
Virtual aliasing is recursive; to terminate recursion for a specific
|
||||
address, alias that address to itself.
|
||||
|
||||
The main applications of virtual aliasing are:
|
||||
|
||||
<b>o</b> To redirect mail for one address to one or more addresses.
|
||||
|
||||
<b>o</b> To implement virtual alias domains where all addresses are
|
||||
<b>o</b> 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
|
||||
Virtual alias domains are not to be confused with the virtual
|
||||
mailbox domains that are implemented with the Postfix <a href="virtual.8.html"><b>virtual</b>(8)</a>
|
||||
mail delivery agent. With <a href="ADDRESS_CLASS_README.html#virtual_mailbox_class">virtual mailbox domains</a>, each recipi-
|
||||
mail delivery agent. With <a href="ADDRESS_CLASS_README.html#virtual_mailbox_class">virtual mailbox domains</a>, each recipi-
|
||||
ent address can have its own mailbox.
|
||||
|
||||
Virtual aliasing is applied only to recipient envelope addresses, and
|
||||
does not affect message headers. Use <a href="canonical.5.html"><b>canonical</b>(5)</a> mapping to rewrite
|
||||
Virtual aliasing is applied only to recipient envelope addresses, and
|
||||
does not affect message headers. Use <a href="canonical.5.html"><b>canonical</b>(5)</a> mapping to rewrite
|
||||
header and envelope addresses in general.
|
||||
|
||||
Normally, the <a href="virtual.5.html"><b>virtual</b>(5)</a> alias table is specified as a text file that
|
||||
Normally, the <a href="virtual.5.html"><b>virtual</b>(5)</a> alias 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.
|
||||
in <b>dbm</b> or <b>db</b> format, is used for fast searching by the mail system.
|
||||
Execute the command "<b>postmap /etc/postfix/virtual</b>" 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,
|
||||
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-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
|
||||
Alternatively, the table can be provided as a regular-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".
|
||||
|
||||
<b>CASE FOLDING</b>
|
||||
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 <a href="regexp_table.5.html">regexp</a>: or <a href="pcre_table.5.html">pcre</a>: whose lookup fields can match both upper and
|
||||
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 <a href="regexp_table.5.html">regexp</a>: or <a href="pcre_table.5.html">pcre</a>: whose lookup fields can match both upper and
|
||||
lower case.
|
||||
|
||||
<b>TABLE FORMAT</b>
|
||||
The input format for the <a href="postmap.1.html"><b>postmap</b>(1)</a> command is as follows:
|
||||
|
||||
<i>pattern address, address, ...</i>
|
||||
When <i>pattern</i> matches a mail address, replace it by the corre-
|
||||
When <i>pattern</i> matches a mail address, replace it by the corre-
|
||||
sponding <i>address</i>.
|
||||
|
||||
blank lines and comments
|
||||
Empty lines and whitespace-only lines are ignored, as are lines
|
||||
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
|
||||
A logical line starts with non-whitespace text. A line that
|
||||
starts with whitespace continues a logical line.
|
||||
|
||||
<b>TABLE SEARCH ORDER</b>
|
||||
With lookups from indexed files such as DB or DBM, or from networked
|
||||
tables such as NIS, LDAP or SQL, each <i>user</i>@<i>domain</i> query produces a
|
||||
With lookups from indexed files such as DB or DBM, or from networked
|
||||
tables such as NIS, LDAP or SQL, each <i>user</i>@<i>domain</i> 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 found.
|
||||
|
||||
<i>user</i>@<i>domain address, address, ...</i>
|
||||
Redirect mail for <i>user</i>@<i>domain</i> to <i>address</i>. This form has the
|
||||
Redirect mail for <i>user</i>@<i>domain</i> to <i>address</i>. This form has the
|
||||
highest precedence.
|
||||
|
||||
<i>user address, address, ...</i>
|
||||
Redirect mail for <i>user</i>@<i>site</i> to <i>address</i> when <i>site</i> is equal to
|
||||
$<b><a href="postconf.5.html#myorigin">myorigin</a></b>, when <i>site</i> is listed in $<b><a href="postconf.5.html#mydestination">mydestination</a></b>, or when it is
|
||||
Redirect mail for <i>user</i>@<i>site</i> to <i>address</i> when <i>site</i> is equal to
|
||||
$<b><a href="postconf.5.html#myorigin">myorigin</a></b>, when <i>site</i> is listed in $<b><a href="postconf.5.html#mydestination">mydestination</a></b>, or when it is
|
||||
listed in $<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a></b> or $<b><a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a></b>.
|
||||
|
||||
This functionality overlaps with the functionality of the local
|
||||
<i>aliases</i>(5) database. The difference is that <a href="virtual.5.html"><b>virtual</b>(5)</a> mapping
|
||||
This functionality overlaps with the functionality of the local
|
||||
<i>aliases</i>(5) database. The difference is that <a href="virtual.5.html"><b>virtual</b>(5)</a> mapping
|
||||
can be applied to non-local addresses.
|
||||
|
||||
@<i>domain address, address, ...</i>
|
||||
Redirect mail for other users in <i>domain</i> to <i>address</i>. This form
|
||||
Redirect mail for other users in <i>domain</i> to <i>address</i>. This form
|
||||
has the lowest precedence.
|
||||
|
||||
Note: @<i>domain</i> is a wild-card. With this form, the Postfix SMTP
|
||||
server accepts mail for any recipient in <i>domain</i>, 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
|
||||
Note: @<i>domain</i> is a wild-card. With this form, the Postfix SMTP
|
||||
server accepts mail for any recipient in <i>domain</i>, 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 domain, replace
|
||||
the wild-card mapping with explicit 1:1 mappings, or add a
|
||||
To avoid backscatter with mail for a wild-card domain, replace
|
||||
the wild-card mapping with explicit 1:1 mappings, or add a
|
||||
<a href="postconf.5.html#reject_unverified_recipient">reject_unverified_recipient</a> restriction for that domain:
|
||||
|
||||
<a href="postconf.5.html#smtpd_recipient_restrictions">smtpd_recipient_restrictions</a> =
|
||||
@ -124,11 +127,11 @@ VIRTUAL(5) VIRTUAL(5)
|
||||
<b>RESULT ADDRESS REWRITING</b>
|
||||
The lookup result is subject to address rewriting:
|
||||
|
||||
<b>o</b> When the result has the form @<i>otherdomain</i>, the result becomes
|
||||
the same <i>user</i> in <i>otherdomain</i>. This works only for the first
|
||||
<b>o</b> When the result has the form @<i>otherdomain</i>, the result becomes
|
||||
the same <i>user</i> in <i>otherdomain</i>. This works only for the first
|
||||
address in a multi-address lookup result.
|
||||
|
||||
<b>o</b> When "<b><a href="postconf.5.html#append_at_myorigin">append_at_myorigin</a>=yes</b>", append "<b>@$<a href="postconf.5.html#myorigin">myorigin</a></b>" to addresses
|
||||
<b>o</b> When "<b><a href="postconf.5.html#append_at_myorigin">append_at_myorigin</a>=yes</b>", append "<b>@$<a href="postconf.5.html#myorigin">myorigin</a></b>" to addresses
|
||||
without "@domain".
|
||||
|
||||
<b>o</b> When "<b><a href="postconf.5.html#append_dot_mydomain">append_dot_mydomain</a>=yes</b>", append "<b>.$<a href="postconf.5.html#mydomain">mydomain</a></b>" to addresses
|
||||
@ -136,26 +139,26 @@ VIRTUAL(5) VIRTUAL(5)
|
||||
|
||||
<b>ADDRESS EXTENSION</b>
|
||||
When a mail address localpart contains the optional recipient delimiter
|
||||
(e.g., <i>user+foo</i>@<i>domain</i>), the lookup order becomes: <i>user+foo</i>@<i>domain</i>,
|
||||
(e.g., <i>user+foo</i>@<i>domain</i>), the lookup order becomes: <i>user+foo</i>@<i>domain</i>,
|
||||
<i>user</i>@<i>domain</i>, <i>user+foo</i>, <i>user</i>, and @<i>domain</i>.
|
||||
|
||||
The <b><a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a></b> parameter controls whether an
|
||||
The <b><a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a></b> parameter controls whether an
|
||||
unmatched address extension (<i>+foo</i>) is propagated to the result of a ta-
|
||||
ble lookup.
|
||||
|
||||
<b>VIRTUAL ALIAS DOMAINS</b>
|
||||
Besides virtual aliases, the virtual alias table can also be used to
|
||||
implement <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domains</a>. With a virtual alias domain, all
|
||||
Besides virtual aliases, the virtual alias table can also be used to
|
||||
implement virtual alias domains. With a <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a>, all
|
||||
recipient 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 <a href="virtual.8.html"><b>virtual</b>(8)</a> mail delivery
|
||||
agent. With virtual mailbox domains, each recipient address can have
|
||||
Virtual alias domains are not to be confused with the virtual mailbox
|
||||
domains that are implemented with the Postfix <a href="virtual.8.html"><b>virtual</b>(8)</a> mail delivery
|
||||
agent. With <a href="ADDRESS_CLASS_README.html#virtual_mailbox_class">virtual mailbox domains</a>, each recipient address can have
|
||||
its own mailbox.
|
||||
|
||||
With a <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a>, 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 <a href="aliases.5.html"><b>aliases</b>(5)</a> and local mailing lists
|
||||
With a <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a>, 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 <a href="aliases.5.html"><b>aliases</b>(5)</a> and local mailing lists
|
||||
are not visible as <i>localname@virtual-alias.domain</i>.
|
||||
|
||||
Support for a <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> looks like:
|
||||
@ -163,7 +166,7 @@ VIRTUAL(5) VIRTUAL(5)
|
||||
/etc/postfix/<a href="postconf.5.html">main.cf</a>:
|
||||
<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = <a href="DATABASE_README.html#types">hash</a>:/etc/postfix/virtual
|
||||
|
||||
Note: some systems use <b>dbm</b> databases instead of <b>hash</b>. See the output
|
||||
Note: some systems use <b>dbm</b> databases instead of <b>hash</b>. See the output
|
||||
from "<b>postconf -m</b>" for available database types.
|
||||
|
||||
/etc/postfix/virtual:
|
||||
@ -173,46 +176,46 @@ VIRTUAL(5) VIRTUAL(5)
|
||||
<i>user2@virtual-alias.domain address2, address3</i>
|
||||
|
||||
The <i>virtual-alias.domain anything</i> entry is required for a virtual alias
|
||||
domain. <b>Without this entry, mail is rejected with "relay access</b>
|
||||
domain. <b>Without this entry, mail is rejected with "relay access</b>
|
||||
<b>denied", or bounces with "mail loops back to myself".</b>
|
||||
|
||||
Do not specify <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> names in the <a href="postconf.5.html"><b>main.cf</a> <a href="postconf.5.html#mydestination">mydestination</a></b>
|
||||
Do not specify <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a> names in the <a href="postconf.5.html"><b>main.cf</a> <a href="postconf.5.html#mydestination">mydestination</a></b>
|
||||
or <b><a href="postconf.5.html#relay_domains">relay_domains</a></b> configuration parameters.
|
||||
|
||||
With a <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a>, the Postfix SMTP server accepts mail for
|
||||
With a <a href="ADDRESS_CLASS_README.html#virtual_alias_class">virtual alias domain</a>, the Postfix SMTP server accepts mail for
|
||||
<i>known-user@virtual-alias.domain</i>, and rejects mail for <i>unknown-user</i>@<i>vir-</i>
|
||||
<i>tual-alias.domain</i> as undeliverable.
|
||||
|
||||
Instead of specifying the virtual alias domain name via the <b><a href="postconf.5.html#virtual_alias_maps">vir</a>-</b>
|
||||
<b><a href="postconf.5.html#virtual_alias_maps">tual_alias_maps</a></b> table, you may also specify it via the <a href="postconf.5.html"><b>main.cf</a> <a href="postconf.5.html#virtual_alias_domains">vir-</b>
|
||||
Instead of specifying the virtual alias domain name via the <b><a href="postconf.5.html#virtual_alias_maps">vir</a>-</b>
|
||||
<b><a href="postconf.5.html#virtual_alias_maps">tual_alias_maps</a></b> table, you may also specify it via the <a href="postconf.5.html"><b>main.cf</a> <a href="postconf.5.html#virtual_alias_domains">vir-</b>
|
||||
<b>tual_alias_domains</a></b> configuration parameter. This latter parameter uses
|
||||
the same syntax as the <a href="postconf.5.html"><b>main.cf</a> <a href="postconf.5.html#mydestination">mydestination</a></b> configuration parameter.
|
||||
|
||||
<b>REGULAR EXPRESSION TABLES</b>
|
||||
This section describes how the table lookups change when the table is
|
||||
given in the form of regular expressions. For a description of regular
|
||||
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 <a href="regexp_table.5.html"><b>regexp_table</b>(5)</a> or <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
|
||||
|
||||
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 bro-
|
||||
ken up into their <i>user</i> and <i>@domain</i> constituent parts, nor is <i>user+foo</i>
|
||||
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 bro-
|
||||
ken 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
|
||||
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 indexed file lookups, with the additional
|
||||
feature that parenthesized substrings from the pattern can be interpo-
|
||||
Results are the same as with indexed file lookups, with the additional
|
||||
feature that parenthesized substrings from the pattern can be interpo-
|
||||
lated as <b>$1</b>, <b>$2</b> and so on.
|
||||
|
||||
<b>TCP-BASED TABLES</b>
|
||||
This section describes how the table lookups change when lookups are
|
||||
directed to a TCP-based server. For a description of the TCP
|
||||
client/server lookup protocol, see <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>. This feature is
|
||||
This section describes how the table lookups change when lookups are
|
||||
directed to a TCP-based server. For a description of the TCP
|
||||
client/server lookup protocol, see <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>. This feature is
|
||||
available in Postfix 2.5 and later.
|
||||
|
||||
Each lookup operation uses the entire address once. Thus, <i>user@domain</i>
|
||||
mail addresses are not broken up into their <i>user</i> and <i>@domain</i> con-
|
||||
Each lookup operation uses the entire address once. Thus, <i>user@domain</i>
|
||||
mail addresses are not broken up into their <i>user</i> and <i>@domain</i> con-
|
||||
stituent parts, nor is <i>user+foo</i> broken up into <i>user</i> and <i>foo</i>.
|
||||
|
||||
Results are the same as with indexed file lookups.
|
||||
@ -226,40 +229,40 @@ VIRTUAL(5) VIRTUAL(5)
|
||||
Use the "<b>postfix reload</b>" command after a configuration change.
|
||||
|
||||
<b><a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> ($<a href="postconf.5.html#virtual_maps">virtual_maps</a>)</b>
|
||||
Optional lookup tables that alias specific mail addresses or
|
||||
Optional lookup tables that alias specific mail addresses or
|
||||
domains to other local or remote addresses.
|
||||
|
||||
<b><a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> ($<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>)</b>
|
||||
Postfix is the final destination for the specified list of vir-
|
||||
Postfix is the final destination for the specified list of vir-
|
||||
tual alias domains, that is, domains for which all addresses are
|
||||
aliased to addresses in other local or remote domains.
|
||||
|
||||
<b><a href="postconf.5.html#propagate_unmatched_extensions">propagate_unmatched_extensions</a> (canonical, virtual)</b>
|
||||
What address lookup tables copy an address extension from the
|
||||
What address lookup tables copy an address extension from the
|
||||
lookup key to the lookup result.
|
||||
|
||||
Other parameters of interest:
|
||||
|
||||
<b><a href="postconf.5.html#inet_interfaces">inet_interfaces</a> (all)</b>
|
||||
The network interface addresses that this mail system receives
|
||||
The network interface addresses that this mail system receives
|
||||
mail on.
|
||||
|
||||
<b><a href="postconf.5.html#mydestination">mydestination</a> ($<a href="postconf.5.html#myhostname">myhostname</a>, localhost.$<a href="postconf.5.html#mydomain">mydomain</a>, localhost)</b>
|
||||
The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a>
|
||||
The list of domains that are delivered via the $<a href="postconf.5.html#local_transport">local_transport</a>
|
||||
mail delivery transport.
|
||||
|
||||
<b><a href="postconf.5.html#myorigin">myorigin</a> ($<a href="postconf.5.html#myhostname">myhostname</a>)</b>
|
||||
The domain name that locally-posted mail appears to come from,
|
||||
The domain name that locally-posted mail appears to come from,
|
||||
and that locally posted mail is delivered to.
|
||||
|
||||
<b><a href="postconf.5.html#owner_request_special">owner_request_special</a> (yes)</b>
|
||||
Enable special treatment for owner-<i>listname</i> entries in the
|
||||
Enable special treatment for owner-<i>listname</i> entries in the
|
||||
<a href="aliases.5.html"><b>aliases</b>(5)</a> file, and don't split owner-<i>listname</i> and <i>list-</i>
|
||||
<i>name</i>-request address localparts when the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is
|
||||
<i>name</i>-request address localparts when the <a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> is
|
||||
set to "-".
|
||||
|
||||
<b><a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a> (empty)</b>
|
||||
The network interface addresses that this mail system receives
|
||||
The network interface addresses that this mail system receives
|
||||
mail on by way of a proxy or network address translation unit.
|
||||
|
||||
<b>SEE ALSO</b>
|
||||
|
@ -20,9 +20,11 @@ The optional \fBvirtual\fR(5) alias table rewrites recipient
|
||||
addresses for all local, all virtual, and all remote mail
|
||||
destinations.
|
||||
This is unlike the \fBaliases\fR(5) table which is used
|
||||
only for \fBlocal\fR(8) delivery. Virtual aliasing is
|
||||
recursive, and is implemented by the Postfix \fBcleanup\fR(8)
|
||||
daemon before mail is queued.
|
||||
only for \fBlocal\fR(8) delivery. This feature is implemented
|
||||
in the Postfix \fBcleanup\fR(8) daemon before mail is queued.
|
||||
|
||||
Virtual aliasing is recursive; to terminate recursion for
|
||||
a specific address, alias that address to itself.
|
||||
|
||||
The main applications of virtual aliasing are:
|
||||
.IP \(bu
|
||||
|
@ -47,7 +47,7 @@ open(ALL_PARAM_NAMES, "$command|")
|
||||
|| die "can't execute $command: !$\n";
|
||||
while ($param_name = <ALL_PARAM_NAMES>) {
|
||||
chomp($param_name);
|
||||
next unless ($param_name =~ /_maps$/);
|
||||
next unless ($param_name =~ /_(checks|delivery_status_filter|reply_filter|command_filter|maps)$/);
|
||||
next if ($param_name =~ /^(proxy_read|proxy_write)_maps$/);
|
||||
next if defined($proxy_read_maps{$param_name});
|
||||
die "unknown parameter: $param_name\n"
|
||||
|
@ -14,9 +14,11 @@
|
||||
# addresses for all local, all virtual, and all remote mail
|
||||
# destinations.
|
||||
# This is unlike the \fBaliases\fR(5) table which is used
|
||||
# only for \fBlocal\fR(8) delivery. Virtual aliasing is
|
||||
# recursive, and is implemented by the Postfix \fBcleanup\fR(8)
|
||||
# daemon before mail is queued.
|
||||
# only for \fBlocal\fR(8) delivery. This feature is implemented
|
||||
# in the Postfix \fBcleanup\fR(8) daemon before mail is queued.
|
||||
#
|
||||
# Virtual aliasing is recursive; to terminate recursion for
|
||||
# a specific address, alias that address to itself.
|
||||
#
|
||||
# The main applications of virtual aliasing are:
|
||||
# .IP \(bu
|
||||
|
@ -2502,7 +2502,33 @@ extern int var_local_rcpt_code;
|
||||
" $" VAR_PSC_REJ_FTR_MAPS \
|
||||
" $" VAR_SMTPD_REJ_FTR_MAPS \
|
||||
" $" VAR_TLS_SERVER_SNI_MAPS \
|
||||
" $" VAR_TLSP_CLNT_POLICY
|
||||
" $" VAR_TLSP_CLNT_POLICY \
|
||||
" $" VAR_DSN_FILTER \
|
||||
" $" VAR_LMTP_DSN_FILTER \
|
||||
" $" VAR_LMTP_DNS_RE_FILTER \
|
||||
" $" VAR_LMTP_RESP_FILTER \
|
||||
" $" VAR_LOCAL_DSN_FILTER \
|
||||
" $" VAR_PIPE_DSN_FILTER \
|
||||
" $" VAR_PSC_CMD_FILTER \
|
||||
" $" VAR_SMTP_DSN_FILTER \
|
||||
" $" VAR_SMTP_DNS_RE_FILTER \
|
||||
" $" VAR_SMTP_RESP_FILTER \
|
||||
" $" VAR_SMTPD_CMD_FILTER \
|
||||
" $" VAR_SMTPD_DNS_RE_FILTER \
|
||||
" $" VAR_VIRT_DSN_FILTER \
|
||||
" $" VAR_BODY_CHECKS \
|
||||
" $" VAR_HEADER_CHECKS \
|
||||
" $" VAR_LMTP_BODY_CHKS \
|
||||
" $" VAR_LMTP_HEAD_CHKS \
|
||||
" $" VAR_LMTP_MIME_CHKS \
|
||||
" $" VAR_LMTP_NEST_CHKS \
|
||||
" $" VAR_MILT_HEAD_CHECKS \
|
||||
" $" VAR_MIMEHDR_CHECKS \
|
||||
" $" VAR_NESTHDR_CHECKS \
|
||||
" $" VAR_SMTP_BODY_CHKS \
|
||||
" $" VAR_SMTP_HEAD_CHKS \
|
||||
" $" VAR_SMTP_MIME_CHKS \
|
||||
" $" VAR_SMTP_NEST_CHKS
|
||||
extern char *var_proxy_read_maps;
|
||||
|
||||
#define VAR_PROXY_WRITE_MAPS "proxy_write_maps"
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Patches change both the patchlevel and the release date. Snapshots have no
|
||||
* patchlevel; they change the release date only.
|
||||
*/
|
||||
#define MAIL_RELEASE_DATE "20220220"
|
||||
#define MAIL_RELEASE_DATE "20220325"
|
||||
#define MAIL_VERSION_NUMBER "3.8"
|
||||
|
||||
#ifdef SNAPSHOT
|
||||
|
@ -463,6 +463,7 @@ int dict_load_file_xt(const char *dict_name, const char *path)
|
||||
if (msg_verbose > 1)
|
||||
msg_info("pausing to let %s cool down", path);
|
||||
doze(300000);
|
||||
dict_unregister(dict_name);
|
||||
}
|
||||
return (1);
|
||||
}
|
||||
|
@ -19,18 +19,16 @@
|
||||
/* strings, avoiding an unnecessary strlen() call.
|
||||
/*
|
||||
/* To thwart collision attacks, the hash function is seeded
|
||||
/* once from /dev/urandom, and if that is unavailable, from
|
||||
/* wallclock time, monotonic system clocks, and the process
|
||||
/* ID. To disable seeding (typically, for regression tests),
|
||||
/* specify the NORANDOMIZE environment variable; the value
|
||||
/* does not matter.
|
||||
/* once with ldseed(). To disable seeding (typically, to make
|
||||
/* tests predictable), specify the NORANDOMIZE environment
|
||||
/* variable; the value does not matter.
|
||||
/*
|
||||
/* This function implements a workaround for a "sticky state"
|
||||
/* problem with FNV hash functions: when an input produces a
|
||||
/* zero hash state, and the next input byte is zero, then the
|
||||
/* hash state would not change. To avoid this, hash_fnv() adds
|
||||
/* 1 to each input value. Compile with -DSTRICT_FNV1A to get
|
||||
/* the standard behavior.
|
||||
/* This implementation works around a "sticky state" problem
|
||||
/* with FNV hash functions: when an input produces a zero hash
|
||||
/* state, and the next input byte is zero, then the hash state
|
||||
/* would not change. To avoid this, hash_fnv() adds 1 to each
|
||||
/* input value. Compile with -DSTRICT_FNV1A to get the standard
|
||||
/* behavior.
|
||||
/*
|
||||
/* The default HASH_FNV_T result type is uint64_t. When compiled
|
||||
/* with -DUSE_FNV_32BIT, the result type is uint32_t. On ancient
|
||||
|
Loading…
x
Reference in New Issue
Block a user