2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-29 13:18:12 +00:00

postfix-2.11-20131105

This commit is contained in:
Wietse Venema 2013-11-05 00:00:00 -05:00 committed by Viktor Dukhovni
parent 1fa35743a5
commit 9aa88be230
7 changed files with 146 additions and 123 deletions

View File

@ -19039,7 +19039,7 @@ Apologies for any names omitted.
Security violation: by default, LMDB 0.9.9 writes uninitialized Security violation: by default, LMDB 0.9.9 writes uninitialized
heap memory to a world-readable database file, as chunks heap memory to a world-readable database file, as chunks
of up to 4096 bytes. This is a gross memory disclosure of up to 4096 bytes. This is a huge memory disclosure
vulnerability: memory content that a program does not intend vulnerability: memory content that a program does not intend
to share ends up in a world-readable file. The content of to share ends up in a world-readable file. The content of
uninitialized heap memory depends on program execution uninitialized heap memory depends on program execution
@ -19068,3 +19068,8 @@ Apologies for any names omitted.
This was primarily an issue with non-HTML output, but it does This was primarily an issue with non-HTML output, but it does
not hurt to do this also for HTML. Files: proto/Makefile.in, not hurt to do this also for HTML. Files: proto/Makefile.in,
proto/MULTI_INSTANCE_README.html. proto/MULTI_INSTANCE_README.html.
20121104
Feature: ${queue_id} macro support for the pipe(8) delivery
agent by Andreas Schulze. File: pipe/pipe.c.

View File

