From 6741531cf79cbd3b403b8a52ed07635fe543cd3a Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Mon, 12 Feb 2018 17:29:22 +0000 Subject: [PATCH] ACL: Enforce non-usability of control=utf8_downconvert in MAIL ACL. Bug 2239 --- doc/doc-docbook/spec.xfpt | 10 ++++++++-- doc/doc-txt/ChangeLog | 3 +++ src/src/acl.c | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index 2c783d700..03310fc22 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -39359,7 +39359,7 @@ This will add a component tagged with &"PRX="& to the line. .cindex internationalisation "email address" .cindex EAI .cindex i18n -.cindex UTF-8 "mail name handling" +.cindex utf8 "mail name handling" Exim has support for Internationalised mail names. To include this it must be built with SUPPORT_I18N and the libidn library. @@ -39397,6 +39397,7 @@ form of the name. .cindex log protocol .cindex SMTPUTF8 logging +.cindex i18n logging Log lines and Received-by: header lines will acquire a "utf8" prefix on the protocol element, eg. utf8esmtp. @@ -39408,7 +39409,12 @@ ${utf8_localpart_to_alabel:str} ${utf8_localpart_from_alabel:str} .endd -ACLs may use the following modifier: +.cindex utf8 "address downconversion" +.cindev i18n "utf8 address downconversion" +.new +The RCPT ACL +.wen +may use the following modifier: .display control = utf8_downconvert control = utf8_downconvert/ diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 088c3d358..6dd768c8a 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -96,6 +96,9 @@ JH/17 Bug 2113: Fix conversation closedown with the Avast malware scanner. found indication; now we go on to read the "scan ok" response line, and send a quit. +JH/18 Bug 2239: Enforce non-usability of control=utf8_downconvert in the mail + ACL. Previously, a crash would result. + Exim version 4.90 ----------------- diff --git a/src/src/acl.c b/src/src/acl.c index bc26e2d58..fb8b75bc7 100644 --- a/src/src/acl.c +++ b/src/src/acl.c @@ -523,7 +523,8 @@ static control_def controls_list[] = { }, #ifdef SUPPORT_I18N [CONTROL_UTF8_DOWNCONVERT] = - { US"utf8_downconvert", TRUE, 0 } + { US"utf8_downconvert", TRUE, (unsigned) ~(ACL_BIT_RCPT | ACL_BIT_VRFY) + } #endif }; -- 2.25.1