Projects
Extra
chromium-ffmpeg-extra
chromium-icu72-2.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File chromium-icu72-2.patch of Package chromium-ffmpeg-extra
From 103e1ff08c00590be56c98aa5647e92c7fa78631 Mon Sep 17 00:00:00 2001 From: Mustafa Emre Acer <meacer@chromium.org> Date: Fri, 18 Nov 2022 22:52:00 +0000 Subject: [PATCH] IDN Spoof Checks: Disallow ZWJ and ZWNJ in ICU versions below 72 ICU 72 updates to Unicode 15 which changes the zero width joiner (ZWJ) and zero width non-joiner (ZWNJ) characters from Identifier_Status=Allowed to Identifier_Status=Restricted. These characters are therefore no longer allowed by default in ICU 72. crbug/694157 recently implemented Non-Transitional IDNA 2008 behind a flag. ZWJ and ZWNJ are disallowed in Transitional Mode but allowed in Non-Transitional Mode, so the test cases with the Non-Transitional Mode enabled fail in ICU 72. This CL removes ZWJ and ZWNJ from the allowed identifiers set for ICU versions below 72. This effectively disables these characters even in Non-Transitional Mode. This is a temporary fix. Once ICU 72 is rolled out, we should check if we can use UIDNA_CHECK_CONTEXTJ and explicitly add ZWJ and ZWNJ to the allowed sets again. Bug: 1386204, 694157 Change-Id: I606c43b9d94fea0f2331e5aed530f633bb94517c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4038542 Reviewed-by: Frank Tang <ftang@chromium.org> Commit-Queue: Mustafa Emre Acer <meacer@chromium.org> Cr-Commit-Position: refs/heads/main@{#1073605} --- .../spoof_checks/idn_spoof_checker.cc | 9 ++++++ .../idn_spoof_checker_unittest.cc | 28 +++++++++++-------- 2 files changed, 25 insertions(+), 12 deletions(-) Index: chromium-110.0.5481.38/components/url_formatter/spoof_checks/idn_spoof_checker.cc =================================================================== --- chromium-110.0.5481.38.orig/components/url_formatter/spoof_checks/idn_spoof_checker.cc +++ chromium-110.0.5481.38/components/url_formatter/spoof_checks/idn_spoof_checker.cc @@ -722,6 +722,15 @@ void IDNSpoofChecker::SetAllowedUnicodeS allowed_set.remove(0x200Du); // Zero Width Joiner #endif +#if U_ICU_VERSION_MAJOR_NUM < 72 + // Unicode 15 changes ZWJ and ZWNJ from allowed to restricted. Restrict them + // in lower versions too. This only relevant in Non-Transitional Mode as + // Transitional Mode maps these characters out. + // TODO(crbug.com/1386204): Remove these after ICU 72 is rolled out. + allowed_set.remove(0x200Cu); // Zero Width Non-Joiner + allowed_set.remove(0x200Du); // Zero Width Joiner +#endif + uspoof_setAllowedUnicodeSet(checker_, &allowed_set, status); }
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.