@ -223,37 +223,37 @@ PIPE(8) PIPE(8)
and $(<i>name</i>) are also recognized. Specify <b>$$</b> where and $(<i>name</i>) are also recognized. Specify <b>$$</b> where
a single <b>$</b> is wanted. a single <b>$</b> is wanted.
<b>${client_address</b>} <b>${client_address}</b>
This macro expands to the remote client net- This macro expands to the remote client net-
work address. work address.
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
<b>${client_helo</b>} <b>${client_helo}</b>
This macro expands to the remote client HELO This macro expands to the remote client HELO
command parameter. command parameter.
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
<b>${client_hostname</b>} <b>${client_hostname}</b>
This macro expands to the remote client This macro expands to the remote client
hostname. hostname.
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
<b>${client_port</b>} <b>${client_port}</b>
This macro expands to the remote client TCP This macro expands to the remote client TCP
port number. port number.
This feature is available as of Postfix 2.5. This feature is available as of Postfix 2.5.
<b>${client_protocol</b>} <b>${client_protocol}</b>
This macro expands to the remote client pro- This macro expands to the remote client pro-
tocol. tocol.
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
<b>${domain</b>} <b>${domain}</b>
This macro expands to the domain portion of This macro expands to the domain portion of
the recipient address. For example, with an the recipient address. For example, with an
address <i>user+foo@domain</i> the domain is address <i>user+foo@domain</i> the domain is
@ -264,45 +264,45 @@ PIPE(8) PIPE(8)
This feature is available as of Postfix 2.5. This feature is available as of Postfix 2.5.
<b>${extension</b>} <b>${extension}</b>
This macro expands to the extension part of This macro expands to the extension part of
a recipient address. For example, with an a recipient address. For example, with an
address <i>user+foo@domain</i> the extension is address <i>user+foo@domain</i> the extension is
<i>foo</i>. <i>foo</i>.
A command-line argument that contains A command-line argument that contains
<b>${extension</b>} expands into as many command- <b>${extension}</b> expands into as many command-
line arguments as there are recipients. line arguments as there are recipients.
This information is modified by the <b>u</b> flag This information is modified by the <b>u</b> flag
for case folding. for case folding.
<b>${mailbox</b>} <b>${mailbox}</b>
This macro expands to the complete local This macro expands to the complete local
part of a recipient address. For example, part of a recipient address. For example,
with an address <i>user+foo@domain</i> the mailbox with an address <i>user+foo@domain</i> the mailbox
is <i>user+foo</i>. is <i>user+foo</i>.
A command-line argument that contains A command-line argument that contains
<b>${mailbox</b>} expands to as many command-line <b>${mailbox}</b> expands to as many command-line
arguments as there are recipients. arguments as there are recipients.
This information is modified by the <b>u</b> flag This information is modified by the <b>u</b> flag
for case folding. for case folding.
<b>${nexthop</b>} <b>${nexthop}</b>
This macro expands to the next-hop hostname. This macro expands to the next-hop hostname.
This information is modified by the <b>h</b> flag This information is modified by the <b>h</b> flag
for case folding. for case folding.
<b>${original_recipient</b>} <b>${original_recipient}</b>
This macro expands to the complete recipient This macro expands to the complete recipient
address before any address rewriting or address before any address rewriting or
aliasing. aliasing.
A command-line argument that contains A command-line argument that contains
<b>${original_recipient</b>} expands to as many <b>${original_recipient}</b> expands to as many
command-line arguments as there are recipi- command-line arguments as there are recipi-
ents. ents.
@ -311,18 +311,24 @@ PIPE(8) PIPE(8)
This feature is available as of Postfix 2.5. This feature is available as of Postfix 2.5.
<b>${recipient</b>} <b>${queue_id}</b>
This macro expands to the queue id.
This feature is available as of Postfix
2.11.
<b>${recipient}</b>
This macro expands to the complete recipient This macro expands to the complete recipient
address. address.
A command-line argument that contains A command-line argument that contains
<b>${recipient</b>} expands to as many command-line <b>${recipient}</b> expands to as many command-line
arguments as there are recipients. arguments as there are recipients.
This information is modified by the <b>hqu</b> This information is modified by the <b>hqu</b>
flags for quoting and case folding. flags for quoting and case folding.
<b>${sasl_method</b>} <b>${sasl_method}</b>
This macro expands to the name of the SASL This macro expands to the name of the SASL
authentication mechanism in the AUTH command authentication mechanism in the AUTH command
when the Postfix SMTP server received the when the Postfix SMTP server received the
@ -330,7 +336,7 @@ PIPE(8) PIPE(8)
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
<b>${sasl_sender</b>} <b>${sasl_sender}</b>
This macro expands to the SASL sender name This macro expands to the SASL sender name
(i.e. the original submitter as per <a href="http://tools.ietf.org/html/rfc4954">RFC</a> (i.e. the original submitter as per <a href="http://tools.ietf.org/html/rfc4954">RFC</a>
<a href="http://tools.ietf.org/html/rfc4954">4954</a>) in the MAIL FROM command when the <a href="http://tools.ietf.org/html/rfc4954">4954</a>) in the MAIL FROM command when the
@ -338,14 +344,14 @@ PIPE(8) PIPE(8)
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
<b>${sasl_username</b>} <b>${sasl_username}</b>
This macro expands to the SASL user name in This macro expands to the SASL user name in
the AUTH command when the Postfix SMTP the AUTH command when the Postfix SMTP
server received the message. server received the message.
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
<b>${sender</b>} <b>${sender}</b>
This macro expands to the envelope sender This macro expands to the envelope sender
address. By default, the null sender address address. By default, the null sender address
expands to MAILER-DAEMON; this can be expands to MAILER-DAEMON; this can be
@ -355,19 +361,19 @@ PIPE(8) PIPE(8)
This information is modified by the <b>q</b> flag This information is modified by the <b>q</b> flag
for quoting. for quoting.
<b>${size</b>} <b>${size}</b>
This macro expands to Postfix's idea of the This macro expands to Postfix's idea of the
message size, which is an approximation of message size, which is an approximation of
the size of the message as delivered. the size of the message as delivered.
<b>${user</b>} <b>${user}</b>
This macro expands to the username part of a This macro expands to the username part of a
recipient address. For example, with an recipient address. For example, with an
address <i>user+foo@domain</i> the username part is address <i>user+foo@domain</i> the username part is
<i>user</i>. <i>user</i>.
A command-line argument that contains A command-line argument that contains
<b>${user</b>} expands into as many command-line <b>${user}</b> expands into as many command-line
arguments as there are recipients. arguments as there are recipients.
This information is modified by the <b>u</b> flag This information is modified by the <b>u</b> flag
@ -407,8 +413,8 @@ PIPE(8) PIPE(8)
<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>RESOURCE AND RATE CONTROLS</b> <b>RESOURCE AND RATE CONTROLS</b>
In the text below, <i>transport</i> is the first field in a <b>mas-</b> In the text below, <i>transport</i> is the first field in a <a href="master.5.html"><b>mas-</b>
<b>ter.cf</b> entry. <b>ter.cf</b></a> entry.
<b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b> <b><a href="postconf.5.html#transport_destination_concurrency_limit"><i>transport</i>_destination_concurrency_limit</a> ($<a href="postconf.5.html#default_destination_concurrency_limit">default_destina</a>-</b>
<b><a href="postconf.5.html#default_destination_concurrency_limit">tion_concurrency_limit</a>)</b> <b><a href="postconf.5.html#default_destination_concurrency_limit">tion_concurrency_limit</a>)</b>

