2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-01 22:55:29 +00:00

postfix-2.4.0-RC3

This commit is contained in:
Wietse Venema
2007-03-06 00:00:00 -05:00
committed by Viktor Dukhovni
parent 6bb0ea6ed7
commit e108e23c02
19 changed files with 86 additions and 65 deletions

View File

@@ -9851,7 +9851,7 @@ Apologies for any names omitted.
Bugfix: the test for "no debugger_command" was wrong. Bugfix: the test for "no debugger_command" was wrong.
Leandro Santi. File: global/debugger_command.c. Leandro Santi. File: global/debugger_command.c.
20040117 20041117
Robustness: the master-child protocol now includes a process Robustness: the master-child protocol now includes a process
generation number besides the child process ID. The process generation number besides the child process ID. The process
@@ -13315,6 +13315,12 @@ Apologies for any names omitted.
for a limited number of times before terminating the process. for a limited number of times before terminating the process.
Files: master/single_server.c, master/multi_server.c. Files: master/single_server.c, master/multi_server.c.
20070306
Bugfix (introduced with Postfix 2.3 Milter support): postdrop
reported "illegal seek" instead of "file too large". File:
postdrop/postdrop.c.
Wish list: Wish list:
Update message content length when adding/removing headers. Update message content length when adding/removing headers.
@@ -13329,6 +13335,7 @@ Wish list:
am using now. am using now.
Update MILTER_README with Martinec info. Update MILTER_README with Martinec info.
http://www.ijs.si/software/amavisd/amavisd-new-docs.html#dkim
Make postcat header/body aware so people can grep headers. Make postcat header/body aware so people can grep headers.

View File

@@ -558,7 +558,7 @@ Their DSA counterparts:
/etc/postfix/main.cf: /etc/postfix/main.cf:
smtp_tls_dcert_file = /etc/postfix/client-dsa.pem smtp_tls_dcert_file = /etc/postfix/client-dsa.pem
smtp_tls_dkey_file = $smtp_tls_cert_file smtp_tls_dkey_file = $smtp_tls_dcert_file
To verify a remote SMTP server certificate, the Postfix SMTP client needs to To verify a remote SMTP server certificate, the Postfix SMTP client needs to
trust the certificates of the issuing certification authorities. These trust the certificates of the issuing certification authorities. These

View File

@@ -673,7 +673,7 @@ Their DSA counterparts:
/etc/postfix/main.cf: /etc/postfix/main.cf:
smtp_tls_dcert_file = /etc/postfix/client-dsa.pem smtp_tls_dcert_file = /etc/postfix/client-dsa.pem
smtp_tls_dkey_file = $smtp_tls_cert_file smtp_tls_dkey_file = $smtp_tls_dcert_file
To verify a remote SMTP server certificate, the Postfix SMTP client needs to To verify a remote SMTP server certificate, the Postfix SMTP client needs to
trust the certificates of the issuing certification authorities. These trust the certificates of the issuing certification authorities. These

View File

@@ -316,12 +316,14 @@ Notes:
NEVER list a virtual MAILBOX domain name as a virtual ALIAS domain! NEVER list a virtual MAILBOX domain name as a virtual ALIAS domain!
* Lines 4, 7-13: The virtual_mailbox_maps parameter specifies the lookup * Lines 4, 7-13: The virtual_mailbox_maps parameter specifies the lookup
table with all valid recipient addresses. The lookup result is ignored by table with all valid recipient addresses. The lookup result value is
Postfix. In the above example, info@example.com and sales@example.com are ignored by Postfix. In the above example, info@example.com and
listed as valid addresses, and mail for anything else is rejected with sales@example.com are listed as valid addresses; other mail for example.com
"User unknown". If you intend to use LDAP, MySQL or PgSQL instead of local is rejected with "User unknown" by the Postfix SMTP server. It's left up to
files, be sure to review the "local files versus databases" section at the the non-Postfix delivery agent to reject non-existent recipients from local
top of this document! submission or from local alias expansion. If you intend to use LDAP, MySQL
or PgSQL instead of local files, be sure to review the "local files versus
databases" section at the top of this document!
* Line 12: The commented out entry (text after #) shows how one would inform * Line 12: The commented out entry (text after #) shows how one would inform
Postfix of the existence of a catch-all address. Again, the lookup result Postfix of the existence of a catch-all address. Again, the lookup result

View File

@@ -829,7 +829,7 @@ is correctly configured to supply its intermediate CA certificate). </p>
<pre> <pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>: /etc/postfix/<a href="postconf.5.html">main.cf</a>:
<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> = $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> = $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>
</pre> </pre>
</blockquote> </blockquote>

