From: Wietse Venema Date: Sun, 30 Jul 2017 05:00:00 +0000 (-0500) Subject: postfix-3.3-20170730 X-Git-Tag: v3.3.0-RC1~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0e21bf0c1546f21631ab7144dad0889dd2e4802;p=thirdparty%2Fpostfix.git postfix-3.3-20170730 --- diff --git a/postfix/HISTORY b/postfix/HISTORY index b13cc1c05..432d6980b 100644 --- a/postfix/HISTORY +++ b/postfix/HISTORY @@ -23110,3 +23110,10 @@ Apologies for any names omitted. cleanup_out_recipient.c, global/mail_params.c, global/mail_copy.c, proto/postconf.proto proto/ADDRESS_VERIFICATION_README.html, local/local.c, virtual/virtual.c, pipe/pipe.c. + +20170730 + + Bugfix (introduced: yesterday): revert global/verify.c code + to always store the verify result under the original address, + and to conditionally store it under the rewritten address. + File: global/verify.c. diff --git a/postfix/src/global/mail_version.h b/postfix/src/global/mail_version.h index 5cf59b990..9e45f2ea8 100644 --- a/postfix/src/global/mail_version.h +++ b/postfix/src/global/mail_version.h @@ -20,7 +20,7 @@ * Patches change both the patchlevel and the release date. Snapshots have no * patchlevel; they change the release date only. */ -#define MAIL_RELEASE_DATE "20170729" +#define MAIL_RELEASE_DATE "20170730" #define MAIL_VERSION_NUMBER "3.3" #ifdef SNAPSHOT diff --git a/postfix/src/global/verify.c b/postfix/src/global/verify.c index 67ba31b82..fbb8930f7 100644 --- a/postfix/src/global/verify.c +++ b/postfix/src/global/verify.c @@ -100,13 +100,14 @@ int verify_append(const char *queue_id, MSG_STATS *stats, * XXX vrfy_stat is competely redundant because of dsn. */ if (var_verify_neg_cache || vrfy_stat == DEL_RCPT_STAT_OK) { - req_stat = verify_clnt_update(recipient->address, vrfy_stat, - my_dsn.reason); - /* Two verify updates for one verify request! */ - if (req_stat == VRFY_STAT_OK && recipient->orig_addr[0] - && strcasecmp_utf8(recipient->address, recipient->orig_addr) != 0) + if (recipient->orig_addr[0]) req_stat = verify_clnt_update(recipient->orig_addr, vrfy_stat, my_dsn.reason); + /* Two verify updates for one verify request! */ + if (req_stat == VRFY_STAT_OK + && strcmp(recipient->address, recipient->orig_addr) != 0) + req_stat = verify_clnt_update(recipient->address, vrfy_stat, + my_dsn.reason); } else { my_dsn.action = "undeliverable-but-not-cached"; req_stat = VRFY_STAT_OK;