mirror of
https://github.com/vdukhovni/postfix
synced 2025-09-03 23:55:18 +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:
|
handling, is too much change for a stable release. File:
|
||||||
sendmail/sendmail.c.
|
sendmail/sendmail.c.
|
||||||
|
|
||||||
|
20060315
|
||||||
|
|
||||||
Workaround: the PCRE library reports an inappropriate error
|
Workaround: the PCRE library reports an inappropriate error
|
||||||
code (invalid substring) when $number refers to a valid ()
|
code (invalid substring) when $number refers to a valid ()
|
||||||
expression that matches the null string. This caused fatal
|
expression that matches the null string. This caused fatal
|
||||||
run-time errors. File: dict_pcre.c.
|
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>
|
<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
|
<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.
|
$<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>.
|
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
|
<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.
|
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 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.
|
not null.
|
||||||
|
|
||||||
|
@@ -4705,17 +4705,17 @@ access restriction is specified. This can slow down an explosion
|
|||||||
of forged mail from worms or viruses.
|
of forged mail from worms or viruses.
|
||||||
.IP \(bu
|
.IP \(bu
|
||||||
The sender domain matches $mydestination, $inet_interfaces or
|
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.
|
$local_recipient_maps, and $local_recipient_maps is not null.
|
||||||
.IP \(bu
|
.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.
|
is not listed in $virtual_alias_maps.
|
||||||
.IP \(bu
|
.IP \(bu
|
||||||
The sender domain matches $virtual_mailbox_domains but the
|
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.
|
is not null.
|
||||||
.IP \(bu
|
.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 listed in $relay_recipient_maps, and $relay_recipient_maps is
|
||||||
not null.
|
not null.
|
||||||
.PP
|
.PP
|
||||||
|
@@ -7172,17 +7172,17 @@ of forged mail from worms or viruses. </p>
|
|||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li> The sender domain matches $mydestination, $inet_interfaces or
|
<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.
|
$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.
|
is not listed in $virtual_alias_maps.
|
||||||
|
|
||||||
<li> The sender domain matches $virtual_mailbox_domains but the
|
<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.
|
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 listed in $relay_recipient_maps, and $relay_recipient_maps is
|
||||||
not null.
|
not null.
|
||||||
|
|
||||||
|
@@ -20,8 +20,8 @@
|
|||||||
* Patches change the patchlevel and the release date. Snapshots change the
|
* Patches change the patchlevel and the release date. Snapshots change the
|
||||||
* release date only.
|
* release date only.
|
||||||
*/
|
*/
|
||||||
#define MAIL_RELEASE_DATE "20060315"
|
#define MAIL_RELEASE_DATE "20060403"
|
||||||
#define MAIL_VERSION_NUMBER "2.2.10-RC1"
|
#define MAIL_VERSION_NUMBER "2.2.10-RC2"
|
||||||
|
|
||||||
#define VAR_MAIL_VERSION "mail_version"
|
#define VAR_MAIL_VERSION "mail_version"
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
|
@@ -131,6 +131,7 @@
|
|||||||
|
|
||||||
#include <msg.h>
|
#include <msg.h>
|
||||||
#include <vstream.h>
|
#include <vstream.h>
|
||||||
|
#include <msg_vstream.h>
|
||||||
#include <vstring.h>
|
#include <vstring.h>
|
||||||
#include <stringops.h>
|
#include <stringops.h>
|
||||||
#include <iostuff.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,...)
|
int pipe_command(VSTREAM *src, VSTRING *why,...)
|
||||||
{
|
{
|
||||||
char *myname = "pipe_comand";
|
char *myname = "pipe_command";
|
||||||
va_list ap;
|
va_list ap;
|
||||||
VSTREAM *cmd_in_stream;
|
VSTREAM *cmd_in_stream;
|
||||||
VSTREAM *cmd_out_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.
|
* parent can kill not just the child but also its offspring.
|
||||||
*/
|
*/
|
||||||
case 0:
|
case 0:
|
||||||
|
(void) msg_cleanup((MSG_CLEANUP_FN) 0);
|
||||||
set_ugid(args.uid, args.gid);
|
set_ugid(args.uid, args.gid);
|
||||||
if (setsid() < 0)
|
if (setsid() < 0)
|
||||||
msg_warn("setsid failed: %m");
|
msg_warn("setsid failed: %m");
|
||||||
@@ -462,8 +464,16 @@ int pipe_command(VSTREAM *src, VSTRING *why,...)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Process plumbing. If possible, avoid running a shell.
|
* 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();
|
closelog();
|
||||||
|
msg_vstream_init(var_procname, VSTREAM_ERR);
|
||||||
if (args.argv) {
|
if (args.argv) {
|
||||||
execvp(args.argv[0], args.argv);
|
execvp(args.argv[0], args.argv);
|
||||||
msg_fatal("%s: execvp %s: %m", myname, args.argv[0]);
|
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)
|
if (vstream_ftimeout(state->proxy)
|
||||||
|| vstream_ferror(state->proxy)
|
|| vstream_ferror(state->proxy)
|
||||||
|| vstream_feof(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))) {
|
&& smtpd_proxy_rdwr_error(state->proxy, err))) {
|
||||||
state->error_mask |= MAIL_ERROR_SOFTWARE;
|
state->error_mask |= MAIL_ERROR_SOFTWARE;
|
||||||
state->err |= CLEANUP_STAT_PROXY;
|
state->err |= CLEANUP_STAT_PROXY;
|
||||||
|
Reference in New Issue
Block a user