mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-30 13:48:06 +00:00
snapshot-20010521
This commit is contained in:
committed by
Viktor Dukhovni
parent
6ac89aab2c
commit
8e965a9d68
@@ -5138,6 +5138,12 @@ Apologies for any names omitted.
|
|||||||
RFC 2821 recommendation: if VRFY is enabled, list it in
|
RFC 2821 recommendation: if VRFY is enabled, list it in
|
||||||
the EHLO response.
|
the EHLO response.
|
||||||
|
|
||||||
|
RFC 2821 recommendation: SMTP clients should use EHLO.
|
||||||
|
The default setting of smtp_always_send_ehlo has changed
|
||||||
|
from 0 (send EHLO if server greets with ESMTP) to 1 (always
|
||||||
|
greet with EHLO). In all cases, Postfix falls back to HELO
|
||||||
|
if the remote host does not support EHLO.
|
||||||
|
|
||||||
20010507
|
20010507
|
||||||
|
|
||||||
Bugfix: with soft_bounce=yes, the SMTP server would log
|
Bugfix: with soft_bounce=yes, the SMTP server would log
|
||||||
|
@@ -5,8 +5,8 @@
|
|||||||
# parameters that control LDAP lookups. Source code for LDAP
|
# parameters that control LDAP lookups. Source code for LDAP
|
||||||
# lookup is available separately from http://www.postfix.org/
|
# lookup is available separately from http://www.postfix.org/
|
||||||
|
|
||||||
# The ldap_lookup_timeout parameter specifies the timeout for LDAP
|
# The ldap_timeout parameter specifies the timeout for LDAP database
|
||||||
# database lookups.
|
# lookups.
|
||||||
#
|
#
|
||||||
#ldap_timeout = 10
|
#ldap_timeout = 10
|
||||||
|
|
||||||
|
@@ -333,7 +333,7 @@ allow_untrusted_routing = no
|
|||||||
# network address, and reject service if it is listed below any of
|
# network address, and reject service if it is listed below any of
|
||||||
# the following domains.
|
# the following domains.
|
||||||
#
|
#
|
||||||
#maps_rbl_domains = blackholes.mail-abuse.org dialups.mail-abuse.org
|
#maps_rbl_domains = blackholes.mail-abuse.org relays.mail-abuse.org
|
||||||
maps_rbl_domains = blackholes.mail-abuse.org
|
maps_rbl_domains = blackholes.mail-abuse.org
|
||||||
|
|
||||||
# The relay_domains parameter restricts what client hostname domains
|
# The relay_domains parameter restricts what client hostname domains
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* Version of this program.
|
* Version of this program.
|
||||||
*/
|
*/
|
||||||
#define VAR_MAIL_VERSION "mail_version"
|
#define VAR_MAIL_VERSION "mail_version"
|
||||||
#define DEF_MAIL_VERSION "Snapshot-20010520"
|
#define DEF_MAIL_VERSION "Snapshot-20010521"
|
||||||
extern char *var_mail_version;
|
extern char *var_mail_version;
|
||||||
|
|
||||||
/* LICENSE
|
/* LICENSE
|
||||||
|
@@ -45,7 +45,7 @@
|
|||||||
/* as the message that \fBpostsuper\fR was supposed to delete.
|
/* as the message that \fBpostsuper\fR was supposed to delete.
|
||||||
/* The probability for reusing a deleted queue ID is about 1 in 2**15
|
/* The probability for reusing a deleted queue ID is about 1 in 2**15
|
||||||
/* (the number of different microsecond values that the system clock
|
/* (the number of different microsecond values that the system clock
|
||||||
/* can distinguish).
|
/* can distinguish within a second).
|
||||||
/* .IP \(bu
|
/* .IP \(bu
|
||||||
/* \fBpostsuper\fR deletes the new message file, instead of the
|
/* \fBpostsuper\fR deletes the new message file, instead of the
|
||||||
/* old file that should have been deleted.
|
/* old file that should have been deleted.
|
||||||
@@ -157,6 +157,22 @@ static struct queue_info queue_info[] = {
|
|||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* postunlink - remove file with prejudice */
|
||||||
|
|
||||||
|
static int postunlink(const char *path)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if ((ret = unlink(path)) == 0) {
|
||||||
|
msg_info("removed file %s", path);
|
||||||
|
} else if (errno != ENOENT) {
|
||||||
|
msg_warn("remove file %s: %m", path);
|
||||||
|
} else if (msg_verbose) {
|
||||||
|
msg_info("remove file %s: %m", path);
|
||||||
|
}
|
||||||
|
return (ret);
|
||||||
|
}
|
||||||
|
|
||||||
/* delete_one - delete one message instance and all its associated files */
|
/* delete_one - delete one message instance and all its associated files */
|
||||||
|
|
||||||
static int delete_one(const char *queue_id)
|
static int delete_one(const char *queue_id)
|
||||||
@@ -189,22 +205,14 @@ static int delete_one(const char *queue_id)
|
|||||||
* in deleting the wrong files.
|
* in deleting the wrong files.
|
||||||
*/
|
*/
|
||||||
for (msg_qpp = msg_queue_names; *msg_qpp != 0; msg_qpp++) {
|
for (msg_qpp = msg_queue_names; *msg_qpp != 0; msg_qpp++) {
|
||||||
if (!mail_open_ok(*msg_qpp, queue_id, &st, &msg_path))
|
if (mail_open_ok(*msg_qpp, queue_id, &st, &msg_path) != MAIL_OPEN_YES)
|
||||||
continue;
|
continue;
|
||||||
for (log_qpp = log_queue_names; *log_qpp != 0; log_qpp++)
|
for (log_qpp = log_queue_names; *log_qpp != 0; log_qpp++)
|
||||||
(void) mail_queue_path(log_path_buf, *log_qpp, queue_id);
|
postunlink(mail_queue_path(log_path_buf, *log_qpp, queue_id));
|
||||||
if (unlink(STR(log_path_buf)) < 0 && errno != ENOENT)
|
if (postunlink(msg_path) == 0) {
|
||||||
msg_warn("remove file %s: %m", STR(log_path_buf));
|
|
||||||
if (unlink(msg_path) == 0) {
|
|
||||||
found = 1;
|
found = 1;
|
||||||
msg_info("removed file %s", msg_path);
|
|
||||||
break;
|
break;
|
||||||
}
|
} /* else: lost a race */
|
||||||
if (errno != ENOENT) {
|
|
||||||
msg_warn("remove file %s: %m", msg_path);
|
|
||||||
} else if (msg_verbose) {
|
|
||||||
msg_info("remove file %s: %m", msg_path);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
vstring_free(log_path_buf);
|
vstring_free(log_path_buf);
|
||||||
return (found);
|
return (found);
|
||||||
|
@@ -219,7 +219,7 @@ int smtp_helo(SMTP_STATE *state)
|
|||||||
*/
|
*/
|
||||||
lines = resp->str;
|
lines = resp->str;
|
||||||
while ((words = mystrtok(&lines, "\n")) != 0) {
|
while ((words = mystrtok(&lines, "\n")) != 0) {
|
||||||
if (mystrtok(&words, "- =") && (word = mystrtok(&words, " \t")) != 0) {
|
if (mystrtok(&words, "- ") && (word = mystrtok(&words, " \t=")) != 0) {
|
||||||
if (strcasecmp(word, "8BITMIME") == 0)
|
if (strcasecmp(word, "8BITMIME") == 0)
|
||||||
state->features |= SMTP_FEATURE_8BITMIME;
|
state->features |= SMTP_FEATURE_8BITMIME;
|
||||||
else if (strcasecmp(word, "PIPELINING") == 0)
|
else if (strcasecmp(word, "PIPELINING") == 0)
|
||||||
|
@@ -104,7 +104,7 @@ char *dir_forest(VSTRING *buf, const char *path, int depth)
|
|||||||
}
|
}
|
||||||
VSTRING_TERMINATE(buf);
|
VSTRING_TERMINATE(buf);
|
||||||
|
|
||||||
if (msg_verbose)
|
if (msg_verbose > 1)
|
||||||
msg_info("%s: %s -> %s", myname, path, vstring_str(buf));
|
msg_info("%s: %s -> %s", myname, path, vstring_str(buf));
|
||||||
return (vstring_str(buf));
|
return (vstring_str(buf));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user