ACL: Enforce non-usability of control=utf8_downconvert in MAIL ACL. Bug 2239
authorJeremy Harris <jgh146exb@wizmail.org>
Mon, 12 Feb 2018 17:29:22 +0000 (17:29 +0000)
committerJeremy Harris <jgh146exb@wizmail.org>
Mon, 12 Feb 2018 17:29:22 +0000 (17:29 +0000)
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
src/src/acl.c

index 2c783d700ed5982bf8541a0f22d9af78517594b1..03310fc22c985b21d972ede9dc134c1f91516263 100644 (file)
@@ -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/<value>
index 088c3d358c55bdaa3c466474bdc1646a5cc7265b..6dd768c8a7492b4bb559bdbb6b945694e32c6b10 100644 (file)
@@ -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
 -----------------
index bc26e2d5814bb13a4a4d3809c2d84324be848b70..fb8b75bc7b28c72e489b465c83de23336f50a900 100644 (file)
@@ -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
 };