View File

@@ -969,7 +969,7 @@ is correctly configured to supply its intermediate CA certificate). </p>
<pre> <pre>
/etc/postfix/<a href="postconf.5.html">main.cf</a>: /etc/postfix/<a href="postconf.5.html">main.cf</a>:
<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem <a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a> = /etc/postfix/client-dsa.pem
<a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> = $<a href="postconf.5.html#smtp_tls_cert_file">smtp_tls_cert_file</a> <a href="postconf.5.html#smtp_tls_dkey_file">smtp_tls_dkey_file</a> = $<a href="postconf.5.html#smtp_tls_dcert_file">smtp_tls_dcert_file</a>
</pre> </pre>
</blockquote> </blockquote>

View File

@@ -129,7 +129,7 @@ being hosted on the local Postfix machine. </p>
<blockquote> <blockquote>
<pre> <pre>
/etc/postfix/main.cf: /etc/postfix/<a href="postconf.5.html">main.cf</a>:
<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> ... example.com <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> ... example.com
</pre> </pre>
</blockquote> </blockquote>
@@ -163,11 +163,11 @@ below shows how to use this mechanism for the example.com domain.
<blockquote> <blockquote>
<pre> <pre>
1 /etc/postfix/main.cf: 1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
2 <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = example.com ...other <a href="VIRTUAL_README.html#canonical">hosted domains</a>... 2 <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = example.com ...other <a href="VIRTUAL_README.html#canonical">hosted domains</a>...
3 <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual 3 <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual
4 4
5 /etc/postfix/virtual: 5 /etc/postfix/<a href="virtual.8.html">virtual</a>:
6 postmaster@example.com postmaster 6 postmaster@example.com postmaster
7 info@example.com joe 7 info@example.com joe
8 sales@example.com jane 8 sales@example.com jane
@@ -210,7 +210,7 @@ for spam messages that were sent in the name of anything@example.com.
<p>Execute the command "<b>postmap /etc/postfix/virtual</b>" after <p>Execute the command "<b>postmap /etc/postfix/virtual</b>" after
changing the virtual file, and execute the command "<b>postfix changing the virtual file, and execute the command "<b>postfix
reload</b>" after changing the main.cf file. </p> reload</b>" after changing the <a href="postconf.5.html">main.cf</a> file. </p>
<p> Note: virtual aliases can resolve to a local address or to a <p> Note: virtual aliases can resolve to a local address or to a
remote address, or both. They don't have to resolve to UNIX system remote address, or both. They don't have to resolve to UNIX system
@@ -255,7 +255,7 @@ section at the top of this document.</p>
<blockquote> <blockquote>
<pre> <pre>
1 /etc/postfix/main.cf: 1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
2 <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> = example.com ...more domains... 2 <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> = example.com ...more domains...
3 <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail/vhosts 3 <a href="postconf.5.html#virtual_mailbox_base">virtual_mailbox_base</a> = /var/mail/vhosts
4 <a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> = hash:/etc/postfix/vmailbox 4 <a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> = hash:/etc/postfix/vmailbox
@@ -271,7 +271,7 @@ section at the top of this document.</p>
14 # @example.com example.com/catchall 14 # @example.com example.com/catchall
15 ...virtual mailboxes for more domains... 15 ...virtual mailboxes for more domains...
16 16
17 /etc/postfix/virtual: 17 /etc/postfix/<a href="virtual.8.html">virtual</a>:
18 postmaster@example.com postmaster 18 postmaster@example.com postmaster
</pre> </pre>
</blockquote> </blockquote>
@@ -329,7 +329,7 @@ mail for example.com's postmaster address to the local postmaster.
You can use the same mechanism to redirect an address to a remote You can use the same mechanism to redirect an address to a remote
address. </p> address. </p>
<li> <p> Line 18: This example assumes that in main.cf, $<a href="postconf.5.html#myorigin">myorigin</a> <li> <p> Line 18: This example assumes that in <a href="postconf.5.html">main.cf</a>, $<a href="postconf.5.html#myorigin">myorigin</a>
is listed under the <a href="postconf.5.html#mydestination">mydestination</a> parameter setting. If that is is listed under the <a href="postconf.5.html#mydestination">mydestination</a> parameter setting. If that is
not the case, specify an explicit domain name on the right-hand not the case, specify an explicit domain name on the right-hand
side of the virtual alias table entries or else mail will go to side of the virtual alias table entries or else mail will go to
@@ -340,7 +340,7 @@ the wrong domain. </p>
<p> Execute the command "<b>postmap /etc/postfix/virtual</b>" after <p> Execute the command "<b>postmap /etc/postfix/virtual</b>" after
changing the virtual file, execute "<b>postmap /etc/postfix/vmailbox</b>" changing the virtual file, execute "<b>postmap /etc/postfix/vmailbox</b>"
after changing the vmailbox file, and execute the command "<b>postfix after changing the vmailbox file, and execute the command "<b>postfix
reload</b>" after changing the main.cf file. </p> reload</b>" after changing the <a href="postconf.5.html">main.cf</a> file. </p>
<p> Note: mail delivery happens with the recipient's UID/GID <p> Note: mail delivery happens with the recipient's UID/GID
privileges specified with <a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> and <a href="postconf.5.html#virtual_gid_maps">virtual_gid_maps</a>. privileges specified with <a href="postconf.5.html#virtual_uid_maps">virtual_uid_maps</a> and <a href="postconf.5.html#virtual_gid_maps">virtual_gid_maps</a>.
@@ -375,7 +375,7 @@ to a non-Postfix delivery agent: </p>
<blockquote> <blockquote>
<pre> <pre>
1 /etc/postfix/main.cf: 1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
2 <a href="postconf.5.html#virtual_transport">virtual_transport</a> = ...see below... 2 <a href="postconf.5.html#virtual_transport">virtual_transport</a> = ...see below...
3 <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> = example.com ...more domains... 3 <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> = example.com ...more domains...
4 <a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> = hash:/etc/postfix/vmailbox 4 <a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> = hash:/etc/postfix/vmailbox
@@ -389,7 +389,7 @@ to a non-Postfix delivery agent: </p>
12 # @example.com whatever 12 # @example.com whatever
13 ...virtual mailboxes for more domains... 13 ...virtual mailboxes for more domains...
14 14
15 /etc/postfix/virtual: 15 /etc/postfix/<a href="virtual.8.html">virtual</a>:
16 postmaster@example.com postmaster 16 postmaster@example.com postmaster
</pre> </pre>
</blockquote> </blockquote>
@@ -400,7 +400,7 @@ to a non-Postfix delivery agent: </p>
<li> <p> Line 2: With delivery to a non-Postfix mailbox store for <li> <p> Line 2: With delivery to a non-Postfix mailbox store for
<a href="VIRTUAL_README.html#canonical">hosted domains</a>, the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter usually specifies <a href="VIRTUAL_README.html#canonical">hosted domains</a>, the <a href="postconf.5.html#virtual_transport">virtual_transport</a> parameter usually specifies
the Postfix LMTP client, or the name of a master.cf entry that the Postfix LMTP client, or the name of a <a href="master.5.html">master.cf</a> entry that
executes non-Postfix software via the pipe delivery agent. Typical executes non-Postfix software via the pipe delivery agent. Typical
examples (use only one): </p> examples (use only one): </p>
@@ -414,7 +414,7 @@ examples (use only one): </p>
<p> Postfix comes ready with support for LMTP. And an example <p> Postfix comes ready with support for LMTP. And an example
maildrop delivery method is already defined in the default Postfix maildrop delivery method is already defined in the default Postfix
master.cf file. See the <a href="MAILDROP_README.html">MAILDROP_README</a> document for more details. <a href="master.5.html">master.cf</a> file. See the <a href="MAILDROP_README.html">MAILDROP_README</a> document for more details.
</p> </p>
<li> <p> Line 3: The <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> setting tells Postfix <li> <p> Line 3: The <a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> setting tells Postfix
@@ -432,9 +432,13 @@ domain! </p>
<li> <p> Lines 4, 7-13: The <a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> parameter specifies <li> <p> Lines 4, 7-13: The <a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a> parameter specifies
the lookup table with all valid recipient addresses. The lookup the lookup table with all valid recipient addresses. The lookup
result is ignored by Postfix. In the above example, info@example.com result value is ignored by Postfix. In the above example,
and sales@example.com are listed as valid addresses, and mail for info@example.com
anything else is rejected with "User unknown". If you intend to and sales@example.com are listed as valid addresses; other mail for
example.com is rejected with "User unknown" by the Postfix SMTP
server. It's left up to the non-Postfix delivery agent to reject
non-existent recipients from local submission or from local alias
expansion. If you intend to
use LDAP, MySQL or PgSQL instead of local files, be sure to review use LDAP, MySQL or PgSQL instead of local files, be sure to review
the <a href="#local_vs_database"> "local files versus databases"</a> the <a href="#local_vs_database"> "local files versus databases"</a>
section at the top of this document! </p> section at the top of this document! </p>
@@ -456,7 +460,7 @@ redirect mail for example.com's postmaster address to the local
postmaster. You can use the same mechanism to redirect any addresses postmaster. You can use the same mechanism to redirect any addresses
to a local or remote address. </p> to a local or remote address. </p>
<li> <p> Line 16: This example assumes that in main.cf, $<a href="postconf.5.html#myorigin">myorigin</a> <li> <p> Line 16: This example assumes that in <a href="postconf.5.html">main.cf</a>, $<a href="postconf.5.html#myorigin">myorigin</a>
is listed under the <a href="postconf.5.html#mydestination">mydestination</a> parameter setting. If that is is listed under the <a href="postconf.5.html#mydestination">mydestination</a> parameter setting. If that is
not the case, specify an explicit domain name on the right-hand not the case, specify an explicit domain name on the right-hand
side of the virtual alias table entries or else mail will go to side of the virtual alias table entries or else mail will go to
@@ -467,7 +471,7 @@ the wrong domain. </p>
<p> Execute the command "<b>postmap /etc/postfix/virtual</b>" after <p> Execute the command "<b>postmap /etc/postfix/virtual</b>" after
changing the virtual file, execute "<b>postmap /etc/postfix/vmailbox</b>" changing the virtual file, execute "<b>postmap /etc/postfix/vmailbox</b>"
after changing the vmailbox file, and execute the command "<b>postfix after changing the vmailbox file, and execute the command "<b>postfix
reload</b>" after changing the main.cf file. </p> reload</b>" after changing the <a href="postconf.5.html">main.cf</a> file. </p>
<h2><a name="forwarding">Mail forwarding domains</a></h2> <h2><a name="forwarding">Mail forwarding domains</a></h2>
@@ -478,11 +482,11 @@ as a mail forwarding domain: </p>
<blockquote> <blockquote>
<pre> <pre>
1 /etc/postfix/main.cf: 1 /etc/postfix/<a href="postconf.5.html">main.cf</a>:
2 <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = example.com ...other <a href="VIRTUAL_README.html#canonical">hosted domains</a>... 2 <a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> = example.com ...other <a href="VIRTUAL_README.html#canonical">hosted domains</a>...
3 <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual 3 <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual
4 4
5 /etc/postfix/virtual: 5 /etc/postfix/<a href="virtual.8.html">virtual</a>:
6 postmaster@example.com postmaster 6 postmaster@example.com postmaster
7 joe@example.com joe@somewhere 7 joe@example.com joe@somewhere
8 jane@example.com jane@somewhere-else 8 jane@example.com jane@somewhere-else
@@ -526,7 +530,7 @@ for spam messages that were sent in the name of anything@example.com.
<p> Execute the command "<b>postmap /etc/postfix/virtual</b>" after <p> Execute the command "<b>postmap /etc/postfix/virtual</b>" after
changing the virtual file, and execute the command "<b>postfix changing the virtual file, and execute the command "<b>postfix
reload</b>" after changing the main.cf file. </p> reload</b>" after changing the <a href="postconf.5.html">main.cf</a> file. </p>
<p> More details about the virtual alias file are given in the <p> More details about the virtual alias file are given in the
<a href="virtual.5.html">virtual(5)</a> manual page, including multiple addresses on the right-hand <a href="virtual.5.html">virtual(5)</a> manual page, including multiple addresses on the right-hand
@@ -546,10 +550,10 @@ virtual addresses to the local delivery agent: </p>
<blockquote> <blockquote>
<pre> <pre>
/etc/postfix/main.cf: /etc/postfix/<a href="postconf.5.html">main.cf</a>:
<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual
/etc/postfix/virtual: /etc/postfix/<a href="virtual.8.html">virtual</a>:
listname-request@example.com listname-request listname-request@example.com listname-request
listname@example.com listname listname@example.com listname
owner-listname@example.com owner-listname owner-listname@example.com owner-listname
@@ -561,7 +565,7 @@ virtual addresses to the local delivery agent: </p>
</pre> </pre>
</blockquote> </blockquote>
<p> This example assumes that in main.cf, $<a href="postconf.5.html#myorigin">myorigin</a> is listed under <p> This example assumes that in <a href="postconf.5.html">main.cf</a>, $<a href="postconf.5.html#myorigin">myorigin</a> is listed under
the <a href="postconf.5.html#mydestination">mydestination</a> parameter setting. If that is not the case, the <a href="postconf.5.html#mydestination">mydestination</a> parameter setting. If that is not the case,
specify an explicit domain name on the right-hand side of the specify an explicit domain name on the right-hand side of the
virtual alias table entries or else mail will go to the wrong virtual alias table entries or else mail will go to the wrong
@@ -594,10 +598,10 @@ table: </p>
<blockquote> <blockquote>
<pre> <pre>
/etc/postfix/main.cf: /etc/postfix/<a href="postconf.5.html">main.cf</a>:
<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual <a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a> = hash:/etc/postfix/virtual
/etc/postfix/virtual: /etc/postfix/<a href="virtual.8.html">virtual</a>:
user@domain.tld user@domain.tld, user@domain.tld@autoreply.<a href="postconf.5.html#mydomain">mydomain</a>.tld user@domain.tld user@domain.tld, user@domain.tld@autoreply.<a href="postconf.5.html#mydomain">mydomain</a>.tld
</pre> </pre>
</blockquote> </blockquote>
@@ -613,13 +617,13 @@ reply back to the sender. </p>
<blockquote> <blockquote>
<pre> <pre>
/etc/postfix/main.cf: /etc/postfix/<a href="postconf.5.html">main.cf</a>:
<a href="postconf.5.html#transport_maps">transport_maps</a> = hash:/etc/postfix/transport <a href="postconf.5.html#transport_maps">transport_maps</a> = hash:/etc/postfix/transport
/etc/postfix/transport: /etc/postfix/transport:
autoreply.<a href="postconf.5.html#mydomain">mydomain</a>.tld autoreply: autoreply.<a href="postconf.5.html#mydomain">mydomain</a>.tld autoreply:
/etc/postfix/master.cf: /etc/postfix/<a href="master.5.html">master.cf</a>:
# ============================================================= # =============================================================
# service type private unpriv chroot wakeup maxproc command # service type private unpriv chroot wakeup maxproc command
# (yes) (yes) (yes) (never) (100) # (yes) (yes) (yes) (never) (100)
@@ -633,7 +637,7 @@ reply back to the sender. </p>
the user@domain.tld recipient address on the command line. </p> the user@domain.tld recipient address on the command line. </p>
<p> For more information, see the <a href="pipe.8.html">pipe(8)</a> manual page, and the <p> For more information, see the <a href="pipe.8.html">pipe(8)</a> manual page, and the
comments in the Postfix master.cf file. </p> comments in the Postfix <a href="master.5.html">master.cf</a> file. </p>
</body> </body>

