2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-22 01:49:47 +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
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
to share ends up in a world-readable file. The content of
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
not hurt to do this also for HTML. Files: proto/Makefile.in,
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
a single <b>$</b> is wanted.
<b>${client_address</b>}
<b>${client_address}</b>
This macro expands to the remote client net-
work address.
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
command parameter.
This feature is available as of Postfix 2.2.
<b>${client_hostname</b>}
<b>${client_hostname}</b>
This macro expands to the remote client
hostname.
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
port number.
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-
tocol.
This feature is available as of Postfix 2.2.
<b>${domain</b>}
<b>${domain}</b>
This macro expands to the domain portion of
the recipient address. For example, with an
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.
<b>${extension</b>}
<b>${extension}</b>
This macro expands to the extension part of
a recipient address. For example, with an
address <i>user+foo@domain</i> the extension is
<i>foo</i>.
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.
This information is modified by the <b>u</b> flag
for case folding.
<b>${mailbox</b>}
<b>${mailbox}</b>
This macro expands to the complete local
part of a recipient address. For example,
with an address <i>user+foo@domain</i> the mailbox
is <i>user+foo</i>.
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.
This information is modified by the <b>u</b> flag
for case folding.
<b>${nexthop</b>}
<b>${nexthop}</b>
This macro expands to the next-hop hostname.
This information is modified by the <b>h</b> flag
for case folding.
<b>${original_recipient</b>}
<b>${original_recipient}</b>
This macro expands to the complete recipient
address before any address rewriting or
aliasing.
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-
ents.
@ -311,143 +311,149 @@ PIPE(8) PIPE(8)
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
address.
A command-line argument that contains
<b>${recipient</b>} expands to as many command-line
A command-line argument that contains
<b>${recipient}</b> expands to as many command-line
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.
<b>${sasl_method</b>}
This macro expands to the name of the SASL
<b>${sasl_method}</b>
This macro expands to the name of the SASL
authentication mechanism in the AUTH command
when the Postfix SMTP server received the
when the Postfix SMTP server received the
message.
This feature is available as of Postfix 2.2.
<b>${sasl_sender</b>}
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>
<a href="http://tools.ietf.org/html/rfc4954">4954</a>) in the MAIL FROM command when the
<b>${sasl_sender}</b>
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>
<a href="http://tools.ietf.org/html/rfc4954">4954</a>) in the MAIL FROM command when the
Postfix SMTP server received the message.
This feature is available as of Postfix 2.2.
<b>${sasl_username</b>}
This macro expands to the SASL user name in
<b>${sasl_username}</b>
This macro expands to the SASL user name in
the AUTH command when the Postfix SMTP
server received the message.
This feature is available as of Postfix 2.2.
<b>${sender</b>}
This macro expands to the envelope sender
<b>${sender}</b>
This macro expands to the envelope sender
address. By default, the null sender address
expands to MAILER-DAEMON; this can be
changed with the <b>null_sender</b> attribute, as
expands to MAILER-DAEMON; this can be
changed with the <b>null_sender</b> attribute, as
described above.
This information is modified by the <b>q</b> flag
This information is modified by the <b>q</b> flag
for quoting.
<b>${size</b>}
This macro expands to Postfix's idea of the
message size, which is an approximation of
<b>${size}</b>
This macro expands to Postfix's idea of the
message size, which is an approximation of
the size of the message as delivered.
<b>${user</b>}
<b>${user}</b>
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
<i>user</i>.
A command-line argument that contains
<b>${user</b>} expands into as many command-line
A command-line argument that contains
<b>${user}</b> expands into as many command-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.
<b>STANDARDS</b>
<a href="http://tools.ietf.org/html/rfc3463">RFC 3463</a> (Enhanced status codes)
<b>DIAGNOSTICS</b>
Command exit status codes are expected to follow the con-
ventions defined in &lt;<b>sysexits.h</b>&gt;. Exit status 0 means
Command exit status codes are expected to follow the con-
ventions defined in &lt;<b>sysexits.h</b>&gt;. Exit status 0 means
normal successful completion.
In the case of a non-zero exit status, a limited amount of
command output is reported in an delivery status notifica-
tion. When the output begins with a 4.X.X or 5.X.X
enhanced status code, the status code takes precedence
over the non-zero exit status (Postfix version 2.3 and
tion. When the output begins with a 4.X.X or 5.X.X
enhanced status code, the status code takes precedence
over the non-zero exit status (Postfix version 2.3 and
later).
Problems and transactions are logged to <b>syslogd</b>(8). Cor-
rupted message files are marked so that the queue manager
Problems and transactions are logged to <b>syslogd</b>(8). Cor-
rupted message files are marked so that the queue manager
can move them to the <b>corrupt</b> queue for further inspection.
<b>SECURITY</b>
This program needs a dual personality 1) to access the
private Postfix queue and IPC mechanisms, and 2) to exe-
This program needs a dual personality 1) to access the
private Postfix queue and IPC mechanisms, and 2) to exe-
cute external commands as the specified user. It is there-
fore security sensitive.
<b>CONFIGURATION PARAMETERS</b>
Changes to <a href="postconf.5.html"><b>main.cf</b></a> are picked up automatically as <a href="pipe.8.html"><b>pipe</b>(8)</a>
processes run for only a limited amount of time. Use the
Changes to <a href="postconf.5.html"><b>main.cf</b></a> are picked up automatically as <a href="pipe.8.html"><b>pipe</b>(8)</a>
processes run for only a limited amount of time. Use the
command "<b>postfix reload</b>" to speed up a change.
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.
<b>RESOURCE AND RATE CONTROLS</b>
In the text below, <i>transport</i> is the first field in a <b>mas-</b>
<b>ter.cf</b> entry.
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></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#default_destination_concurrency_limit">tion_concurrency_limit</a>)</b>
Limit the number of parallel deliveries to the same
destination, for delivery via the named <i>transport</i>.
destination, for delivery via the named <i>transport</i>.
The limit is enforced by the Postfix queue manager.
<b><a href="postconf.5.html#transport_destination_recipient_limit"><i>transport</i>_destination_recipient_limit</a> ($<a href="postconf.5.html#default_destination_recipient_limit">default_destina</a>-</b>
<b><a href="postconf.5.html#default_destination_recipient_limit">tion_recipient_limit</a>)</b>
Limit the number of recipients per message deliv-
ery, for delivery via the named <i>transport</i>. The
Limit the number of recipients per message deliv-
ery, for delivery via the named <i>transport</i>. The
limit is enforced by the Postfix queue manager.
<b><a href="postconf.5.html#transport_time_limit"><i>transport</i>_time_limit</a> ($<a href="postconf.5.html#command_time_limit">command_time_limit</a>)</b>
Limit the time for delivery to external command,
Limit the time for delivery to external command,
for delivery via the named <i>transport</i>. The limit is
enforced by the pipe delivery agent.
Postfix 2.4 and later support a suffix that speci-
fies the time unit: s (seconds), m (minutes), h
Postfix 2.4 and later support a suffix that speci-
fies the time unit: s (seconds), m (minutes), h
(hours), d (days), w (weeks). The default time unit
is seconds.
<b>MISCELLANEOUS CONTROLS</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.
<b><a href="postconf.5.html#daemon_timeout">daemon_timeout</a> (18000s)</b>
How much time a Postfix daemon process may take to
handle a request before it is terminated by a
How much time a Postfix daemon process may take to
handle a request before it is terminated by a
built-in watchdog timer.
<b><a href="postconf.5.html#delay_logging_resolution_limit">delay_logging_resolution_limit</a> (2)</b>
The maximal number of digits after the decimal
The maximal number of digits after the decimal
point when logging sub-second delay values.
<b><a href="postconf.5.html#export_environment">export_environment</a> (see 'postconf -d' output)</b>
The list of environment variables that a Postfix
The list of environment variables that a Postfix
process will export to non-Postfix processes.
<b><a href="postconf.5.html#ipc_timeout">ipc_timeout</a> (3600s)</b>
@ -459,25 +465,25 @@ PIPE(8) PIPE(8)
and most Postfix daemon processes.
<b><a href="postconf.5.html#max_idle">max_idle</a> (100s)</b>
The maximum amount of time that an idle Postfix
daemon process waits for an incoming connection
The maximum amount of time that an idle Postfix
daemon process waits for an incoming connection
before terminating voluntarily.
<b><a href="postconf.5.html#max_use">max_use</a> (100)</b>
The maximal number of incoming connections that a
Postfix daemon process will service before termi-
The maximal number of incoming connections that a
Postfix daemon process will service before termi-
nating voluntarily.
<b><a href="postconf.5.html#process_id">process_id</a> (read-only)</b>
The process ID of a Postfix command or daemon
The process ID of a Postfix command or daemon
process.
<b><a href="postconf.5.html#process_name">process_name</a> (read-only)</b>
The process name of a Postfix command or daemon
The process name of a Postfix command or daemon
process.
<b><a href="postconf.5.html#queue_directory">queue_directory</a> (see 'postconf -d' output)</b>
The location of the Postfix top-level queue direc-
The location of the Postfix top-level queue direc-
tory.
<b><a href="postconf.5.html#recipient_delimiter">recipient_delimiter</a> (empty)</b>
@ -488,8 +494,8 @@ PIPE(8) PIPE(8)
The syslog facility of Postfix logging.
<b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
The mail system name that is prepended to the
process name in syslog records, so that "smtpd"
The mail system name that is prepended to the
process name in syslog records, so that "smtpd"
becomes, for example, "postfix/smtpd".
<b>SEE ALSO</b>
@ -501,7 +507,7 @@ PIPE(8) PIPE(8)
syslogd(8), system logging
<b>LICENSE</b>
The Secure Mailer license must be distributed with this
The Secure Mailer license must be distributed with this
software.
<b>AUTHOR(S)</b>

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
\fB$\fR is wanted.
.RS
.IP \fB${\fBclient_address\fR}\fR
.IP \fB${client_address}\fR
This macro expands to the remote client network address.
.sp
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.
.sp
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.
.sp
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.
.sp
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.
.sp
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
address. For example, with an address \fIuser+foo@domain\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.
.sp
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.
For example, with an address \fIuser+foo@domain\fR the extension is
\fIfoo\fR.
.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.
.sp
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.
For example, with an address \fIuser+foo@domain\fR the mailbox is
\fIuser+foo\fR.
.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.
.sp
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.
.sp
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
address rewriting or aliasing.
.sp
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.
.sp
This information is modified by the \fBhqu\fR flags for quoting
and case folding.
.sp
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.
.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.
.sp
This information is modified by the \fBhqu\fR flags for quoting
and case folding.
.IP \fB${\fBsasl_method\fR}\fR
.IP \fB${sasl_method}\fR
This macro expands to the name of the SASL authentication
mechanism in the AUTH command when the Postfix SMTP server
received the message.
.sp
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
submitter as per RFC 4954) in the MAIL FROM command when
the Postfix SMTP server received the message.
.sp
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
when the Postfix SMTP server received the message.
.sp
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,
the null sender address expands to MAILER-DAEMON; this can
be changed with the \fBnull_sender\fR attribute, as described
above.
.sp
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
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.
For example, with an address \fIuser+foo@domain\fR the username
part is \fIuser\fR.
.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.
.sp
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>]*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