View File

@ -207,27 +207,27 @@ In addition to the form ${\fIname\fR}, the forms $\fIname\fR and
$(\fIname\fR) are also recognized. Specify \fB$$\fR where a single $(\fIname\fR) are also recognized. Specify \fB$$\fR where a single
\fB$\fR is wanted. \fB$\fR is wanted.
.RS .RS
.IP \fB${\fBclient_address\fR}\fR .IP \fB${client_address}\fR
This macro expands to the remote client network address. This macro expands to the remote client network address.
.sp .sp
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
.IP \fB${\fBclient_helo\fR}\fR .IP \fB${client_helo}\fR
This macro expands to the remote client HELO command parameter. This macro expands to the remote client HELO command parameter.
.sp .sp
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
.IP \fB${\fBclient_hostname\fR}\fR .IP \fB${client_hostname}\fR
This macro expands to the remote client hostname. This macro expands to the remote client hostname.
.sp .sp
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
.IP \fB${\fBclient_port\fR}\fR .IP \fB${client_port}\fR
This macro expands to the remote client TCP port number. This macro expands to the remote client TCP port number.
.sp .sp
This feature is available as of Postfix 2.5. This feature is available as of Postfix 2.5.
.IP \fB${\fBclient_protocol\fR}\fR .IP \fB${client_protocol}\fR
This macro expands to the remote client protocol. This macro expands to the remote client protocol.
.sp .sp
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
.IP \fB${\fBdomain\fR}\fR .IP \fB${domain}\fR
This macro expands to the domain portion of the recipient This macro expands to the domain portion of the recipient
address. For example, with an address \fIuser+foo@domain\fR address. For example, with an address \fIuser+foo@domain\fR
the domain is \fIdomain\fR. the domain is \fIdomain\fR.
@ -235,81 +235,85 @@ the domain is \fIdomain\fR.
This information is modified by the \fBh\fR flag for case folding. This information is modified by the \fBh\fR flag for case folding.
.sp .sp
This feature is available as of Postfix 2.5. This feature is available as of Postfix 2.5.
.IP \fB${\fBextension\fR}\fR .IP \fB${extension}\fR
This macro expands to the extension part of a recipient address. This macro expands to the extension part of a recipient address.
For example, with an address \fIuser+foo@domain\fR the extension is For example, with an address \fIuser+foo@domain\fR the extension is
\fIfoo\fR. \fIfoo\fR.
.sp .sp
A command-line argument that contains \fB${\fBextension\fR}\fR expands A command-line argument that contains \fB${extension}\fR expands
into as many command-line arguments as there are recipients. into as many command-line arguments as there are recipients.
.sp .sp
This information is modified by the \fBu\fR flag for case folding. This information is modified by the \fBu\fR flag for case folding.
.IP \fB${\fBmailbox\fR}\fR .IP \fB${mailbox}\fR
This macro expands to the complete local part of a recipient address. This macro expands to the complete local part of a recipient address.
For example, with an address \fIuser+foo@domain\fR the mailbox is For example, with an address \fIuser+foo@domain\fR the mailbox is
\fIuser+foo\fR. \fIuser+foo\fR.
.sp .sp
A command-line argument that contains \fB${\fBmailbox\fR}\fR A command-line argument that contains \fB${mailbox}\fR
expands to as many command-line arguments as there are recipients. expands to as many command-line arguments as there are recipients.
.sp .sp
This information is modified by the \fBu\fR flag for case folding. This information is modified by the \fBu\fR flag for case folding.
.IP \fB${\fBnexthop\fR}\fR .IP \fB${nexthop}\fR
This macro expands to the next-hop hostname. This macro expands to the next-hop hostname.
.sp .sp
This information is modified by the \fBh\fR flag for case folding. This information is modified by the \fBh\fR flag for case folding.
.IP \fB${\fBoriginal_recipient\fR}\fR .IP \fB${original_recipient}\fR
This macro expands to the complete recipient address before any This macro expands to the complete recipient address before any
address rewriting or aliasing. address rewriting or aliasing.
.sp .sp
A command-line argument that contains A command-line argument that contains
\fB${\fBoriginal_recipient\fR}\fR expands to as many \fB${original_recipient}\fR expands to as many
command-line arguments as there are recipients. command-line arguments as there are recipients.
.sp .sp
This information is modified by the \fBhqu\fR flags for quoting This information is modified by the \fBhqu\fR flags for quoting
and case folding. and case folding.
.sp .sp
This feature is available as of Postfix 2.5. This feature is available as of Postfix 2.5.
.IP \fB${\fBrecipient\fR}\fR .IP \fB${queue_id}\fR
This macro expands to the queue id.
.sp
This feature is available as of Postfix 2.11.
.IP \fB${recipient}\fR
This macro expands to the complete recipient address. This macro expands to the complete recipient address.
.sp .sp
A command-line argument that contains \fB${\fBrecipient\fR}\fR A command-line argument that contains \fB${recipient}\fR
expands to as many command-line arguments as there are recipients. expands to as many command-line arguments as there are recipients.
.sp .sp
This information is modified by the \fBhqu\fR flags for quoting This information is modified by the \fBhqu\fR flags for quoting
and case folding. and case folding.
.IP \fB${\fBsasl_method\fR}\fR .IP \fB${sasl_method}\fR
This macro expands to the name of the SASL authentication This macro expands to the name of the SASL authentication
mechanism in the AUTH command when the Postfix SMTP server mechanism in the AUTH command when the Postfix SMTP server
received the message. received the message.
.sp .sp
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
.IP \fB${\fBsasl_sender\fR}\fR .IP \fB${sasl_sender}\fR
This macro expands to the SASL sender name (i.e. the original This macro expands to the SASL sender name (i.e. the original
submitter as per RFC 4954) in the MAIL FROM command when submitter as per RFC 4954) in the MAIL FROM command when
the Postfix SMTP server received the message. the Postfix SMTP server received the message.
.sp .sp
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
.IP \fB${\fBsasl_username\fR}\fR .IP \fB${sasl_username}\fR
This macro expands to the SASL user name in the AUTH command This macro expands to the SASL user name in the AUTH command
when the Postfix SMTP server received the message. when the Postfix SMTP server received the message.
.sp .sp
This feature is available as of Postfix 2.2. This feature is available as of Postfix 2.2.
.IP \fB${\fBsender\fR}\fR .IP \fB${sender}\fR
This macro expands to the envelope sender address. By default, This macro expands to the envelope sender address. By default,
the null sender address expands to MAILER-DAEMON; this can the null sender address expands to MAILER-DAEMON; this can
be changed with the \fBnull_sender\fR attribute, as described be changed with the \fBnull_sender\fR attribute, as described
above. above.
.sp .sp
This information is modified by the \fBq\fR flag for quoting. This information is modified by the \fBq\fR flag for quoting.
.IP \fB${\fBsize\fR}\fR .IP \fB${size}\fR
This macro expands to Postfix's idea of the message size, which This macro expands to Postfix's idea of the message size, which
is an approximation of the size of the message as delivered. is an approximation of the size of the message as delivered.
.IP \fB${\fBuser\fR}\fR .IP \fB${user}\fR
This macro expands to the username part of a recipient address. This macro expands to the username part of a recipient address.
For example, with an address \fIuser+foo@domain\fR the username For example, with an address \fIuser+foo@domain\fR the username
part is \fIuser\fR. part is \fIuser\fR.
.sp .sp
A command-line argument that contains \fB${\fBuser\fR}\fR expands A command-line argument that contains \fB${user}\fR expands
into as many command-line arguments as there are recipients. into as many command-line arguments as there are recipients.
.sp .sp
This information is modified by the \fBu\fR flag for case folding. This information is modified by the \fBu\fR flag for case folding.