View File

@@ -139,11 +139,11 @@ PIPE(8) PIPE(8)
ware. ware.
<b>null_sender</b>=<i>replacement</i> (default: MAILER-DAEMON) <b>null_sender</b>=<i>replacement</i> (default: MAILER-DAEMON)
Replace the null sender address, which is typically Replace the null sender address (typically used for
used for delivery status notifications, with the delivery status notifications) with the specified
specified text when expanding the <b>$sender</b> command- text when expanding the <b>$sender</b> command-line macro,
line macro, and when generating a From_ or Return- and when generating a From_ or Return-Path: message
Path: message header. header.
If the null sender replacement text is a non-empty If the null sender replacement text is a non-empty
string then it is affected by the <b>q</b> flag for string then it is affected by the <b>q</b> flag for

View File

@@ -282,9 +282,9 @@ SENDMAIL(1) SENDMAIL(1)
<b>SECURITY</b> <b>SECURITY</b>
By design, this program is not set-user (or group) id. By design, this program is not set-user (or group) id.
However, it must handle data from untrusted users or However, it must handle data from untrusted, possibly
untrusted machines. Thus, the usual precautions need to remote, users. Thus, the usual precautions need to be
be taken against malicious inputs. taken against malicious inputs.
<b>DIAGNOSTICS</b> <b>DIAGNOSTICS</b>
Problems are logged to <b>syslogd</b>(8) and to the standard Problems are logged to <b>syslogd</b>(8) and to the standard

