2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-09-01 06:35:27 +00:00

postfix-1.1.10-20020514

This commit is contained in:
Wietse Venema
2002-05-14 00:00:00 -05:00
committed by Viktor Dukhovni
parent 5a28d36173
commit f0d9a4857f
6 changed files with 35 additions and 10 deletions

View File

@@ -6435,6 +6435,18 @@ Apologies for any names omitted.
more correct, but it opens a mail relay loophole with "user more correct, but it opens a mail relay loophole with "user
@domain"@domain when relaying mail to a Sendmail system. @domain"@domain when relaying mail to a Sendmail system.
20020514
Bugfix: the new code for header address quoting sometimes
did not null terminate strings so that arbitrary garbage
could appear at the end of message headers. Reported by
Ralf Hildebrandt. File: global/tok822_parse.c.
Safety: user@domain@domain is no longer accepted by the
permit_mx_backup uce restriction (unless Postfix is configured
with "resolve_dequoted_address = no"). Victor Duchovny,
Morgan Stanley. File: smtpd/smtpd_check.c.
Open problems: Open problems:
Low: all table lookups should consistently use internalized Low: all table lookups should consistently use internalized

View File

@@ -12,6 +12,15 @@ snapshot release). Patches change the patchlevel and the release
date. Snapshots change only the release date, unless they include date. Snapshots change only the release date, unless they include
the same bugfixes as a patch release. the same bugfixes as a patch release.
Incompatible changes with Postfix snapshot 1.1.10-20020514
==========================================================
For safety reasons, the permit_mx_backup restriction no longer
accepts mail for user@domain@domain. To recover the old behavior,
specify "resolve_dequoted_address = no" which opens up a completely
different can of worms as described a few paragraphs down in this
document.
Major changes with Postfix snapshot 1.1.9-20020513 Major changes with Postfix snapshot 1.1.9-20020513
================================================== ==================================================

View File

@@ -20,10 +20,10 @@
* 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, unless they include the same bugfix as a patch release. * release date only, unless they include the same bugfix as a patch release.
*/ */
#define MAIL_RELEASE_DATE "20020513" #define MAIL_RELEASE_DATE "20020514"
#define VAR_MAIL_VERSION "mail_version" #define VAR_MAIL_VERSION "mail_version"
#define DEF_MAIL_VERSION "1.1.9-" MAIL_RELEASE_DATE #define DEF_MAIL_VERSION "1.1.10-" MAIL_RELEASE_DATE
extern char *var_mail_version; extern char *var_mail_version;
/* /*

View File

@@ -247,7 +247,7 @@ VSTRING *tok822_externalize(VSTRING *vp, TOK822 *tree, int flags)
*/ */
case TOK822_ADDR: case TOK822_ADDR:
tmp = vstring_alloc(100); tmp = vstring_alloc(100);
tok822_internalize(tmp, tp->head, TOK822_STR_NONE); tok822_internalize(tmp, tp->head, TOK822_STR_TERM);
quote_822_local_flags(vp, vstring_str(tmp), quote_822_local_flags(vp, vstring_str(tmp),
QUOTE_FLAG_8BITCLEAN | QUOTE_FLAG_APPEND); QUOTE_FLAG_8BITCLEAN | QUOTE_FLAG_APPEND);
vstring_free(tmp); vstring_free(tmp);

View File

@@ -351,7 +351,7 @@ static void qmqpd_write_content(QMQPD_STATE *state)
"\tid %s; %s", state->queue_id, mail_date(state->time)); "\tid %s; %s", state->queue_id, mail_date(state->time));
} }
#ifdef RECEIVED_ENVELOPE_FROM #ifdef RECEIVED_ENVELOPE_FROM
quote_822_local(state->buf, state->sender, QUOTE_FLAG_8BITCLEAN); quote_822_local(state->buf, state->sender);
rec_fprintf(state->cleanup, REC_TYPE_NORM, rec_fprintf(state->cleanup, REC_TYPE_NORM,
"\t(envelope-from <%s>)", STR(state->buf)); "\t(envelope-from <%s>)", STR(state->buf));
#endif #endif

View File

@@ -1281,18 +1281,22 @@ static int permit_mx_backup(SMTPD_STATE *state, const char *recipient)
if ((domain = strrchr(CONST_STR(reply->recipient), '@')) == 0) if ((domain = strrchr(CONST_STR(reply->recipient), '@')) == 0)
return (SMTPD_CHECK_OK); return (SMTPD_CHECK_OK);
domain += 1; domain += 1;
/*
* Skip source-routed non-local or virtual mail (uncertain destination).
*/
if (var_allow_untrust_route == 0 && (reply->flags & RESOLVE_FLAG_ROUTED))
return (SMTPD_CHECK_DUNNO);
/*
* The destination is local, or it is a local virtual destination.
*/
if (resolve_final(state, recipient, domain)) if (resolve_final(state, recipient, domain))
return (SMTPD_CHECK_OK); return (SMTPD_CHECK_OK);
if (msg_verbose) if (msg_verbose)
msg_info("%s: not local: %s", myname, recipient); msg_info("%s: not local: %s", myname, recipient);
/*
* Skip source-routed mail (uncertain destination).
*/
if (var_allow_untrust_route == 0 && (reply->flags & RESOLVE_FLAG_ROUTED))
return (SMTPD_CHECK_DUNNO);
/* /*
* Skip numerical forms that didn't match the local system. * Skip numerical forms that didn't match the local system.
*/ */