mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-22 09:57:34 +00:00
postfix-2.9-20111121
This commit is contained in:
parent
38b0a080dc
commit
dce993a061
@ -17119,3 +17119,7 @@ Apologies for any names omitted.
|
|||||||
"name=value" entries that are unused because they are hidden
|
"name=value" entries that are unused because they are hidden
|
||||||
by master.cf "-o name=value" entries with the same parameter
|
by master.cf "-o name=value" entries with the same parameter
|
||||||
name. File: postconf/postconf.c.
|
name. File: postconf/postconf.c.
|
||||||
|
|
||||||
|
20111121
|
||||||
|
|
||||||
|
Cleanup: documentation fixes. File: postconf/postconf.c.
|
||||||
|
@ -20,7 +20,9 @@ Major changes with snapshot 20111120
|
|||||||
Eliminated the postconf limitation documented on 20111113 as "lack
|
Eliminated the postconf limitation documented on 20111113 as "lack
|
||||||
of support for per-service parameter name spaces in master.cf,
|
of support for per-service parameter name spaces in master.cf,
|
||||||
meaning that "-o user-defined-name=value" always results in an
|
meaning that "-o user-defined-name=value" always results in an
|
||||||
"unused parameter" warning".
|
"unused parameter" warning". This brings the total cost of the
|
||||||
|
postconf upgrade to some 55 person-hours, 600 lines of code, and
|
||||||
|
300 lines of comments or documentation.
|
||||||
|
|
||||||
Major changes with snapshot 20111118
|
Major changes with snapshot 20111118
|
||||||
====================================
|
====================================
|
||||||
@ -51,7 +53,7 @@ always results in an "unused parameter" warning.
|
|||||||
|
|
||||||
This completes an effort that expanded postconf.c by 553 lines of
|
This completes an effort that expanded postconf.c by 553 lines of
|
||||||
code that were designed, written, tested and documented (in 250
|
code that were designed, written, tested and documented (in 250
|
||||||
lines) at the cost of 31 person-hours, spread out over 7 days.
|
lines) at the cost of 35 person-hours, spread out over 7 days.
|
||||||
|
|
||||||
Major changes with snapshot 20111108
|
Major changes with snapshot 20111108
|
||||||
====================================
|
====================================
|
||||||
|
@ -40,12 +40,6 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
<b>-A</b> List the available SASL client plug-in types. The
|
|
||||||
SASL plug-in type is selected with the
|
|
||||||
<b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b> or <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b> configuration
|
|
||||||
parameters by specifying one of the names listed
|
|
||||||
below.
|
|
||||||
|
|
||||||
<b>-a</b> List the available SASL server plug-in types. The
|
<b>-a</b> List the available SASL server plug-in types. The
|
||||||
SASL plug-in type is selected with the
|
SASL plug-in type is selected with the
|
||||||
<b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b> configuration parameter by specify-
|
<b><a href="postconf.5.html#smtpd_sasl_type">smtpd_sasl_type</a></b> configuration parameter by specify-
|
||||||
@ -62,6 +56,12 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
This feature is available with Postfix 2.3 and
|
This feature is available with Postfix 2.3 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
|
<b>-A</b> List the available SASL client plug-in types. The
|
||||||
|
SASL plug-in type is selected with the
|
||||||
|
<b><a href="postconf.5.html#smtp_sasl_type">smtp_sasl_type</a></b> or <b><a href="postconf.5.html#lmtp_sasl_type">lmtp_sasl_type</a></b> configuration
|
||||||
|
parameters by specifying one of the names listed
|
||||||
|
below.
|
||||||
|
|
||||||
<b>cyrus</b> This client plug-in is available when Post-
|
<b>cyrus</b> This client plug-in is available when Post-
|
||||||
fix is built with Cyrus SASL support.
|
fix is built with Cyrus SASL support.
|
||||||
|
|
||||||
@ -72,44 +72,47 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
Display the message text that appears at the begin-
|
Display the message text that appears at the begin-
|
||||||
ning of delivery status notification (DSN) mes-
|
ning of delivery status notification (DSN) mes-
|
||||||
sages, with $<b>name</b> expressions replaced by actual
|
sages, with $<b>name</b> expressions replaced by actual
|
||||||
values. To override the built-in message text,
|
values as described in <a href="bounce.5.html"><b>bounce</b>(5)</a>.
|
||||||
specify a template file at the end of the command
|
|
||||||
line, or specify a template file in <a href="postconf.5.html"><b>main.cf</b></a> with
|
|
||||||
the <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a></b> parameter. To force
|
|
||||||
selection of the built-in message text templates,
|
|
||||||
specify an empty template file name (in shell lan-
|
|
||||||
guage: "").
|
|
||||||
|
|
||||||
This feature is available with Postfix 2.3 and
|
To override the built-in templates, specify a tem-
|
||||||
|
plate file name at the end of the <a href="postconf.1.html"><b>postconf</b>(1)</a> com-
|
||||||
|
mand line, or specify a file name in <a href="postconf.5.html"><b>main.cf</b></a> with
|
||||||
|
the <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a></b> parameter.
|
||||||
|
|
||||||
|
To force selection of the built-in templates, spec-
|
||||||
|
ify an empty template file name on the <a href="postconf.1.html"><b>postconf</b>(1)</a>
|
||||||
|
command line (in shell language: "").
|
||||||
|
|
||||||
|
This feature is available with Postfix 2.3 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>-c</b> <i>config</i><b>_</b><i>dir</i>
|
<b>-c</b> <i>config</i><b>_</b><i>dir</i>
|
||||||
The <a href="postconf.5.html"><b>main.cf</b></a> configuration file is in the named
|
The <a href="postconf.5.html"><b>main.cf</b></a> configuration file is in the named
|
||||||
directory instead of the default configuration
|
directory instead of the default configuration
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
<b>-d</b> Print <a href="postconf.5.html"><b>main.cf</b></a> default parameter settings instead of
|
<b>-d</b> Print <a href="postconf.5.html"><b>main.cf</b></a> default parameter settings instead of
|
||||||
actual settings.
|
actual settings. Specify <b>-df</b> to fold long lines
|
||||||
|
for human readability (Postfix 2.9 and later).
|
||||||
|
|
||||||
<b>-e</b> Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file. The file is
|
<b>-e</b> Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and update
|
||||||
copied to a temporary file then renamed into place.
|
parameter settings with the "<i>name</i>=<i>value</i>" pairs on
|
||||||
Parameters and values are specified on the command
|
the <a href="postconf.1.html"><b>postconf</b>(1)</a> command line. The file is copied to
|
||||||
line. Use quotes in order to protect shell
|
a temporary file then renamed into place. Specify
|
||||||
metacharacters and whitespace.
|
quotes to protect shell metacharacters and white-
|
||||||
|
space.
|
||||||
|
|
||||||
With Postfix version 2.8 and later, the <b>-e</b> is no
|
The <b>-e</b> is no longer needed with Postfix version 2.8
|
||||||
longer needed.
|
and later.
|
||||||
|
|
||||||
<b>-f</b> When printing <a href="postconf.5.html"><b>main.cf</b></a> or <a href="master.5.html"><b>master.cf</b></a> configuration
|
<b>-f</b> Fold long lines when printing <a href="postconf.5.html"><b>main.cf</b></a> or <a href="master.5.html"><b>master.cf</b></a>
|
||||||
file entries, fold long lines for human readabil-
|
configuration file entries, for human readability.
|
||||||
ity.
|
|
||||||
|
|
||||||
This feature is available with Postfix 2.9 and
|
This feature is available with Postfix 2.9 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>-h</b> Show <a href="postconf.5.html"><b>main.cf</b></a> parameter values only; do not prepend
|
<b>-h</b> Show <a href="postconf.5.html"><b>main.cf</b></a> parameter values without the "<i>name</i> = "
|
||||||
the "<i>name =</i> " label that normally precedes the
|
label that normally precedes the value.
|
||||||
value.
|
|
||||||
|
|
||||||
<b>-l</b> List the names of all supported mailbox locking
|
<b>-l</b> List the names of all supported mailbox locking
|
||||||
methods. Postfix supports the following methods:
|
methods. Postfix supports the following methods:
|
||||||
@ -130,40 +133,23 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
lock file, as well as stale lock files that
|
lock file, as well as stale lock files that
|
||||||
were left behind after abnormal termination.
|
were left behind after abnormal termination.
|
||||||
|
|
||||||
<b>-M</b> Show <a href="master.5.html"><b>master.cf</b></a> file contents instead of <a href="postconf.5.html"><b>main.cf</b></a>
|
|
||||||
file contents. Use <b>-Mf</b> to fold long lines for
|
|
||||||
human readability.
|
|
||||||
|
|
||||||
If <i>service ...</i> is specified, only the matching ser-
|
|
||||||
vices will be output. For example, a <i>service</i> of
|
|
||||||
<b>inet</b> will match all services that listen on the
|
|
||||||
network.
|
|
||||||
|
|
||||||
Specify zero or more arguments, each with a <i>ser-</i>
|
|
||||||
<i>vice-type</i> name (<b>inet</b>, <b>unix</b>, <b>fifo</b>, or <b>pass</b>) or with
|
|
||||||
a <i>service-name.service-type</i> pair, where <i>service-</i>
|
|
||||||
<i>name</i> is the first field of a <a href="master.5.html">master.cf</a> entry.
|
|
||||||
|
|
||||||
This feature is available with Postfix 2.9 and
|
|
||||||
later.
|
|
||||||
|
|
||||||
<b>-m</b> List the names of all supported lookup table types.
|
<b>-m</b> List the names of all supported lookup table types.
|
||||||
In Postfix configuration files, lookup tables are
|
In Postfix configuration files, lookup tables are
|
||||||
specified as <i>type</i><b>:</b><i>name</i>, where <i>type</i> is one of the
|
specified as <i>type</i><b>:</b><i>name</i>, where <i>type</i> is one of the
|
||||||
types listed below. The table <i>name</i> syntax depends
|
types listed below. The table <i>name</i> syntax depends
|
||||||
on the lookup table type as described in the <a href="DATABASE_README.html">DATA</a>-
|
on the lookup table type as described in the <a href="DATABASE_README.html">DATA</a>-
|
||||||
<a href="DATABASE_README.html">BASE_README</a> document.
|
<a href="DATABASE_README.html">BASE_README</a> document.
|
||||||
|
|
||||||
<b>btree</b> A sorted, balanced tree structure. This is
|
<b>btree</b> A sorted, balanced tree structure. This is
|
||||||
available on systems with support for Berke-
|
available on systems with support for Berke-
|
||||||
ley DB databases.
|
ley DB databases.
|
||||||
|
|
||||||
<b>cdb</b> A read-optimized structure with no support
|
<b>cdb</b> A read-optimized structure with no support
|
||||||
for incremental updates. This is available
|
for incremental updates. This is available
|
||||||
on systems with support for CDB databases.
|
on systems with support for CDB databases.
|
||||||
|
|
||||||
<b>cidr</b> A table that associates values with Class-
|
<b>cidr</b> A table that associates values with Class-
|
||||||
less Inter-Domain Routing (CIDR) patterns.
|
less Inter-Domain Routing (CIDR) patterns.
|
||||||
This is described in <a href="cidr_table.5.html"><b>cidr_table</b>(5)</a>.
|
This is described in <a href="cidr_table.5.html"><b>cidr_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>dbm</b> An indexed file type based on hashing. This
|
<b>dbm</b> An indexed file type based on hashing. This
|
||||||
@ -172,12 +158,12 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
|
|
||||||
<b>environ</b>
|
<b>environ</b>
|
||||||
The UNIX process environment array. The
|
The UNIX process environment array. The
|
||||||
lookup key is the variable name. Originally
|
lookup key is the variable name. Originally
|
||||||
implemented for testing, someone may find
|
implemented for testing, someone may find
|
||||||
this useful someday.
|
this useful someday.
|
||||||
|
|
||||||
<b>hash</b> An indexed file type based on hashing. This
|
<b>hash</b> An indexed file type based on hashing. This
|
||||||
is available on systems with support for
|
is available on systems with support for
|
||||||
Berkeley DB databases.
|
Berkeley DB databases.
|
||||||
|
|
||||||
<b>internal</b>
|
<b>internal</b>
|
||||||
@ -185,105 +171,129 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
tent are lost when a process terminates.
|
tent are lost when a process terminates.
|
||||||
|
|
||||||
<b>ldap</b> (read-only)
|
<b>ldap</b> (read-only)
|
||||||
Perform lookups using the LDAP protocol.
|
Perform lookups using the LDAP protocol.
|
||||||
This is described in <a href="ldap_table.5.html"><b>ldap_table</b>(5)</a>.
|
This is described in <a href="ldap_table.5.html"><b>ldap_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>mysql</b> (read-only)
|
<b>mysql</b> (read-only)
|
||||||
Perform lookups using the MYSQL protocol.
|
Perform lookups using the MYSQL protocol.
|
||||||
This is described in <a href="mysql_table.5.html"><b>mysql_table</b>(5)</a>.
|
This is described in <a href="mysql_table.5.html"><b>mysql_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>pcre</b> (read-only)
|
<b>pcre</b> (read-only)
|
||||||
A lookup table based on Perl Compatible Reg-
|
A lookup table based on Perl Compatible Reg-
|
||||||
ular Expressions. The file format is
|
ular Expressions. The file format is
|
||||||
described in <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
|
described in <a href="pcre_table.5.html"><b>pcre_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>pgsql</b> (read-only)
|
<b>pgsql</b> (read-only)
|
||||||
Perform lookups using the PostgreSQL proto-
|
Perform lookups using the PostgreSQL proto-
|
||||||
col. This is described in <a href="pgsql_table.5.html"><b>pgsql_table</b>(5)</a>.
|
col. This is described in <a href="pgsql_table.5.html"><b>pgsql_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>proxy</b> (read-only)
|
<b>proxy</b> (read-only)
|
||||||
A lookup table that is implemented via the
|
A lookup table that is implemented via the
|
||||||
Postfix <a href="proxymap.8.html"><b>proxymap</b>(8)</a> service. The table name
|
Postfix <a href="proxymap.8.html"><b>proxymap</b>(8)</a> service. The table name
|
||||||
syntax is <i>type</i><b>:</b><i>name</i>.
|
syntax is <i>type</i><b>:</b><i>name</i>.
|
||||||
|
|
||||||
<b>regexp</b> (read-only)
|
<b>regexp</b> (read-only)
|
||||||
A lookup table based on regular expressions.
|
A lookup table based on regular expressions.
|
||||||
The file format is described in <a href="regexp_table.5.html"><b>regexp_ta-</b></a>
|
The file format is described in <a href="regexp_table.5.html"><b>regexp_ta-</b></a>
|
||||||
<a href="regexp_table.5.html"><b>ble</b>(5)</a>.
|
<a href="regexp_table.5.html"><b>ble</b>(5)</a>.
|
||||||
|
|
||||||
<b>sdbm</b> An indexed file type based on hashing. This
|
<b>sdbm</b> An indexed file type based on hashing. This
|
||||||
is available on systems with support for
|
is available on systems with support for
|
||||||
SDBM databases.
|
SDBM databases.
|
||||||
|
|
||||||
<b>sqlite</b> (read-only)
|
<b>sqlite</b> (read-only)
|
||||||
Perform lookups from SQLite database files.
|
Perform lookups from SQLite database files.
|
||||||
This is described in <a href="sqlite_table.5.html"><b>sqlite_table</b>(5)</a>.
|
This is described in <a href="sqlite_table.5.html"><b>sqlite_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>static</b> (read-only)
|
<b>static</b> (read-only)
|
||||||
A table that always returns its name as
|
A table that always returns its name as
|
||||||
lookup result. For example, <b><a href="DATABASE_README.html#types">static</a>:foobar</b>
|
lookup result. For example, <b><a href="DATABASE_README.html#types">static</a>:foobar</b>
|
||||||
always returns the string <b>foobar</b> as lookup
|
always returns the string <b>foobar</b> as lookup
|
||||||
result.
|
result.
|
||||||
|
|
||||||
<b>tcp</b> (read-only)
|
<b>tcp</b> (read-only)
|
||||||
Perform lookups using a simple request-reply
|
Perform lookups using a simple request-reply
|
||||||
protocol that is described in <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
|
protocol that is described in <a href="tcp_table.5.html"><b>tcp_table</b>(5)</a>.
|
||||||
|
|
||||||
<b>texthash</b> (read-only)
|
<b>texthash</b> (read-only)
|
||||||
Produces similar results as hash: files,
|
Produces similar results as hash: files,
|
||||||
except that you don't need to run the
|
except that you don't need to run the
|
||||||
<a href="postmap.1.html">postmap(1)</a> command before you can use the
|
<a href="postmap.1.html"><b>postmap</b>(1)</a> command before you can use the
|
||||||
file, and that it does not detect changes
|
file, and that it does not detect changes
|
||||||
after the file is read.
|
after the file is read.
|
||||||
|
|
||||||
<b>unix</b> (read-only)
|
<b>unix</b> (read-only)
|
||||||
A limited way to query the UNIX authentica-
|
A limited way to query the UNIX authentica-
|
||||||
tion database. The following tables are
|
tion database. The following tables are
|
||||||
implemented:
|
implemented:
|
||||||
|
|
||||||
<b>unix:passwd.byname</b>
|
<b>unix:passwd.byname</b>
|
||||||
The table is the UNIX password data-
|
The table is the UNIX password data-
|
||||||
base. The key is a login name. The
|
base. The key is a login name. The
|
||||||
result is a password file entry in
|
result is a password file entry in
|
||||||
<b>passwd</b>(5) format.
|
<b>passwd</b>(5) format.
|
||||||
|
|
||||||
<b>unix:group.byname</b>
|
<b>unix:group.byname</b>
|
||||||
The table is the UNIX group database.
|
The table is the UNIX group database.
|
||||||
The key is a group name. The result
|
The key is a group name. The result
|
||||||
is a group file entry in <b>group</b>(5)
|
is a group file entry in <b>group</b>(5)
|
||||||
format.
|
format.
|
||||||
|
|
||||||
Other table types may exist depending on how Post-
|
Other table types may exist depending on how Post-
|
||||||
fix was built.
|
fix was built.
|
||||||
|
|
||||||
|
<b>-M</b> Show <a href="master.5.html"><b>master.cf</b></a> file contents instead of <a href="postconf.5.html"><b>main.cf</b></a>
|
||||||
|
file contents. Specify <b>-Mf</b> to fold long lines for
|
||||||
|
human readability.
|
||||||
|
|
||||||
|
If <i>service ...</i> is specified, only the matching ser-
|
||||||
|
vices will be output. For example, "<b>postconf -Mf</b>
|
||||||
|
<b>inet</b>" will match all services that listen on the
|
||||||
|
network.
|
||||||
|
|
||||||
|
Specify zero or more arguments, each with a <i>ser-</i>
|
||||||
|
<i>vice-type</i> name (<b>inet</b>, <b>unix</b>, <b>fifo</b>, or <b>pass</b>) or with
|
||||||
|
a <i>service-name.service-type</i> pair, where <i>service-</i>
|
||||||
|
<i>name</i> is the first field of a <a href="master.5.html">master.cf</a> entry.
|
||||||
|
|
||||||
|
This feature is available with Postfix 2.9 and
|
||||||
|
later.
|
||||||
|
|
||||||
<b>-n</b> Print <a href="postconf.5.html"><b>main.cf</b></a> parameter settings that are explic-
|
<b>-n</b> Print <a href="postconf.5.html"><b>main.cf</b></a> parameter settings that are explic-
|
||||||
itly specified in <a href="postconf.5.html"><b>main.cf</b></a>.
|
itly specified in <a href="postconf.5.html"><b>main.cf</b></a>. Specify <b>-nf</b> to fold
|
||||||
|
long lines for human readability (Postfix 2.9 and
|
||||||
|
later).
|
||||||
|
|
||||||
<b>-t</b> [<i>template</i><b>_</b><i>file</i>]
|
<b>-t</b> [<i>template</i><b>_</b><i>file</i>]
|
||||||
Display the templates for delivery status notifica-
|
Display the templates for text that appears at the
|
||||||
tion (DSN) messages. To override the built-in tem-
|
beginning of delivery status notification (DSN)
|
||||||
plates, specify a template file at the end of the
|
messages, without expanding $<b>name</b> expressions.
|
||||||
command line, or specify a template file in <a href="postconf.5.html"><b>main.cf</b></a>
|
|
||||||
with the <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a></b> parameter. To force
|
|
||||||
selection of the built-in templates, specify an
|
|
||||||
empty template file name (in shell language: "").
|
|
||||||
|
|
||||||
This feature is available with Postfix 2.3 and
|
To override the built-in templates, specify a tem-
|
||||||
|
plate file name at the end of the <a href="postconf.1.html"><b>postconf</b>(1)</a> com-
|
||||||
|
mand line, or specify a file name in <a href="postconf.5.html"><b>main.cf</b></a> with
|
||||||
|
the <b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a></b> parameter.
|
||||||
|
|
||||||
|
To force selection of the built-in templates, spec-
|
||||||
|
ify an empty template file name on the <a href="postconf.1.html"><b>postconf</b>(1)</a>
|
||||||
|
command line (in shell language: "").
|
||||||
|
|
||||||
|
This feature is available with Postfix 2.3 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
|
||||||
tiple <b>-v</b> options make the software increasingly
|
tiple <b>-v</b> options make the software increasingly
|
||||||
verbose.
|
verbose.
|
||||||
|
|
||||||
<b>-#</b> Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file. The file is
|
<b>-#</b> Edit the <a href="postconf.5.html"><b>main.cf</b></a> configuration file, and comment
|
||||||
copied to a temporary file then renamed into place.
|
out the specified parameters so that they revert to
|
||||||
The parameters specified on the command line are
|
their default values. The file is copied to a tem-
|
||||||
commented-out, so that they revert to their default
|
porary file then renamed into place. Specify a
|
||||||
values. Specify a list of parameter names, not
|
list of parameter names, not <i>name</i>=<i>value</i> pairs.
|
||||||
name=value pairs. There is no <b>postconf</b> command to
|
There is no <a href="postconf.1.html"><b>postconf</b>(1)</a> command to perform the
|
||||||
perform the reverse operation.
|
reverse operation.
|
||||||
|
|
||||||
This feature is available with Postfix 2.6 and
|
This feature is available with Postfix 2.6 and
|
||||||
later.
|
later.
|
||||||
|
|
||||||
<b>DIAGNOSTICS</b>
|
<b>DIAGNOSTICS</b>
|
||||||
@ -294,22 +304,23 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
Directory with Postfix configuration files.
|
Directory with Postfix configuration files.
|
||||||
|
|
||||||
<b>CONFIGURATION PARAMETERS</b>
|
<b>CONFIGURATION PARAMETERS</b>
|
||||||
The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant
|
The following <a href="postconf.5.html"><b>main.cf</b></a> parameters are especially relevant
|
||||||
to this program.
|
to this program.
|
||||||
|
|
||||||
The text below provides only a parameter summary. See
|
The text below provides only a parameter summary. See
|
||||||
<a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.
|
<a href="postconf.5.html"><b>postconf</b>(5)</a> for more details including examples.
|
||||||
|
|
||||||
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
|
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
|
||||||
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
|
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
|
||||||
<a href="master.5.html">master.cf</a> configuration files.
|
<a href="master.5.html">master.cf</a> configuration files.
|
||||||
|
|
||||||
<b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a> (empty)</b>
|
<b><a href="postconf.5.html#bounce_template_file">bounce_template_file</a> (empty)</b>
|
||||||
Pathname of a configuration file with bounce mes-
|
Pathname of a configuration file with bounce mes-
|
||||||
sage templates.
|
sage templates.
|
||||||
|
|
||||||
<b>FILES</b>
|
<b>FILES</b>
|
||||||
/etc/postfix/<a href="postconf.5.html">main.cf</a>, Postfix configuration parameters
|
/etc/postfix/<a href="postconf.5.html">main.cf</a>, Postfix configuration parameters
|
||||||
|
/etc/postfix/<a href="master.5.html">master.cf</a>, Postfix master daemon configuraton
|
||||||
|
|
||||||
<b>SEE ALSO</b>
|
<b>SEE ALSO</b>
|
||||||
<a href="bounce.5.html">bounce(5)</a>, bounce template file format
|
<a href="bounce.5.html">bounce(5)</a>, bounce template file format
|
||||||
@ -320,7 +331,7 @@ POSTCONF(1) POSTCONF(1)
|
|||||||
<a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview
|
<a href="DATABASE_README.html">DATABASE_README</a>, Postfix lookup table overview
|
||||||
|
|
||||||
<b>LICENSE</b>
|
<b>LICENSE</b>
|
||||||
The Secure Mailer license must be distributed with this
|
The Secure Mailer license must be distributed with this
|
||||||
software.
|
software.
|
||||||
|
|
||||||
<b>AUTHOR(S)</b>
|
<b>AUTHOR(S)</b>
|
||||||
|
@ -43,11 +43,6 @@ parameter values, or display other configuration information
|
|||||||
about the Postfix mail system.
|
about the Postfix mail system.
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
.IP \fB-A\fR
|
|
||||||
List the available SASL client plug-in types. The SASL
|
|
||||||
plug-in type is selected with the \fBsmtp_sasl_type\fR or
|
|
||||||
\fBlmtp_sasl_type\fR configuration parameters by specifying
|
|
||||||
one of the names listed below.
|
|
||||||
.IP \fB-a\fR
|
.IP \fB-a\fR
|
||||||
List the available SASL server plug-in types. The SASL
|
List the available SASL server plug-in types. The SASL
|
||||||
plug-in type is selected with the \fBsmtpd_sasl_type\fR
|
plug-in type is selected with the \fBsmtpd_sasl_type\fR
|
||||||
@ -64,6 +59,11 @@ support.
|
|||||||
.RE
|
.RE
|
||||||
.IP
|
.IP
|
||||||
This feature is available with Postfix 2.3 and later.
|
This feature is available with Postfix 2.3 and later.
|
||||||
|
.IP \fB-A\fR
|
||||||
|
List the available SASL client plug-in types. The SASL
|
||||||
|
plug-in type is selected with the \fBsmtp_sasl_type\fR or
|
||||||
|
\fBlmtp_sasl_type\fR configuration parameters by specifying
|
||||||
|
one of the names listed below.
|
||||||
.RS
|
.RS
|
||||||
.IP \fBcyrus\fR
|
.IP \fBcyrus\fR
|
||||||
This client plug-in is available when Postfix is built with
|
This client plug-in is available when Postfix is built with
|
||||||
@ -74,12 +74,17 @@ This feature is available with Postfix 2.3 and later.
|
|||||||
.IP "\fB-b\fR [\fItemplate_file\fR]"
|
.IP "\fB-b\fR [\fItemplate_file\fR]"
|
||||||
Display the message text that appears at the beginning of
|
Display the message text that appears at the beginning of
|
||||||
delivery status notification (DSN) messages, with $\fBname\fR
|
delivery status notification (DSN) messages, with $\fBname\fR
|
||||||
expressions replaced by actual values. To override the
|
expressions replaced by actual values as described in
|
||||||
built-in message text, specify a template file at the end
|
\fBbounce\fR(5).
|
||||||
of the command line, or specify a template file in \fBmain.cf\fR
|
|
||||||
with the \fBbounce_template_file\fR parameter.
|
To override the built-in templates, specify a template file
|
||||||
To force selection of the built-in message text templates,
|
name at the end of the \fBpostconf\fR(1) command line, or
|
||||||
specify an empty template file name (in shell language: "").
|
specify a file name in \fBmain.cf\fR with the
|
||||||
|
\fBbounce_template_file\fR parameter.
|
||||||
|
|
||||||
|
To force selection of the built-in templates, specify an
|
||||||
|
empty template file name on the \fBpostconf\fR(1) command
|
||||||
|
line (in shell language: "").
|
||||||
|
|
||||||
This feature is available with Postfix 2.3 and later.
|
This feature is available with Postfix 2.3 and later.
|
||||||
.IP "\fB-c \fIconfig_dir\fR"
|
.IP "\fB-c \fIconfig_dir\fR"
|
||||||
@ -88,22 +93,25 @@ instead of the default configuration directory.
|
|||||||
.IP \fB-d\fR
|
.IP \fB-d\fR
|
||||||
Print \fBmain.cf\fR default parameter settings instead of
|
Print \fBmain.cf\fR default parameter settings instead of
|
||||||
actual settings.
|
actual settings.
|
||||||
|
Specify \fB-df\fR to fold long lines for human readability
|
||||||
|
(Postfix 2.9 and later).
|
||||||
.IP \fB-e\fR
|
.IP \fB-e\fR
|
||||||
Edit the \fBmain.cf\fR configuration file. The file is copied
|
Edit the \fBmain.cf\fR configuration file, and update
|
||||||
to a temporary file then renamed into place. Parameters and
|
parameter settings with the "\fIname\fR=\fIvalue\fR" pairs
|
||||||
values are specified on the command line. Use quotes in order
|
on the \fBpostconf\fR(1) command line. The file is copied
|
||||||
to protect shell metacharacters and whitespace.
|
to a temporary file then renamed into place.
|
||||||
|
Specify quotes to protect shell metacharacters and whitespace.
|
||||||
|
|
||||||
With Postfix version 2.8 and later, the \fB-e\fR is no
|
The \fB-e\fR is no longer needed with Postfix version 2.8
|
||||||
longer needed.
|
and later.
|
||||||
.IP \fB-f\fR
|
.IP \fB-f\fR
|
||||||
When printing \fBmain.cf\fR or \fBmaster.cf\fR configuration file
|
Fold long lines when printing \fBmain.cf\fR or \fBmaster.cf\fR
|
||||||
entries, fold long lines for human readability.
|
configuration file entries, for human readability.
|
||||||
|
|
||||||
This feature is available with Postfix 2.9 and later.
|
This feature is available with Postfix 2.9 and later.
|
||||||
.IP \fB-h\fR
|
.IP \fB-h\fR
|
||||||
Show \fBmain.cf\fR parameter values only; do not prepend
|
Show \fBmain.cf\fR parameter values without the "\fIname\fR
|
||||||
the "\fIname = \fR" label that normally precedes the value.
|
= " label that normally precedes the value.
|
||||||
.IP \fB-l\fR
|
.IP \fB-l\fR
|
||||||
List the names of all supported mailbox locking methods.
|
List the names of all supported mailbox locking methods.
|
||||||
Postfix supports the following methods:
|
Postfix supports the following methods:
|
||||||
@ -120,21 +128,6 @@ named \fIfilename\fR by creating a file named \fIfilename\fB.lock\fR.
|
|||||||
The application is expected to remove its own lock file, as well as
|
The application is expected to remove its own lock file, as well as
|
||||||
stale lock files that were left behind after abnormal termination.
|
stale lock files that were left behind after abnormal termination.
|
||||||
.RE
|
.RE
|
||||||
.IP \fB-M\fR
|
|
||||||
Show \fBmaster.cf\fR file contents instead of \fBmain.cf\fR
|
|
||||||
file contents. Use \fB-Mf\fR to fold long lines for human
|
|
||||||
readability.
|
|
||||||
|
|
||||||
If \fIservice ...\fR is specified, only the matching services
|
|
||||||
will be output. For example, a \fIservice\fR of \fBinet\fR
|
|
||||||
will match all services that listen on the network.
|
|
||||||
|
|
||||||
Specify zero or more arguments, each with a \fIservice-type\fR
|
|
||||||
name (\fBinet\fR, \fBunix\fR, \fBfifo\fR, or \fBpass\fR)
|
|
||||||
or with a \fIservice-name.service-type\fR pair, where
|
|
||||||
\fIservice-name\fR is the first field of a master.cf entry.
|
|
||||||
|
|
||||||
This feature is available with Postfix 2.9 and later.
|
|
||||||
.IP \fB-m\fR
|
.IP \fB-m\fR
|
||||||
List the names of all supported lookup table types. In Postfix
|
List the names of all supported lookup table types. In Postfix
|
||||||
configuration files,
|
configuration files,
|
||||||
@ -201,7 +194,7 @@ Perform lookups using a simple request-reply protocol that is
|
|||||||
described in \fBtcp_table\fR(5).
|
described in \fBtcp_table\fR(5).
|
||||||
.IP "\fBtexthash\fR (read-only)"
|
.IP "\fBtexthash\fR (read-only)"
|
||||||
Produces similar results as hash: files, except that you don't
|
Produces similar results as hash: files, except that you don't
|
||||||
need to run the postmap(1) command before you can use the file,
|
need to run the \fBpostmap\fR(1) command before you can use the file,
|
||||||
and that it does not detect changes after the file is read.
|
and that it does not detect changes after the file is read.
|
||||||
.IP "\fBunix\fR (read-only)"
|
.IP "\fBunix\fR (read-only)"
|
||||||
A limited way to query the UNIX authentication database. The
|
A limited way to query the UNIX authentication database. The
|
||||||
@ -217,29 +210,52 @@ The result is a group file entry in \fBgroup\fR(5) format.
|
|||||||
.RE
|
.RE
|
||||||
.IP
|
.IP
|
||||||
Other table types may exist depending on how Postfix was built.
|
Other table types may exist depending on how Postfix was built.
|
||||||
|
.IP \fB-M\fR
|
||||||
|
Show \fBmaster.cf\fR file contents instead of \fBmain.cf\fR
|
||||||
|
file contents.
|
||||||
|
Specify \fB-Mf\fR to fold long lines for human readability.
|
||||||
|
|
||||||
|
If \fIservice ...\fR is specified, only the matching services
|
||||||
|
will be output. For example, "\fBpostconf -Mf inet\fR"
|
||||||
|
will match all services that listen on the network.
|
||||||
|
|
||||||
|
Specify zero or more arguments, each with a \fIservice-type\fR
|
||||||
|
name (\fBinet\fR, \fBunix\fR, \fBfifo\fR, or \fBpass\fR)
|
||||||
|
or with a \fIservice-name.service-type\fR pair, where
|
||||||
|
\fIservice-name\fR is the first field of a master.cf entry.
|
||||||
|
|
||||||
|
This feature is available with Postfix 2.9 and later.
|
||||||
.IP \fB-n\fR
|
.IP \fB-n\fR
|
||||||
Print \fBmain.cf\fR parameter settings that are explicitly
|
Print \fBmain.cf\fR parameter settings that are explicitly
|
||||||
specified in \fBmain.cf\fR.
|
specified in \fBmain.cf\fR.
|
||||||
|
Specify \fB-nf\fR to fold long lines for human readability
|
||||||
|
(Postfix 2.9 and later).
|
||||||
.IP "\fB-t\fR [\fItemplate_file\fR]"
|
.IP "\fB-t\fR [\fItemplate_file\fR]"
|
||||||
Display the templates for delivery status notification (DSN)
|
Display the templates for text that appears at the beginning
|
||||||
messages. To override the built-in templates, specify a
|
of delivery status notification (DSN) messages, without
|
||||||
template file at the end of the command line, or specify a
|
expanding $\fBname\fR expressions.
|
||||||
template file in \fBmain.cf\fR with the \fBbounce_template_file\fR
|
|
||||||
parameter. To force selection of the built-in templates,
|
To override the built-in templates, specify a template file
|
||||||
specify an empty template file name (in shell language:
|
name at the end of the \fBpostconf\fR(1) command line, or
|
||||||
"").
|
specify a file name in \fBmain.cf\fR with the
|
||||||
|
\fBbounce_template_file\fR parameter.
|
||||||
|
|
||||||
|
To force selection of the built-in templates, specify an
|
||||||
|
empty template file name on the \fBpostconf\fR(1) command
|
||||||
|
line (in shell language: "").
|
||||||
|
|
||||||
This feature is available with Postfix 2.3 and later.
|
This feature is available with Postfix 2.3 and later.
|
||||||
.IP \fB-v\fR
|
.IP \fB-v\fR
|
||||||
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
options make the software increasingly verbose.
|
options make the software increasingly verbose.
|
||||||
.IP \fB-#\fR
|
.IP \fB-#\fR
|
||||||
Edit the \fBmain.cf\fR configuration file. The file is copied
|
Edit the \fBmain.cf\fR configuration file, and comment out
|
||||||
to a temporary file then renamed into place. The parameters
|
the specified parameters so that they revert to their default
|
||||||
specified on the command line are commented-out, so that they
|
values. The file is copied to a temporary file then renamed
|
||||||
revert to their default values. Specify a list of parameter
|
into place.
|
||||||
names, not name=value pairs. There is no \fBpostconf\fR command
|
Specify a list of parameter names, not \fIname\fR=\fIvalue\fR
|
||||||
to perform the reverse operation.
|
pairs. There is no \fBpostconf\fR(1) command to perform
|
||||||
|
the reverse operation.
|
||||||
|
|
||||||
This feature is available with Postfix 2.6 and later.
|
This feature is available with Postfix 2.6 and later.
|
||||||
.SH DIAGNOSTICS
|
.SH DIAGNOSTICS
|
||||||
@ -272,6 +288,7 @@ Pathname of a configuration file with bounce message templates.
|
|||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
/etc/postfix/main.cf, Postfix configuration parameters
|
/etc/postfix/main.cf, Postfix configuration parameters
|
||||||
|
/etc/postfix/master.cf, Postfix master daemon configuraton
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.na
|
.na
|
||||||
.nf
|
.nf
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* Patches change both the patchlevel and the release date. Snapshots have no
|
* Patches change both the patchlevel and the release date. Snapshots have no
|
||||||
* patchlevel; they change the release date only.
|
* patchlevel; they change the release date only.
|
||||||
*/
|
*/
|
||||||
#define MAIL_RELEASE_DATE "20111120"
|
#define MAIL_RELEASE_DATE "20111121"
|
||||||
#define MAIL_VERSION_NUMBER "2.9"
|
#define MAIL_VERSION_NUMBER "2.9"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@ -37,11 +37,6 @@
|
|||||||
/* about the Postfix mail system.
|
/* about the Postfix mail system.
|
||||||
/*
|
/*
|
||||||
/* Options:
|
/* Options:
|
||||||
/* .IP \fB-A\fR
|
|
||||||
/* List the available SASL client plug-in types. The SASL
|
|
||||||
/* plug-in type is selected with the \fBsmtp_sasl_type\fR or
|
|
||||||
/* \fBlmtp_sasl_type\fR configuration parameters by specifying
|
|
||||||
/* one of the names listed below.
|
|
||||||
/* .IP \fB-a\fR
|
/* .IP \fB-a\fR
|
||||||
/* List the available SASL server plug-in types. The SASL
|
/* List the available SASL server plug-in types. The SASL
|
||||||
/* plug-in type is selected with the \fBsmtpd_sasl_type\fR
|
/* plug-in type is selected with the \fBsmtpd_sasl_type\fR
|
||||||
@ -58,6 +53,11 @@
|
|||||||
/* .RE
|
/* .RE
|
||||||
/* .IP
|
/* .IP
|
||||||
/* This feature is available with Postfix 2.3 and later.
|
/* This feature is available with Postfix 2.3 and later.
|
||||||
|
/* .IP \fB-A\fR
|
||||||
|
/* List the available SASL client plug-in types. The SASL
|
||||||
|
/* plug-in type is selected with the \fBsmtp_sasl_type\fR or
|
||||||
|
/* \fBlmtp_sasl_type\fR configuration parameters by specifying
|
||||||
|
/* one of the names listed below.
|
||||||
/* .RS
|
/* .RS
|
||||||
/* .IP \fBcyrus\fR
|
/* .IP \fBcyrus\fR
|
||||||
/* This client plug-in is available when Postfix is built with
|
/* This client plug-in is available when Postfix is built with
|
||||||
@ -68,12 +68,17 @@
|
|||||||
/* .IP "\fB-b\fR [\fItemplate_file\fR]"
|
/* .IP "\fB-b\fR [\fItemplate_file\fR]"
|
||||||
/* Display the message text that appears at the beginning of
|
/* Display the message text that appears at the beginning of
|
||||||
/* delivery status notification (DSN) messages, with $\fBname\fR
|
/* delivery status notification (DSN) messages, with $\fBname\fR
|
||||||
/* expressions replaced by actual values. To override the
|
/* expressions replaced by actual values as described in
|
||||||
/* built-in message text, specify a template file at the end
|
/* \fBbounce\fR(5).
|
||||||
/* of the command line, or specify a template file in \fBmain.cf\fR
|
/*
|
||||||
/* with the \fBbounce_template_file\fR parameter.
|
/* To override the built-in templates, specify a template file
|
||||||
/* To force selection of the built-in message text templates,
|
/* name at the end of the \fBpostconf\fR(1) command line, or
|
||||||
/* specify an empty template file name (in shell language: "").
|
/* specify a file name in \fBmain.cf\fR with the
|
||||||
|
/* \fBbounce_template_file\fR parameter.
|
||||||
|
/*
|
||||||
|
/* To force selection of the built-in templates, specify an
|
||||||
|
/* empty template file name on the \fBpostconf\fR(1) command
|
||||||
|
/* line (in shell language: "").
|
||||||
/*
|
/*
|
||||||
/* This feature is available with Postfix 2.3 and later.
|
/* This feature is available with Postfix 2.3 and later.
|
||||||
/* .IP "\fB-c \fIconfig_dir\fR"
|
/* .IP "\fB-c \fIconfig_dir\fR"
|
||||||
@ -82,22 +87,25 @@
|
|||||||
/* .IP \fB-d\fR
|
/* .IP \fB-d\fR
|
||||||
/* Print \fBmain.cf\fR default parameter settings instead of
|
/* Print \fBmain.cf\fR default parameter settings instead of
|
||||||
/* actual settings.
|
/* actual settings.
|
||||||
|
/* Specify \fB-df\fR to fold long lines for human readability
|
||||||
|
/* (Postfix 2.9 and later).
|
||||||
/* .IP \fB-e\fR
|
/* .IP \fB-e\fR
|
||||||
/* Edit the \fBmain.cf\fR configuration file. The file is copied
|
/* Edit the \fBmain.cf\fR configuration file, and update
|
||||||
/* to a temporary file then renamed into place. Parameters and
|
/* parameter settings with the "\fIname\fR=\fIvalue\fR" pairs
|
||||||
/* values are specified on the command line. Use quotes in order
|
/* on the \fBpostconf\fR(1) command line. The file is copied
|
||||||
/* to protect shell metacharacters and whitespace.
|
/* to a temporary file then renamed into place.
|
||||||
|
/* Specify quotes to protect shell metacharacters and whitespace.
|
||||||
/*
|
/*
|
||||||
/* With Postfix version 2.8 and later, the \fB-e\fR is no
|
/* The \fB-e\fR is no longer needed with Postfix version 2.8
|
||||||
/* longer needed.
|
/* and later.
|
||||||
/* .IP \fB-f\fR
|
/* .IP \fB-f\fR
|
||||||
/* When printing \fBmain.cf\fR or \fBmaster.cf\fR configuration file
|
/* Fold long lines when printing \fBmain.cf\fR or \fBmaster.cf\fR
|
||||||
/* entries, fold long lines for human readability.
|
/* configuration file entries, for human readability.
|
||||||
/*
|
/*
|
||||||
/* This feature is available with Postfix 2.9 and later.
|
/* This feature is available with Postfix 2.9 and later.
|
||||||
/* .IP \fB-h\fR
|
/* .IP \fB-h\fR
|
||||||
/* Show \fBmain.cf\fR parameter values only; do not prepend
|
/* Show \fBmain.cf\fR parameter values without the "\fIname\fR
|
||||||
/* the "\fIname = \fR" label that normally precedes the value.
|
/* = " label that normally precedes the value.
|
||||||
/* .IP \fB-l\fR
|
/* .IP \fB-l\fR
|
||||||
/* List the names of all supported mailbox locking methods.
|
/* List the names of all supported mailbox locking methods.
|
||||||
/* Postfix supports the following methods:
|
/* Postfix supports the following methods:
|
||||||
@ -114,21 +122,6 @@
|
|||||||
/* The application is expected to remove its own lock file, as well as
|
/* The application is expected to remove its own lock file, as well as
|
||||||
/* stale lock files that were left behind after abnormal termination.
|
/* stale lock files that were left behind after abnormal termination.
|
||||||
/* .RE
|
/* .RE
|
||||||
/* .IP \fB-M\fR
|
|
||||||
/* Show \fBmaster.cf\fR file contents instead of \fBmain.cf\fR
|
|
||||||
/* file contents. Use \fB-Mf\fR to fold long lines for human
|
|
||||||
/* readability.
|
|
||||||
/*
|
|
||||||
/* If \fIservice ...\fR is specified, only the matching services
|
|
||||||
/* will be output. For example, a \fIservice\fR of \fBinet\fR
|
|
||||||
/* will match all services that listen on the network.
|
|
||||||
/*
|
|
||||||
/* Specify zero or more arguments, each with a \fIservice-type\fR
|
|
||||||
/* name (\fBinet\fR, \fBunix\fR, \fBfifo\fR, or \fBpass\fR)
|
|
||||||
/* or with a \fIservice-name.service-type\fR pair, where
|
|
||||||
/* \fIservice-name\fR is the first field of a master.cf entry.
|
|
||||||
/*
|
|
||||||
/* This feature is available with Postfix 2.9 and later.
|
|
||||||
/* .IP \fB-m\fR
|
/* .IP \fB-m\fR
|
||||||
/* List the names of all supported lookup table types. In Postfix
|
/* List the names of all supported lookup table types. In Postfix
|
||||||
/* configuration files,
|
/* configuration files,
|
||||||
@ -195,7 +188,7 @@
|
|||||||
/* described in \fBtcp_table\fR(5).
|
/* described in \fBtcp_table\fR(5).
|
||||||
/* .IP "\fBtexthash\fR (read-only)"
|
/* .IP "\fBtexthash\fR (read-only)"
|
||||||
/* Produces similar results as hash: files, except that you don't
|
/* Produces similar results as hash: files, except that you don't
|
||||||
/* need to run the postmap(1) command before you can use the file,
|
/* need to run the \fBpostmap\fR(1) command before you can use the file,
|
||||||
/* and that it does not detect changes after the file is read.
|
/* and that it does not detect changes after the file is read.
|
||||||
/* .IP "\fBunix\fR (read-only)"
|
/* .IP "\fBunix\fR (read-only)"
|
||||||
/* A limited way to query the UNIX authentication database. The
|
/* A limited way to query the UNIX authentication database. The
|
||||||
@ -211,29 +204,52 @@
|
|||||||
/* .RE
|
/* .RE
|
||||||
/* .IP
|
/* .IP
|
||||||
/* Other table types may exist depending on how Postfix was built.
|
/* Other table types may exist depending on how Postfix was built.
|
||||||
|
/* .IP \fB-M\fR
|
||||||
|
/* Show \fBmaster.cf\fR file contents instead of \fBmain.cf\fR
|
||||||
|
/* file contents.
|
||||||
|
/* Specify \fB-Mf\fR to fold long lines for human readability.
|
||||||
|
/*
|
||||||
|
/* If \fIservice ...\fR is specified, only the matching services
|
||||||
|
/* will be output. For example, "\fBpostconf -Mf inet\fR"
|
||||||
|
/* will match all services that listen on the network.
|
||||||
|
/*
|
||||||
|
/* Specify zero or more arguments, each with a \fIservice-type\fR
|
||||||
|
/* name (\fBinet\fR, \fBunix\fR, \fBfifo\fR, or \fBpass\fR)
|
||||||
|
/* or with a \fIservice-name.service-type\fR pair, where
|
||||||
|
/* \fIservice-name\fR is the first field of a master.cf entry.
|
||||||
|
/*
|
||||||
|
/* This feature is available with Postfix 2.9 and later.
|
||||||
/* .IP \fB-n\fR
|
/* .IP \fB-n\fR
|
||||||
/* Print \fBmain.cf\fR parameter settings that are explicitly
|
/* Print \fBmain.cf\fR parameter settings that are explicitly
|
||||||
/* specified in \fBmain.cf\fR.
|
/* specified in \fBmain.cf\fR.
|
||||||
|
/* Specify \fB-nf\fR to fold long lines for human readability
|
||||||
|
/* (Postfix 2.9 and later).
|
||||||
/* .IP "\fB-t\fR [\fItemplate_file\fR]"
|
/* .IP "\fB-t\fR [\fItemplate_file\fR]"
|
||||||
/* Display the templates for delivery status notification (DSN)
|
/* Display the templates for text that appears at the beginning
|
||||||
/* messages. To override the built-in templates, specify a
|
/* of delivery status notification (DSN) messages, without
|
||||||
/* template file at the end of the command line, or specify a
|
/* expanding $\fBname\fR expressions.
|
||||||
/* template file in \fBmain.cf\fR with the \fBbounce_template_file\fR
|
/*
|
||||||
/* parameter. To force selection of the built-in templates,
|
/* To override the built-in templates, specify a template file
|
||||||
/* specify an empty template file name (in shell language:
|
/* name at the end of the \fBpostconf\fR(1) command line, or
|
||||||
/* "").
|
/* specify a file name in \fBmain.cf\fR with the
|
||||||
|
/* \fBbounce_template_file\fR parameter.
|
||||||
|
/*
|
||||||
|
/* To force selection of the built-in templates, specify an
|
||||||
|
/* empty template file name on the \fBpostconf\fR(1) command
|
||||||
|
/* line (in shell language: "").
|
||||||
/*
|
/*
|
||||||
/* This feature is available with Postfix 2.3 and later.
|
/* This feature is available with Postfix 2.3 and later.
|
||||||
/* .IP \fB-v\fR
|
/* .IP \fB-v\fR
|
||||||
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
/* Enable verbose logging for debugging purposes. Multiple \fB-v\fR
|
||||||
/* options make the software increasingly verbose.
|
/* options make the software increasingly verbose.
|
||||||
/* .IP \fB-#\fR
|
/* .IP \fB-#\fR
|
||||||
/* Edit the \fBmain.cf\fR configuration file. The file is copied
|
/* Edit the \fBmain.cf\fR configuration file, and comment out
|
||||||
/* to a temporary file then renamed into place. The parameters
|
/* the specified parameters so that they revert to their default
|
||||||
/* specified on the command line are commented-out, so that they
|
/* values. The file is copied to a temporary file then renamed
|
||||||
/* revert to their default values. Specify a list of parameter
|
/* into place.
|
||||||
/* names, not name=value pairs. There is no \fBpostconf\fR command
|
/* Specify a list of parameter names, not \fIname\fR=\fIvalue\fR
|
||||||
/* to perform the reverse operation.
|
/* pairs. There is no \fBpostconf\fR(1) command to perform
|
||||||
|
/* the reverse operation.
|
||||||
/*
|
/*
|
||||||
/* This feature is available with Postfix 2.6 and later.
|
/* This feature is available with Postfix 2.6 and later.
|
||||||
/* DIAGNOSTICS
|
/* DIAGNOSTICS
|
||||||
@ -258,6 +274,7 @@
|
|||||||
/* Pathname of a configuration file with bounce message templates.
|
/* Pathname of a configuration file with bounce message templates.
|
||||||
/* FILES
|
/* FILES
|
||||||
/* /etc/postfix/main.cf, Postfix configuration parameters
|
/* /etc/postfix/main.cf, Postfix configuration parameters
|
||||||
|
/* /etc/postfix/master.cf, Postfix master daemon configuraton
|
||||||
/* SEE ALSO
|
/* SEE ALSO
|
||||||
/* bounce(5), bounce template file format
|
/* bounce(5), bounce template file format
|
||||||
/* master(5), master.cf configuration file syntax
|
/* master(5), master.cf configuration file syntax
|
||||||
@ -355,28 +372,33 @@
|
|||||||
#define FOLD_LINE (1<<11) /* fold long *.cf entries */
|
#define FOLD_LINE (1<<11) /* fold long *.cf entries */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Lookup table for global parameter info.
|
* Lookup table for global "valid" parameter information.
|
||||||
*
|
*
|
||||||
* XXX Change the value pointers from table indices into pointers to parameter
|
* XXX Change the hash-table values from table indices to parameter object
|
||||||
* objects with print methods.
|
* pointers, where each object supplies its own print etc. method.
|
||||||
*/
|
*/
|
||||||
HTABLE *param_table;
|
HTABLE *param_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Global restriction_classes hash.
|
* Global hash with all names in the global smtpd_restriction_classes value.
|
||||||
|
* This is used when validating "-o user-defined-name=value" in master.cf.
|
||||||
*/
|
*/
|
||||||
HTABLE *rest_class_table;
|
HTABLE *rest_class_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Lookup table for master.cf info. The table is null-terminated.
|
* In-core information for one master.cf entry.
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
char *name_space; /* service.type, parameter name space */
|
char *name_space; /* service.type, parameter name space */
|
||||||
ARGV *argv; /* terminator, or master.cf fields */
|
ARGV *argv; /* null, or master.cf fields */
|
||||||
DICT *all_params; /* all name=value entries */
|
DICT *all_params; /* null, or all name=value entries */
|
||||||
HTABLE *valid_names; /* "blessed" parameters */
|
HTABLE *valid_names; /* null, or "valid" parameter names */
|
||||||
} PC_MASTER_ENT;
|
} PC_MASTER_ENT;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Lookup table for master.cf entries. The table is terminated with an entry
|
||||||
|
* that has a null argv member.
|
||||||
|
*/
|
||||||
static PC_MASTER_ENT *master_table;
|
static PC_MASTER_ENT *master_table;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -452,8 +474,10 @@ typedef struct {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Service-defined parameter names are created by appending postfix-defined
|
* Service-defined parameter names are created by appending postfix-defined
|
||||||
* suffixes to master.cf service names. These parameters have default values
|
* suffixes to master.cf service names. All service-defined parameters have
|
||||||
* that are defined by built-in parameters.
|
* default values that are defined by built-in parameters. We represent
|
||||||
|
* service-defined parameters as (service-defined name, built-in default
|
||||||
|
* parameter name) tuples.
|
||||||
*/
|
*/
|
||||||
static PC_STRING_NV *serv_param_table;
|
static PC_STRING_NV *serv_param_table;
|
||||||
static ssize_t serv_param_tablen;
|
static ssize_t serv_param_tablen;
|
||||||
@ -461,20 +485,23 @@ static ssize_t serv_param_tablen;
|
|||||||
/*
|
/*
|
||||||
* Support for user-defined parameters.
|
* Support for user-defined parameters.
|
||||||
*
|
*
|
||||||
|
* There are multiple parameter name spaces: the global main.cf parameter name
|
||||||
|
* space, and the local parameter name space of each master.cf entry. Local
|
||||||
|
* name spaces take precedence over the global one.
|
||||||
|
*
|
||||||
* There are three categories of known parameters: built-in, service-defined
|
* There are three categories of known parameters: built-in, service-defined
|
||||||
* (see previous comment), and valid user-defined. In addition there are
|
* (see previous comment), and valid user-defined.
|
||||||
* multiple name spaces: the global main.cf name space, and the local name
|
|
||||||
* space of each master.cf entry.
|
|
||||||
*
|
*
|
||||||
* There are two categories of valid user-defined parameters:
|
* There are two categories of valid user-defined parameters:
|
||||||
*
|
*
|
||||||
* - Parameters whose user-defined-name appears in the value of
|
* - Parameters whose user-defined-name appears in the value of
|
||||||
* smtpd_restriction_classes in main.cf or master.cf, and that have a
|
* smtpd_restriction_classes in main.cf or master.cf.
|
||||||
* "user-defined-name=value" entry in main.cf or master.cf.
|
|
||||||
*
|
*
|
||||||
* - Parameters whose $user-defined-name appears in the value of a "name=value"
|
* - Parameters whose $user-defined-name appear in the value of "name=value"
|
||||||
* entry in main.cf or master.cf, and whose user-defined-name has a
|
* entries in main.cf or master.cf.
|
||||||
* "name=value" entry in main.cf or master.cf.
|
*
|
||||||
|
* - In both cases the parameters must have a "user-defined-name=value" entry
|
||||||
|
* in main.cf or master.cf.
|
||||||
*
|
*
|
||||||
* Other user-defined parameters are flagged as "unused".
|
* Other user-defined parameters are flagged as "unused".
|
||||||
*/
|
*/
|
||||||
@ -995,41 +1022,44 @@ static void add_service_parameters(void)
|
|||||||
htable_enter(param_table, sp->name, (char *) sp);
|
htable_enter(param_table, sp->name, (char *) sp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* scan_user_parameter_value - examine macro names in parameter value */
|
|
||||||
|
|
||||||
#define NO_SCAN_RESULT ((VSTRING *) 0)
|
#define NO_SCAN_RESULT ((VSTRING *) 0)
|
||||||
#define NO_SCAN_FILTER ((char *) 0)
|
#define NO_SCAN_FILTER ((char *) 0)
|
||||||
#define NO_SCAN_MODE (0)
|
#define NO_SCAN_MODE (0)
|
||||||
|
|
||||||
#define scan_user_parameter_value(value, context) do { \
|
/* SCAN_USER_PARAMETER_VALUE - examine macro names in parameter value */
|
||||||
|
|
||||||
|
#define SCAN_USER_PARAMETER_VALUE(value, scope) do { \
|
||||||
(void) mac_expand(NO_SCAN_RESULT, (value), MAC_EXP_FLAG_SCAN, \
|
(void) mac_expand(NO_SCAN_RESULT, (value), MAC_EXP_FLAG_SCAN, \
|
||||||
NO_SCAN_FILTER, check_user_parameter, (context)); \
|
NO_SCAN_FILTER, flag_user_parameter, ((char *) (scope))); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* check_user_parameter - promote user-defined name if it has name=value */
|
/* FLAG_USER_PARAMETER - flag user-defined name "valid" if it has name=value */
|
||||||
|
|
||||||
static const char *check_user_parameter(const char *mac_name,
|
#define FLAG_USER_PARAMETER(name, scope) do { \
|
||||||
|
flag_user_parameter((name), NO_SCAN_MODE, ((char *) (scope))); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
/* flag_user_parameter - flag user-defined name "valid" if it has name=value */
|
||||||
|
|
||||||
|
static const char *flag_user_parameter(const char *mac_name,
|
||||||
int unused_mode,
|
int unused_mode,
|
||||||
char *context)
|
char *context)
|
||||||
{
|
{
|
||||||
PC_MASTER_ENT *local_scope = (PC_MASTER_ENT *) context;
|
PC_MASTER_ENT *local_scope = (PC_MASTER_ENT *) context;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Promote only user-defined parameters with an explicit "name=value"
|
* If the name=value exists in the local (or global) name space, update
|
||||||
* definition. If the name=value exists in the local scope, update the
|
* the local (or global) "valid" parameter name table.
|
||||||
* local "valid" parameter name table, otherwise update the global one.
|
|
||||||
*
|
*
|
||||||
* Do not promote user-defined parameters whose name appears only as macro
|
* Do not "validate" user-defined parameters whose name appears only as
|
||||||
* expansion; this is how Postfix implements backwards compatibility
|
* macro expansion; this is how Postfix historically implements backwards
|
||||||
* after a feature name change.
|
* compatibility after a feature name change.
|
||||||
*
|
|
||||||
* Skip global names that are already in the param_table hash.
|
|
||||||
*/
|
*/
|
||||||
if (local_scope && dict_get(local_scope->all_params, mac_name)) {
|
if (local_scope && dict_get(local_scope->all_params, mac_name)) {
|
||||||
if (htable_locate(local_scope->valid_names, mac_name) == 0)
|
if (htable_locate(local_scope->valid_names, mac_name) == 0)
|
||||||
htable_enter(local_scope->valid_names, mac_name, "");
|
htable_enter(local_scope->valid_names, mac_name, "");
|
||||||
} else if (htable_locate(param_table, mac_name) == 0) {
|
} else if (mail_conf_lookup(mac_name) != 0) {
|
||||||
if (mail_conf_lookup(mac_name) != 0) {
|
if (htable_locate(param_table, mac_name) == 0) {
|
||||||
user_param_table = (char **)
|
user_param_table = (char **)
|
||||||
myrealloc((char *) user_param_table,
|
myrealloc((char *) user_param_table,
|
||||||
(user_param_tablen + 1) * sizeof(*user_param_table));
|
(user_param_tablen + 1) * sizeof(*user_param_table));
|
||||||
@ -1069,10 +1099,10 @@ static void scan_user_parameter_namespace(const char *dict_name,
|
|||||||
const char *cparam_value;
|
const char *cparam_value;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Add parameters whose names are defined with smtpd_restriction_classes,
|
* Flag parameter names in smtpd_restriction_classes as "valid", but only
|
||||||
* but only if they have a "name=value" entry. If we are in the global
|
* if they have a "name=value" entry. If we are in not in a local name
|
||||||
* scope, update the global restriction class name table, so that we can
|
* space, update the global restriction class name table, so that we can
|
||||||
* query the table from within a local master.cf name space.
|
* query the global table from within a local master.cf name space.
|
||||||
*/
|
*/
|
||||||
if ((class_list = pc_lookup_eval(dict_name, VAR_REST_CLASSES)) != 0) {
|
if ((class_list = pc_lookup_eval(dict_name, VAR_REST_CLASSES)) != 0) {
|
||||||
cp = saved_class_list = mystrdup(class_list);
|
cp = saved_class_list = mystrdup(class_list);
|
||||||
@ -1080,18 +1110,17 @@ static void scan_user_parameter_namespace(const char *dict_name,
|
|||||||
if (local_scope == 0
|
if (local_scope == 0
|
||||||
&& htable_locate(rest_class_table, param_name) == 0)
|
&& htable_locate(rest_class_table, param_name) == 0)
|
||||||
htable_enter(rest_class_table, param_name, "");
|
htable_enter(rest_class_table, param_name, "");
|
||||||
check_user_parameter(param_name, NO_SCAN_MODE,
|
FLAG_USER_PARAMETER(param_name, local_scope);
|
||||||
(char *) local_scope);
|
|
||||||
}
|
}
|
||||||
myfree(saved_class_list);
|
myfree(saved_class_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For all "name=value" instances: a) if the scope is local and the name
|
* For all "name=value" instances: a) if the name space is local and the
|
||||||
* appears in the global restriction class table, flag the name as
|
* name appears in the global restriction class table, flag the name as
|
||||||
* "valid" in the local scope; b) scan the value for macro expansions of
|
* "valid" in the local name space; b) scan the value for macro
|
||||||
* unknown parameter names, and flag those parameter names as "valid" if
|
* expansions of unknown parameter names, and flag those parameter names
|
||||||
* they have a "name=value" entry.
|
* as "valid" if they have a "name=value" entry.
|
||||||
*/
|
*/
|
||||||
if ((dict = dict_handle(dict_name)) == 0)
|
if ((dict = dict_handle(dict_name)) == 0)
|
||||||
msg_panic("%s: parameter dictionary %s not found",
|
msg_panic("%s: parameter dictionary %s not found",
|
||||||
@ -1106,7 +1135,7 @@ static void scan_user_parameter_namespace(const char *dict_name,
|
|||||||
&& htable_locate(local_scope->valid_names, cparam_name) == 0
|
&& htable_locate(local_scope->valid_names, cparam_name) == 0
|
||||||
&& htable_locate(rest_class_table, cparam_name) != 0)
|
&& htable_locate(rest_class_table, cparam_name) != 0)
|
||||||
htable_enter(local_scope->valid_names, cparam_name, "");
|
htable_enter(local_scope->valid_names, cparam_name, "");
|
||||||
scan_user_parameter_value(cparam_value, (char *) local_scope);
|
SCAN_USER_PARAMETER_VALUE(cparam_value, local_scope);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user