From 982650eceba2e54d2022f92b142b85fa083d3d13 Mon Sep 17 00:00:00 2001 From: Todd Lyons Date: Tue, 15 Apr 2014 13:10:59 -0700 Subject: [PATCH] Add back deprecated SPF error conditions Previous patch introduced a change that could break existing SPF configurations. Add back the two non-standard "err_temp" and "err_perm" result values, with note that it is deprecated and will be removed in a future release. --- doc/doc-txt/ChangeLog | 6 ++++-- doc/doc-txt/experimental-spec.txt | 6 +++++- src/src/spf.c | 6 ++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 0d4652bd2..e41dc3e02 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -42,8 +42,10 @@ TL/04 Add verify = header_names_ascii check to reject email with non-ASCII Contributed by Michael Fischer v. Mollard. TL/05 Rename SPF condition results err_perm and err_temp to standardized - results permerror and temperror. Is a backward incompatibility if - the ACL tests for either of these two results. Patch contributed by + results permerror and temperror. Previous values are deprecated but + still accepted. In a future release, err_perm and err_temp will be + completely removed, which will be a backward incompatibility if the + ACL tests for either of these two old results. Patch contributed by user bes-internal on the mailing list. JH/04 Add ${utf8clean:} operator. Contributed by Alex Rau. diff --git a/doc/doc-txt/experimental-spec.txt b/doc/doc-txt/experimental-spec.txt index d0503d9e8..265e1211b 100644 --- a/doc/doc-txt/experimental-spec.txt +++ b/doc/doc-txt/experimental-spec.txt @@ -460,9 +460,13 @@ which the spf condition should succeed. Valid strings are: processing, including Exim's SPF processing. You may defer messages when this occurs. (Changed in 4.83) + o err_temp Same as permerror, deprecated in 4.83, will be + removed in a future release. + o err_perm Same as temperror, deprecated in 4.83, will be + removed in a future release. You can prefix each string with an exclamation mark to invert -is meaning, for example "!fail" will match all results but +its meaning, for example "!fail" will match all results but "fail". The string list is evaluated left-to-right, in a short-circuit fashion. When a string matches the outcome of the SPF check, the condition succeeds. If none of the listed diff --git a/src/src/spf.c b/src/src/spf.c index 4f0094fc4..0f215e3b5 100644 --- a/src/src/spf.c +++ b/src/src/spf.c @@ -19,8 +19,10 @@ static spf_result_id spf_result_id_list[] = { { US"fail", 3 }, { US"softfail", 4 }, { US"none", 5 }, - { US"temperror", 6 }, - { US"permerror", 7 } + { US"err_temp", 6 }, /* Deprecated Apr 2014 */ + { US"err_perm", 7 }, /* Deprecated Apr 2014 */ + { US"temperror", 6 }, /* RFC 4408 defined */ + { US"permerror", 7 } /* RFC 4408 defined */ }; SPF_server_t *spf_server = NULL; -- 2.30.2