2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-29 13:18:12 +00:00

postfix-2.8.20

This commit is contained in:
Wietse Venema 2015-02-08 00:00:00 -05:00 committed by Viktor Dukhovni
parent 0eb1cb1ce0
commit 18dbd8524c
4 changed files with 27 additions and 5 deletions

View File

@ -17022,3 +17022,15 @@ Apologies for any names omitted.
Cleanup: revert the workaround that places headers inserted Cleanup: revert the workaround that places headers inserted
with PREPEND actions or policy requests BELOW Postfix's own with PREPEND actions or policy requests BELOW Postfix's own
Received: message header. File: smtpd/smtpd.c. Received: message header. File: smtpd/smtpd.c.
20150106
Robustness: don't segfault due to excessive recursion after
a faulty configuration runs into the virtual_alias_recursion_limit.
File: global/tok822_tree.c.
20150115
Safety: stop aliasing loops that exponentially increase the
address length with each iteration. Back-ported from Postfix
3.0. File: cleanup/cleanup_map1n.c.

View File

@ -139,6 +139,15 @@ ARGV *cleanup_map1n_internal(CLEANUP_STATE *state, const char *addr,
if ((lookup = mail_addr_map(maps, STR(state->temp1), propagate)) != 0) { if ((lookup = mail_addr_map(maps, STR(state->temp1), propagate)) != 0) {
saved_lhs = mystrdup(argv->argv[arg]); saved_lhs = mystrdup(argv->argv[arg]);
for (i = 0; i < lookup->argc; i++) { for (i = 0; i < lookup->argc; i++) {
if (strlen(lookup->argv[i]) > var_line_limit) {
msg_warn("%s: unreasonable %s result %.300s... -- "
"message not accepted, try again later",
state->queue_id, maps->title, lookup->argv[i]);
state->errs |= CLEANUP_STAT_DEFER;
UPDATE(state->reason, "4.6.0 Alias expansion error");
UNEXPAND(argv, addr);
RETURN(argv);
}
unquote_822_local(state->temp1, lookup->argv[i]); unquote_822_local(state->temp1, lookup->argv[i]);
if (i == 0) { if (i == 0) {
UPDATE(argv->argv[arg], STR(state->temp1)); UPDATE(argv->argv[arg], STR(state->temp1));

View File

@ -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 "20141019" #define MAIL_RELEASE_DATE "20150208"
#define MAIL_VERSION_NUMBER "2.8.19" #define MAIL_VERSION_NUMBER "2.8.20"
#ifdef SNAPSHOT #ifdef SNAPSHOT
# define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE # define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE

View File

@ -259,11 +259,12 @@ TOK822 *tok822_sub_keep_after(TOK822 *t1, TOK822 *t2)
TOK822 *tok822_free_tree(TOK822 *tp) TOK822 *tok822_free_tree(TOK822 *tp)
{ {
if (tp) { TOK822 *next;
if (tp->next)
tok822_free_tree(tp->next); for (/* void */; tp != 0; tp = next) {
if (tp->head) if (tp->head)
tok822_free_tree(tp->head); tok822_free_tree(tp->head);
next = tp->next;
tok822_free(tp); tok822_free(tp);
} }
return (0); return (0);