View File

@@ -230,7 +230,7 @@ Log mailer traffic. Use the \fBdebug_peer_list\fR and
.ad .ad
.fi .fi
By design, this program is not set-user (or group) id. However, By design, this program is not set-user (or group) id. However,
it must handle data from untrusted users or untrusted machines. it must handle data from untrusted, possibly remote, users.
Thus, the usual precautions need to be taken against malicious Thus, the usual precautions need to be taken against malicious
inputs. inputs.
.SH DIAGNOSTICS .SH DIAGNOSTICS

View File

@@ -128,8 +128,8 @@ Prepend "\fB>\fR" to lines starting with "\fBFrom \fR". This is expected
by, for example, \fBUUCP\fR software. by, for example, \fBUUCP\fR software.
.RE .RE
.IP "\fBnull_sender\fR=\fIreplacement\fR (default: MAILER-DAEMON)" .IP "\fBnull_sender\fR=\fIreplacement\fR (default: MAILER-DAEMON)"
Replace the null sender address, which is typically used Replace the null sender address (typically used for delivery
for delivery status notifications, with the specified text status notifications) with the specified text
when expanding the \fB$sender\fR command-line macro, and when expanding the \fB$sender\fR command-line macro, and
when generating a From_ or Return-Path: message header. when generating a From_ or Return-Path: message header.

