mirror of
https://github.com/vdukhovni/postfix
synced 2025-08-31 22:25:24 +00:00
postfix-2.3.6-RC3
This commit is contained in:
committed by
Viktor Dukhovni
parent
9b1216acea
commit
cbe47d6e37
@@ -12899,3 +12899,9 @@ Apologies for any names omitted.
|
|||||||
insertion point. Thus, inserting headers at positions (N,
|
insertion point. Thus, inserting headers at positions (N,
|
||||||
N+M) could work as if (N, N) had been specified. Problem
|
N+M) could work as if (N, N) had been specified. Problem
|
||||||
reported by Mark Martinec. File: milter/milter8.c.
|
reported by Mark Martinec. File: milter/milter8.c.
|
||||||
|
|
||||||
|
20061227
|
||||||
|
|
||||||
|
Bugfix: the MX hostname syntax check was accidentally skipped
|
||||||
|
with reject_unknown_helo_hostname/sender_domain/recipient_domain.
|
||||||
|
File: smtpd/smtpd_check.c.
|
||||||
|
@@ -20,8 +20,8 @@
|
|||||||
* 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 "20061224"
|
#define MAIL_RELEASE_DATE "20061229"
|
||||||
#define MAIL_VERSION_NUMBER "2.3.6-RC2"
|
#define MAIL_VERSION_NUMBER "2.3.6-RC3"
|
||||||
|
|
||||||
#ifdef SNAPSHOT
|
#ifdef SNAPSHOT
|
||||||
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
|
||||||
|
@@ -1142,6 +1142,7 @@ static int reject_unknown_hostname(SMTPD_STATE *state, char *name,
|
|||||||
{
|
{
|
||||||
const char *myname = "reject_unknown_hostname";
|
const char *myname = "reject_unknown_hostname";
|
||||||
int dns_status;
|
int dns_status;
|
||||||
|
DNS_RR *dummy;
|
||||||
|
|
||||||
if (msg_verbose)
|
if (msg_verbose)
|
||||||
msg_info("%s: %s", myname, name);
|
msg_info("%s: %s", myname, name);
|
||||||
@@ -1152,15 +1153,20 @@ static int reject_unknown_hostname(SMTPD_STATE *state, char *name,
|
|||||||
#define RR_ADDR_TYPES T_A
|
#define RR_ADDR_TYPES T_A
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
dns_status = dns_lookup_l(name, 0, (DNS_RR **) 0, (VSTRING *) 0,
|
dns_status = dns_lookup_l(name, 0, &dummy, (VSTRING *) 0,
|
||||||
(VSTRING *) 0, DNS_REQ_FLAG_STOP_OK,
|
(VSTRING *) 0, DNS_REQ_FLAG_STOP_OK,
|
||||||
RR_ADDR_TYPES, T_MX, 0);
|
RR_ADDR_TYPES, T_MX, 0);
|
||||||
|
if (dummy)
|
||||||
|
dns_rr_free(dummy);
|
||||||
if (dns_status != DNS_OK) { /* incl. DNS_INVAL */
|
if (dns_status != DNS_OK) { /* incl. DNS_INVAL */
|
||||||
if (dns_status != DNS_RETRY)
|
if (dns_status != DNS_RETRY)
|
||||||
return (smtpd_check_reject(state, MAIL_ERROR_POLICY,
|
return (smtpd_check_reject(state, MAIL_ERROR_POLICY,
|
||||||
var_unk_name_code, "4.7.1",
|
var_unk_name_code, "4.7.1",
|
||||||
"<%s>: %s rejected: Host not found",
|
"<%s>: %s rejected: %s",
|
||||||
reply_name, reply_class));
|
reply_name, reply_class,
|
||||||
|
dns_status == DNS_INVAL ?
|
||||||
|
"Malformed DNS server reply" :
|
||||||
|
"Host not found"));
|
||||||
else
|
else
|
||||||
DEFER_IF_PERMIT2(state, MAIL_ERROR_POLICY,
|
DEFER_IF_PERMIT2(state, MAIL_ERROR_POLICY,
|
||||||
450, "4.7.1",
|
450, "4.7.1",
|
||||||
@@ -1177,23 +1183,29 @@ static int reject_unknown_mailhost(SMTPD_STATE *state, const char *name,
|
|||||||
{
|
{
|
||||||
const char *myname = "reject_unknown_mailhost";
|
const char *myname = "reject_unknown_mailhost";
|
||||||
int dns_status;
|
int dns_status;
|
||||||
|
DNS_RR *dummy;
|
||||||
|
|
||||||
if (msg_verbose)
|
if (msg_verbose)
|
||||||
msg_info("%s: %s", myname, name);
|
msg_info("%s: %s", myname, name);
|
||||||
|
|
||||||
#define MAILHOST_LOOKUP_FLAGS (DNS_REQ_FLAG_STOP_OK | DNS_REQ_FLAG_STOP_INVAL)
|
#define MAILHOST_LOOKUP_FLAGS (DNS_REQ_FLAG_STOP_OK | DNS_REQ_FLAG_STOP_INVAL)
|
||||||
|
|
||||||
dns_status = dns_lookup_l(name, 0, (DNS_RR **) 0, (VSTRING *) 0,
|
dns_status = dns_lookup_l(name, 0, &dummy, (VSTRING *) 0,
|
||||||
(VSTRING *) 0, MAILHOST_LOOKUP_FLAGS,
|
(VSTRING *) 0, MAILHOST_LOOKUP_FLAGS,
|
||||||
T_MX, RR_ADDR_TYPES, 0);
|
T_MX, RR_ADDR_TYPES, 0);
|
||||||
|
if (dummy)
|
||||||
|
dns_rr_free(dummy);
|
||||||
if (dns_status != DNS_OK) { /* incl. DNS_INVAL */
|
if (dns_status != DNS_OK) { /* incl. DNS_INVAL */
|
||||||
if (dns_status != DNS_RETRY)
|
if (dns_status != DNS_RETRY)
|
||||||
return (smtpd_check_reject(state, MAIL_ERROR_POLICY,
|
return (smtpd_check_reject(state, MAIL_ERROR_POLICY,
|
||||||
var_unk_addr_code,
|
var_unk_addr_code,
|
||||||
strcmp(reply_class, SMTPD_NAME_SENDER) == 0 ?
|
strcmp(reply_class, SMTPD_NAME_SENDER) == 0 ?
|
||||||
"4.1.8" : "4.1.2",
|
"4.1.8" : "4.1.2",
|
||||||
"<%s>: %s rejected: Domain not found",
|
"<%s>: %s rejected: %s",
|
||||||
reply_name, reply_class));
|
reply_name, reply_class,
|
||||||
|
dns_status == DNS_INVAL ?
|
||||||
|
"Malformed DNS server reply" :
|
||||||
|
"Domain not found"));
|
||||||
else
|
else
|
||||||
DEFER_IF_PERMIT2(state, MAIL_ERROR_POLICY,
|
DEFER_IF_PERMIT2(state, MAIL_ERROR_POLICY,
|
||||||
450, strcmp(reply_class, SMTPD_NAME_SENDER) == 0 ?
|
450, strcmp(reply_class, SMTPD_NAME_SENDER) == 0 ?
|
||||||
|
Reference in New Issue
Block a user