mirror of
https://github.com/vdukhovni/postfix
synced 2025-09-02 15:15:24 +00:00
postfix-2.2.10-RC2
This commit is contained in:
committed by
Viktor Dukhovni
parent
8bb804c2b9
commit
6e39ea274d
@@ -10881,7 +10881,19 @@ Apologies for any names omitted.
|
||||
handling, is too much change for a stable release. File:
|
||||
sendmail/sendmail.c.
|
||||
|
||||
20060315
|
||||
|
||||
Workaround: the PCRE library reports an inappropriate error
|
||||
code (invalid substring) when $number refers to a valid ()
|
||||
expression that matches the null string. This caused fatal
|
||||
run-time errors. File: dict_pcre.c.
|
||||
|
||||
20060324
|
||||
|
||||
Bugfix: mis-placed parenthesis in SMTP before-filter error
|
||||
test. A filter timeout was mis-reported as lost connection.
|
||||
Found in code review. File: smtpd/smtpd_proxy.c.
|
||||
|
||||
20060403
|
||||
Bugfix: the pipe-to-command error message was lost when the
|
||||
command could not be executed. File: global/pipe_command.c.
|
||||
|
@@ -8226,17 +8226,17 @@ of forged mail from worms or viruses. </p>
|
||||
<ul>
|
||||
|
||||
<li> The sender domain matches $<a href="postconf.5.html#mydestination">mydestination</a>, $<a href="postconf.5.html#inet_interfaces">inet_interfaces</a> or
|
||||
$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the recipient is not listed in
|
||||
$<a href="postconf.5.html#proxy_interfaces">proxy_interfaces</a>, but the sender is not listed in
|
||||
$<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a>, and $<a href="postconf.5.html#local_recipient_maps">local_recipient_maps</a> is not null.
|
||||
|
||||
<li> The sender domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the recipient
|
||||
<li> The sender domain matches $<a href="postconf.5.html#virtual_alias_domains">virtual_alias_domains</a> but the sender
|
||||
is not listed in $<a href="postconf.5.html#virtual_alias_maps">virtual_alias_maps</a>.
|
||||
|
||||
<li> The sender domain matches $<a href="postconf.5.html#virtual_mailbox_domains">virtual_mailbox_domains</a> but the
|
||||
recipient is not listed in $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
|
||||
sender is not listed in $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>, and $<a href="postconf.5.html#virtual_mailbox_maps">virtual_mailbox_maps</a>
|
||||
is not null.
|
||||
|
||||
<li> The sender domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the recipient is
|
||||
<li> The sender domain matches $<a href="postconf.5.html#relay_domains">relay_domains</a> but the sender is
|
||||
not listed in $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a>, and $<a href="postconf.5.html#relay_recipient_maps">relay_recipient_maps</a> is
|
||||
not null.
|
||||
|
||||
|
@@ -4705,17 +4705,17 @@ access restriction is specified. This can slow down an explosion
|
||||
of forged mail from worms or viruses.
|
||||
.IP \(bu
|
||||
The sender domain matches $mydestination, $inet_interfaces or
|
||||
$proxy_interfaces, but the recipient is not listed in
|
||||
$proxy_interfaces, but the sender is not listed in
|
||||
$local_recipient_maps, and $local_recipient_maps is not null.
|
||||
.IP \(bu
|
||||
The sender domain matches $virtual_alias_domains but the recipient
|
||||
The sender domain matches $virtual_alias_domains but the sender
|
||||
is not listed in $virtual_alias_maps.
|
||||
.IP \(bu
|
||||
The sender domain matches $virtual_mailbox_domains but the
|
||||
recipient is not listed in $virtual_mailbox_maps, and $virtual_mailbox_maps
|
||||
sender is not listed in $virtual_mailbox_maps, and $virtual_mailbox_maps
|
||||
is not null.
|
||||
.IP \(bu
|
||||
The sender domain matches $relay_domains but the recipient is
|
||||
The sender domain matches $relay_domains but the sender is
|
||||
not listed in $relay_recipient_maps, and $relay_recipient_maps is
|
||||
not null.
|
||||
.PP
|
||||
|
@@ -7172,17 +7172,17 @@ of forged mail from worms or viruses. </p>
|
||||
<ul>
|
||||
|
||||
<li> The sender domain matches $mydestination, $inet_interfaces or
|
||||
$proxy_interfaces, but the recipient is not listed in
|
||||
$proxy_interfaces, but the sender is not listed in
|
||||
$local_recipient_maps, and $local_recipient_maps is not null.
|
||||
|
||||
<li> The sender domain matches $virtual_alias_domains but the recipient
|
||||
<li> The sender domain matches $virtual_alias_domains but the sender
|
||||
is not listed in $virtual_alias_maps.
|
||||
|
||||
<li> The sender domain matches $virtual_mailbox_domains but the
|
||||
recipient is not listed in $virtual_mailbox_maps, and $virtual_mailbox_maps
|
||||
sender is not listed in $virtual_mailbox_maps, and $virtual_mailbox_maps
|
||||
is not null.
|
||||
|
||||
<li> The sender domain matches $relay_domains but the recipient is
|
||||
<li> The sender domain matches $relay_domains but the sender is
|
||||
not listed in $relay_recipient_maps, and $relay_recipient_maps is
|
||||
not null.
|
||||
|
||||
|
@@ -20,8 +20,8 @@
|
||||
* Patches change the patchlevel and the release date. Snapshots change the
|
||||
* release date only.
|
||||
*/
|
||||
#define MAIL_RELEASE_DATE "20060315"
|
||||
#define MAIL_VERSION_NUMBER "2.2.10-RC1"
|
||||
#define MAIL_RELEASE_DATE "20060403"
|
||||
#define MAIL_VERSION_NUMBER "2.2.10-RC2"
|
||||
|
||||
#define VAR_MAIL_VERSION "mail_version"
|
||||
#ifdef SNAPSHOT
|
||||
|
@@ -131,6 +131,7 @@
|
||||
|
||||
#include <msg.h>
|
||||
#include <vstream.h>
|
||||
#include <msg_vstream.h>
|
||||
#include <vstring.h>
|
||||
#include <stringops.h>
|
||||
#include <iostuff.h>
|
||||
@@ -345,7 +346,7 @@ static int pipe_command_wait_or_kill(pid_t pid, WAIT_STATUS_T *statusp, int sig,
|
||||
|
||||
int pipe_command(VSTREAM *src, VSTRING *why,...)
|
||||
{
|
||||
char *myname = "pipe_comand";
|
||||
char *myname = "pipe_command";
|
||||
va_list ap;
|
||||
VSTREAM *cmd_in_stream;
|
||||
VSTREAM *cmd_out_stream;
|
||||
@@ -421,6 +422,7 @@ int pipe_command(VSTREAM *src, VSTRING *why,...)
|
||||
* parent can kill not just the child but also its offspring.
|
||||
*/
|
||||
case 0:
|
||||
(void) msg_cleanup((MSG_CLEANUP_FN) 0);
|
||||
set_ugid(args.uid, args.gid);
|
||||
if (setsid() < 0)
|
||||
msg_warn("setsid failed: %m");
|
||||
@@ -462,8 +464,16 @@ int pipe_command(VSTREAM *src, VSTRING *why,...)
|
||||
|
||||
/*
|
||||
* Process plumbing. If possible, avoid running a shell.
|
||||
*
|
||||
* As a safety for buggy libraries, we close the syslog socket.
|
||||
* Otherwise we could leak a file descriptor that was created by a
|
||||
* privileged process.
|
||||
*
|
||||
* XXX To avoid losing fatal error messages we open a VSTREAM and
|
||||
* capture the output in the parent process.
|
||||
*/
|
||||
closelog();
|
||||
msg_vstream_init(var_procname, VSTREAM_ERR);
|
||||
if (args.argv) {
|
||||
execvp(args.argv[0], args.argv);
|
||||
msg_fatal("%s: execvp %s: %m", myname, args.argv[0]);
|
||||
|
@@ -416,7 +416,7 @@ int smtpd_proxy_cmd(SMTPD_STATE *state, int expect, const char *fmt,...)
|
||||
if (vstream_ftimeout(state->proxy)
|
||||
|| vstream_ferror(state->proxy)
|
||||
|| vstream_feof(state->proxy)
|
||||
|| ((err = vstream_setjmp(state->proxy) != 0)
|
||||
|| ((err = vstream_setjmp(state->proxy)) != 0
|
||||
&& smtpd_proxy_rdwr_error(state->proxy, err))) {
|
||||
state->error_mask |= MAIL_ERROR_SOFTWARE;
|
||||
state->err |= CLEANUP_STAT_PROXY;
|
||||
|
Reference in New Issue
Block a user