View File

@@ -829,7 +829,7 @@ is correctly configured to supply its intermediate CA certificate). </p>
<pre> <pre>
/etc/postfix/main.cf: /etc/postfix/main.cf:
smtp_tls_dcert_file = /etc/postfix/client-dsa.pem smtp_tls_dcert_file = /etc/postfix/client-dsa.pem
smtp_tls_dkey_file = $smtp_tls_cert_file smtp_tls_dkey_file = $smtp_tls_dcert_file
</pre> </pre>
</blockquote> </blockquote>

View File

@@ -969,7 +969,7 @@ is correctly configured to supply its intermediate CA certificate). </p>
<pre> <pre>
/etc/postfix/main.cf: /etc/postfix/main.cf:
smtp_tls_dcert_file = /etc/postfix/client-dsa.pem smtp_tls_dcert_file = /etc/postfix/client-dsa.pem
smtp_tls_dkey_file = $smtp_tls_cert_file smtp_tls_dkey_file = $smtp_tls_dcert_file
</pre> </pre>
</blockquote> </blockquote>

View File

@@ -432,9 +432,13 @@ domain! </p>
<li> <p> Lines 4, 7-13: The virtual_mailbox_maps parameter specifies <li> <p> Lines 4, 7-13: The virtual_mailbox_maps parameter specifies
the lookup table with all valid recipient addresses. The lookup the lookup table with all valid recipient addresses. The lookup
result is ignored by Postfix. In the above example, info@example.com result value is ignored by Postfix. In the above example,
and sales@example.com are listed as valid addresses, and mail for info@example.com
anything else is rejected with "User unknown". If you intend to and sales@example.com are listed as valid addresses; other mail for
example.com is rejected with "User unknown" by the Postfix SMTP
server. It's left up to the non-Postfix delivery agent to reject
non-existent recipients from local submission or from local alias
expansion. If you intend to
use LDAP, MySQL or PgSQL instead of local files, be sure to review use LDAP, MySQL or PgSQL instead of local files, be sure to review
the <a href="#local_vs_database"> "local files versus databases"</a> the <a href="#local_vs_database"> "local files versus databases"</a>
section at the top of this document! </p> section at the top of this document! </p>