View File

@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
#define MAIL_RELEASE_DATE "20131104"
#define MAIL_RELEASE_DATE "20131105"
#define MAIL_VERSION_NUMBER "2.11"
#ifdef SNAPSHOT

View File

@ -197,27 +197,27 @@
/* $(\fIname\fR) are also recognized. Specify \fB$$\fR where a single
/* \fB$\fR is wanted.
/* .RS
/* .IP \fB${\fBclient_address\fR}\fR
/* .IP \fB${client_address}\fR
/* This macro expands to the remote client network address.
/* .sp
/* 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.
/* .sp
/* 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.
/* .sp
/* 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.
/* .sp
/* 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.
/* .sp
/* 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
/* address. For example, with an address \fIuser+foo@domain\fR
/* the domain is \fIdomain\fR.
@ -225,81 +225,85 @@
/* This information is modified by the \fBh\fR flag for case folding.
/* .sp
/* 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.
/* For example, with an address \fIuser+foo@domain\fR the extension is
/* \fIfoo\fR.
/* .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.
/* .sp
/* 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.
/* For example, with an address \fIuser+foo@domain\fR the mailbox is
/* \fIuser+foo\fR.
/* .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.
/* .sp
/* 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.
/* .sp
/* 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
/* address rewriting or aliasing.
/* .sp
/* 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.
/* .sp
/* This information is modified by the \fBhqu\fR flags for quoting
/* and case folding.
/* .sp
/* 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.
/* .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.
/* .sp
/* This information is modified by the \fBhqu\fR flags for quoting
/* and case folding.
/* .IP \fB${\fBsasl_method\fR}\fR
/* .IP \fB${sasl_method}\fR
/* This macro expands to the name of the SASL authentication
/* mechanism in the AUTH command when the Postfix SMTP server
/* received the message.
/* .sp
/* 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
/* submitter as per RFC 4954) in the MAIL FROM command when
/* the Postfix SMTP server received the message.
/* .sp
/* 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
/* when the Postfix SMTP server received the message.
/* .sp
/* 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,
/* the null sender address expands to MAILER-DAEMON; this can
/* be changed with the \fBnull_sender\fR attribute, as described
/* above.
/* .sp
/* 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
/* 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.
/* For example, with an address \fIuser+foo@domain\fR the username
/* part is \fIuser\fR.
/* .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.
/* .sp
/* 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_USERNAME "sasl_username" /* 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
@ -600,6 +605,7 @@ static int parse_callback(int type, VSTRING *buf, char *context)
PIPE_DICT_SASL_METHOD, 0,
PIPE_DICT_SASL_USERNAME, 0,
PIPE_DICT_SASL_SENDER, 0,
PIPE_DICT_QUEUE_ID, 0,
0, 0,
};
struct cmd_flags *p;
@ -736,7 +742,7 @@ static ARGV *expand_argv(const char *service, char **argv,
msg_warn("no @ in recipient address: %s",
rcpt_list->info[i].address);
if (*var_rcpt_delim == 0
|| (ext = split_addr(STR(buf), var_rcpt_delim)) == 0)
|| (ext = split_addr(STR(buf), var_rcpt_delim)) == 0)
ext = ""; /* insert null arg */
dict_update(PIPE_DICT_TABLE, PIPE_DICT_EXTENSION, ext);
}
@ -1220,6 +1226,8 @@ static int deliver_message(DELIVER_REQUEST *request, char *service, char **argv)
request->sasl_username);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_SASL_SENDER,
request->sasl_sender);
dict_update(PIPE_DICT_TABLE, PIPE_DICT_QUEUE_ID,
request->queue_id);
vstring_free(buf);
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
* 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
* of uninitialized heap memory depends on program execution history.
* That history includes code execution in other libraries that are