View File

@ -830,7 +830,7 @@ while (<>) {
s/[<bB>]*header_checks[<\/bB>]*\(5\)/<a href="header_checks.5.html">$&<\/a>/g; s/[<bB>]*header_checks[<\/bB>]*\(5\)/<a href="header_checks.5.html">$&<\/a>/g;
s/[<bB>]*main\.cf[<\/bB>]*/<a href="postconf.5.html">$&<\/a>/g; s/[<bB>]*main\.cf[<\/bB>]*/<a href="postconf.5.html">$&<\/a>/g;
s/[<bB>]*master\.cf[<\/bB>]*/<a href="master.5.html">$&<\/a>/g; s/[<bB>]*mas[-<\/bB>]*\n* *[<bB>]*ter\.cf[<\/bB>]*/<a href="master.5.html">$&<\/a>/g;
# Hyperlink README document names # Hyperlink README document names

View File

@ -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 "20131104" #define MAIL_RELEASE_DATE "20131105"
#define MAIL_VERSION_NUMBER "2.11" #define MAIL_VERSION_NUMBER "2.11"
#ifdef SNAPSHOT #ifdef SNAPSHOT

View File

@ -197,27 +197,27 @@
/* $(\fIname\fR) are also recognized. Specify \fB$$\fR where a single /* $(\fIname\fR) are also recognized. Specify \fB$$\fR where a single
/* \fB$\fR is wanted. /* \fB$\fR is wanted.
/* .RS /* .RS
/* .IP \fB${\fBclient_address\fR}\fR /* .IP \fB${client_address}\fR
/* This macro expands to the remote client network address. /* This macro expands to the remote client network address.
/* .sp /* .sp
/* This feature is available as of Postfix 2.2. /* This feature is available as of Postfix 2.2.
/* .IP \fB${\fBclient_helo\fR}\fR /* .IP \fB${client_helo}\fR
/* This macro expands to the remote client HELO command parameter. /* This macro expands to the remote client HELO command parameter.
/* .sp /* .sp
/* This feature is available as of Postfix 2.2. /* This feature is available as of Postfix 2.2.
/* .IP \fB${\fBclient_hostname\fR}\fR /* .IP \fB${client_hostname}\fR
/* This macro expands to the remote client hostname. /* This macro expands to the remote client hostname.
/* .sp /* .sp
/* This feature is available as of Postfix 2.2. /* This feature is available as of Postfix 2.2.
/* .IP \fB${\fBclient_port\fR}\fR /* .IP \fB${client_port}\fR
/* This macro expands to the remote client TCP port number. /* This macro expands to the remote client TCP port number.
/* .sp /* .sp
/* This feature is available as of Postfix 2.5. /* This feature is available as of Postfix 2.5.
/* .IP \fB${\fBclient_protocol\fR}\fR /* .IP \fB${client_protocol}\fR
/* This macro expands to the remote client protocol. /* This macro expands to the remote client protocol.
/* .sp /* .sp
/* This feature is available as of Postfix 2.2. /* This feature is available as of Postfix 2.2.
/* .IP \fB${\fBdomain\fR}\fR /* .IP \fB${domain}\fR
/* This macro expands to the domain portion of the recipient /* This macro expands to the domain portion of the recipient
/* address. For example, with an address \fIuser+foo@domain\fR /* address. For example, with an address \fIuser+foo@domain\fR
/* the domain is \fIdomain\fR. /* the domain is \fIdomain\fR.
@ -225,81 +225,85 @@
/* This information is modified by the \fBh\fR flag for case folding. /* This information is modified by the \fBh\fR flag for case folding.
/* .sp /* .sp
/* This feature is available as of Postfix 2.5. /* This feature is available as of Postfix 2.5.
/* .IP \fB${\fBextension\fR}\fR /* .IP \fB${extension}\fR
/* This macro expands to the extension part of a recipient address. /* This macro expands to the extension part of a recipient address.
/* For example, with an address \fIuser+foo@domain\fR the extension is /* For example, with an address \fIuser+foo@domain\fR the extension is
/* \fIfoo\fR. /* \fIfoo\fR.
/* .sp /* .sp
/* A command-line argument that contains \fB${\fBextension\fR}\fR expands /* A command-line argument that contains \fB${extension}\fR expands
/* into as many command-line arguments as there are recipients. /* into as many command-line arguments as there are recipients.
/* .sp /* .sp
/* This information is modified by the \fBu\fR flag for case folding. /* This information is modified by the \fBu\fR flag for case folding.
/* .IP \fB${\fBmailbox\fR}\fR /* .IP \fB${mailbox}\fR
/* This macro expands to the complete local part of a recipient address. /* This macro expands to the complete local part of a recipient address.
/* For example, with an address \fIuser+foo@domain\fR the mailbox is /* For example, with an address \fIuser+foo@domain\fR the mailbox is
/* \fIuser+foo\fR. /* \fIuser+foo\fR.
/* .sp /* .sp
/* A command-line argument that contains \fB${\fBmailbox\fR}\fR /* A command-line argument that contains \fB${mailbox}\fR
/* expands to as many command-line arguments as there are recipients. /* expands to as many command-line arguments as there are recipients.
/* .sp /* .sp
/* This information is modified by the \fBu\fR flag for case folding. /* This information is modified by the \fBu\fR flag for case folding.
/* .IP \fB${\fBnexthop\fR}\fR /* .IP \fB${nexthop}\fR
/* This macro expands to the next-hop hostname. /* This macro expands to the next-hop hostname.
/* .sp /* .sp
/* This information is modified by the \fBh\fR flag for case folding. /* This information is modified by the \fBh\fR flag for case folding.
/* .IP \fB${\fBoriginal_recipient\fR}\fR /* .IP \fB${original_recipient}\fR
/* This macro expands to the complete recipient address before any /* This macro expands to the complete recipient address before any
/* address rewriting or aliasing. /* address rewriting or aliasing.
/* .sp /* .sp
/* A command-line argument that contains /* A command-line argument that contains
/* \fB${\fBoriginal_recipient\fR}\fR expands to as many /* \fB${original_recipient}\fR expands to as many
/* command-line arguments as there are recipients. /* command-line arguments as there are recipients.
/* .sp /* .sp
/* This information is modified by the \fBhqu\fR flags for quoting /* This information is modified by the \fBhqu\fR flags for quoting
/* and case folding. /* and case folding.
/* .sp /* .sp
/* This feature is available as of Postfix 2.5. /* This feature is available as of Postfix 2.5.
/* .IP \fB${\fBrecipient\fR}\fR /* .IP \fB${queue_id}\fR
/* This macro expands to the queue id.
/* .sp
/* This feature is available as of Postfix 2.11.
/* .IP \fB${recipient}\fR
/* This macro expands to the complete recipient address. /* This macro expands to the complete recipient address.
/* .sp /* .sp
/* A command-line argument that contains \fB${\fBrecipient\fR}\fR /* A command-line argument that contains \fB${recipient}\fR
/* expands to as many command-line arguments as there are recipients. /* expands to as many command-line arguments as there are recipients.
/* .sp /* .sp
/* This information is modified by the \fBhqu\fR flags for quoting /* This information is modified by the \fBhqu\fR flags for quoting
/* and case folding. /* and case folding.
/* .IP \fB${\fBsasl_method\fR}\fR /* .IP \fB${sasl_method}\fR
/* This macro expands to the name of the SASL authentication /* This macro expands to the name of the SASL authentication
/* mechanism in the AUTH command when the Postfix SMTP server /* mechanism in the AUTH command when the Postfix SMTP server
/* received the message. /* received the message.
/* .sp /* .sp
/* This feature is available as of Postfix 2.2. /* This feature is available as of Postfix 2.2.
/* .IP \fB${\fBsasl_sender\fR}\fR /* .IP \fB${sasl_sender}\fR
/* This macro expands to the SASL sender name (i.e. the original /* This macro expands to the SASL sender name (i.e. the original
/* submitter as per RFC 4954) in the MAIL FROM command when /* submitter as per RFC 4954) in the MAIL FROM command when
/* the Postfix SMTP server received the message. /* the Postfix SMTP server received the message.
/* .sp /* .sp
/* This feature is available as of Postfix 2.2. /* This feature is available as of Postfix 2.2.
/* .IP \fB${\fBsasl_username\fR}\fR /* .IP \fB${sasl_username}\fR
/* This macro expands to the SASL user name in the AUTH command /* This macro expands to the SASL user name in the AUTH command
/* when the Postfix SMTP server received the message. /* when the Postfix SMTP server received the message.
/* .sp /* .sp
/* This feature is available as of Postfix 2.2. /* This feature is available as of Postfix 2.2.
/* .IP \fB${\fBsender\fR}\fR /* .IP \fB${sender}\fR
/* This macro expands to the envelope sender address. By default, /* This macro expands to the envelope sender address. By default,
/* the null sender address expands to MAILER-DAEMON; this can /* the null sender address expands to MAILER-DAEMON; this can
/* be changed with the \fBnull_sender\fR attribute, as described /* be changed with the \fBnull_sender\fR attribute, as described
/* above. /* above.
/* .sp /* .sp
/* This information is modified by the \fBq\fR flag for quoting. /* This information is modified by the \fBq\fR flag for quoting.
/* .IP \fB${\fBsize\fR}\fR /* .IP \fB${size}\fR
/* This macro expands to Postfix's idea of the message size, which /* This macro expands to Postfix's idea of the message size, which
/* is an approximation of the size of the message as delivered. /* is an approximation of the size of the message as delivered.
/* .IP \fB${\fBuser\fR}\fR /* .IP \fB${user}\fR
/* This macro expands to the username part of a recipient address. /* This macro expands to the username part of a recipient address.
/* For example, with an address \fIuser+foo@domain\fR the username /* For example, with an address \fIuser+foo@domain\fR the username
/* part is \fIuser\fR. /* part is \fIuser\fR.
/* .sp /* .sp
/* A command-line argument that contains \fB${\fBuser\fR}\fR expands /* A command-line argument that contains \fB${user}\fR expands
/* into as many command-line arguments as there are recipients. /* into as many command-line arguments as there are recipients.
/* .sp /* .sp
/* This information is modified by the \fBu\fR flag for case folding. /* This information is modified by the \fBu\fR flag for case folding.
@ -501,6 +505,7 @@
#define PIPE_DICT_SASL_METHOD "sasl_method" /* key */ #define PIPE_DICT_SASL_METHOD "sasl_method" /* key */
#define PIPE_DICT_SASL_USERNAME "sasl_username" /* key */ #define PIPE_DICT_SASL_USERNAME "sasl_username" /* key */
#define PIPE_DICT_SASL_SENDER "sasl_sender" /* key */ #define PIPE_DICT_SASL_SENDER "sasl_sender" /* key */
#define PIPE_DICT_QUEUE_ID "queue_id" /* key */
/* /*
* Flags used to pass back the type of special parameter found by * Flags used to pass back the type of special parameter found by
@ -600,6 +605,7 @@ static int parse_callback(int type, VSTRING *buf, char *context)
PIPE_DICT_SASL_METHOD, 0, PIPE_DICT_SASL_METHOD, 0,
PIPE_DICT_SASL_USERNAME, 0, PIPE_DICT_SASL_USERNAME, 0,
PIPE_DICT_SASL_SENDER, 0, PIPE_DICT_SASL_SENDER, 0,
PIPE_DICT_QUEUE_ID, 0,
0, 0, 0, 0,
}; };
struct cmd_flags *p; struct cmd_flags *p;
@ -1220,6 +1226,8 @@ static int deliver_message(DELIVER_REQUEST *request, char *service, char **argv)
request->sasl_username); request->sasl_username);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_SASL_SENDER, dict_update(PIPE_DICT_TABLE, PIPE_DICT_SASL_SENDER,
request->sasl_sender); request->sasl_sender);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_QUEUE_ID,
request->queue_id);
vstring_free(buf); vstring_free(buf);
if ((expanded_argv = expand_argv(service, attr.command, if ((expanded_argv = expand_argv(service, attr.command,

View File

@ -566,7 +566,7 @@ DICT *dict_lmdb_open(const char *path, int open_flags, int dict_flags)
* *
* By default, LMDB 0.9.9 writes uninitialized heap memory to a * By default, LMDB 0.9.9 writes uninitialized heap memory to a
* world-readable database file, as chunks of up to 4096 bytes. This is a * world-readable database file, as chunks of up to 4096 bytes. This is a
* gross memory disclosure vulnerability: memory content that a program * huge memory disclosure vulnerability: memory content that a program
* does not intend to share ends up in a world-readable file. The content * does not intend to share ends up in a world-readable file. The content
* of uninitialized heap memory depends on program execution history. * of uninitialized heap memory depends on program execution history.
* That history includes code execution in other libraries that are * That history includes code execution in other libraries that are