View File

@@ -20,8 +20,8 @@
* 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 "20070301" #define MAIL_RELEASE_DATE "20070306"
#define MAIL_VERSION_NUMBER "2.4.0-RC2" #define MAIL_VERSION_NUMBER "2.4.0-RC3"
#ifdef SNAPSHOT #ifdef SNAPSHOT
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE

View File

@@ -315,7 +315,7 @@ static void trigger_server_accept_local(int unused_event, char *context)
msg_fatal("select unlock: %m"); msg_fatal("select unlock: %m");
if (fd < 0) { if (fd < 0) {
if (errno != EAGAIN) if (errno != EAGAIN)
msg_fatal("accept connection: %m"); msg_error("accept connection: %m");
if (time_left >= 0) if (time_left >= 0)
event_request_timer(trigger_server_timeout, (char *) 0, time_left); event_request_timer(trigger_server_timeout, (char *) 0, time_left);
return; return;
@@ -361,7 +361,7 @@ static void trigger_server_accept_pass(int unused_event, char *context)
msg_fatal("select unlock: %m"); msg_fatal("select unlock: %m");
if (fd < 0) { if (fd < 0) {
if (errno != EAGAIN) if (errno != EAGAIN)
msg_fatal("accept connection: %m"); msg_error("accept connection: %m");
if (time_left >= 0) if (time_left >= 0)
event_request_timer(trigger_server_timeout, (char *) 0, time_left); event_request_timer(trigger_server_timeout, (char *) 0, time_left);
return; return;

View File

@@ -118,8 +118,8 @@
/* by, for example, \fBUUCP\fR software. /* by, for example, \fBUUCP\fR software.
/* .RE /* .RE
/* .IP "\fBnull_sender\fR=\fIreplacement\fR (default: MAILER-DAEMON)" /* .IP "\fBnull_sender\fR=\fIreplacement\fR (default: MAILER-DAEMON)"
/* Replace the null sender address, which is typically used /* Replace the null sender address (typically used for delivery
/* for delivery status notifications, with the specified text /* status notifications) with the specified text
/* when expanding the \fB$sender\fR command-line macro, and /* when expanding the \fB$sender\fR command-line macro, and
/* when generating a From_ or Return-Path: message header. /* when generating a From_ or Return-Path: message header.
/* /*

View File

@@ -229,6 +229,7 @@ int main(int argc, char **argv)
const char *errstr; const char *errstr;
char *junk; char *junk;
struct timeval start; struct timeval start;
int saved_errno;
/* /*
* Be consistent with file permissions. * Be consistent with file permissions.
@@ -427,9 +428,12 @@ int main(int argc, char **argv)
continue; continue;
} }
if (REC_PUT_BUF(dst->stream, rec_type, buf) < 0) { if (REC_PUT_BUF(dst->stream, rec_type, buf) < 0) {
while ((rec_type = rec_get(VSTREAM_IN, buf, var_line_limit)) > 0 /* rec_get() errors must not clobber errno. */
&& rec_type != REC_TYPE_END) saved_errno = errno;
while (rec_get_raw(VSTREAM_IN, buf, var_line_limit,
REC_FLAG_NONE) > 0)
/* void */ ; /* void */ ;
errno = saved_errno;
break; break;
} }
if (rec_type == REC_TYPE_END) if (rec_type == REC_TYPE_END)
@@ -441,8 +445,8 @@ int main(int argc, char **argv)
* Finish the file. * Finish the file.
*/ */
if ((status = mail_stream_finish(dst, (VSTRING *) 0)) != 0) { if ((status = mail_stream_finish(dst, (VSTRING *) 0)) != 0) {
postdrop_cleanup();
msg_warn("uid=%ld: %m", (long) uid); msg_warn("uid=%ld: %m", (long) uid);
postdrop_cleanup();
} }
/* /*

View File

@@ -222,7 +222,7 @@
/* .ad /* .ad
/* .fi /* .fi
/* By design, this program is not set-user (or group) id. However, /* By design, this program is not set-user (or group) id. However,
/* it must handle data from untrusted users or untrusted machines. /* it must handle data from untrusted, possibly remote, users.
/* Thus, the usual precautions need to be taken against malicious /* Thus, the usual precautions need to be taken against malicious
/* inputs. /* inputs.
/* DIAGNOSTICS /* DIAGNOSTICS