Commit c03d2408 authored by Robert Liao's avatar Robert Liao Committed by Commit Bot

Revert "IDN Display: Add whole-script-confusable characters for Greek"

This reverts commit de165b66.

Reason for revert: Potentially implicated for browser_tests ErrorPageForIDNTest.IDN failure

First failing run
https://ci.chromium.org/p/chromium/builders/ci/Win10%20Tests%20x64/43723

[ RUN      ] ErrorPageForIDNTest.IDN
../../chrome/browser/net/errorpage_browsertest.cc(1443): error: Value of: IsDisplayingText(browser(), kHostnameJSUnicode)
  Actual: false
Expected: true

Original change's description:
> IDN Display: Add whole-script-confusable characters for Greek
> 
> This CL adds a list of Greek characters that look like Latin
> characters. A domain consisting only of these characters and not
> having a .gr ccTLD or other Greek TLDs such as .ελ will be
> converted to punycode, as is done for other
> whole-script-confusables such as Cyrillic and Hebrew.
> 
> Bug: 722167
> Change-Id: Id0157503c605a6a73eb49147c26b48d5995d1ff2
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1986209
> Commit-Queue: Mustafa Emre Acer <meacer@chromium.org>
> Reviewed-by: Joe DeBlasio <jdeblasio@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#728697}

TBR=meacer@chromium.org,jdeblasio@chromium.org

Change-Id: I01408fe8791d50ce10feeb7656bfd72b9cea105d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 722167
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1989297Reviewed-by: default avatarRobert Liao <robliao@chromium.org>
Commit-Queue: Robert Liao <robliao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#728827}
parent c4ae1b5e
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include "base/strings/string_piece.h" #include "base/strings/string_piece.h"
#include "base/strings/string_split.h" #include "base/strings/string_split.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_local_storage.h" #include "base/threading/thread_local_storage.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "net/base/lookup_string_in_fixed_set.h" #include "net/base/lookup_string_in_fixed_set.h"
...@@ -210,20 +209,12 @@ IDNSpoofChecker::IDNSpoofChecker() { ...@@ -210,20 +209,12 @@ IDNSpoofChecker::IDNSpoofChecker() {
// (Potential set: [ሀሁሃሠሡሰሱሲስበቡቢተቱቲታነከኩኪካኬክዐዑዕዖዘዙዚዛዝዞጠጡጢጣጦፐፒꬁꬂꬅ]) // (Potential set: [ሀሁሃሠሡሰሱሲስበቡቢተቱቲታነከኩኪካኬክዐዑዕዖዘዙዚዛዝዞጠጡጢጣጦፐፒꬁꬂꬅ])
"[[:Ethi:]]", "[[:Ethi:]]",
"[ሀሠሰስበነተከዐዕዘጠፐꬅ]", "[ሀሠሰስበነተከዐዕዘጠፐꬅ]",
{"er", "et"}}, {"er", "et"}}};
{// Greek
"[[:Grek:]]",
// This ignores variants such as ά, έ, ή, ί.
"[αικνρυωηοτ]",
{"gr"}},
};
for (const WholeScriptConfusableData& data : kWholeScriptConfusables) { for (const WholeScriptConfusableData& data : kWholeScriptConfusables) {
auto all_letters = std::make_unique<icu::UnicodeSet>( auto all_letters = std::make_unique<icu::UnicodeSet>(
icu::UnicodeString::fromUTF8(data.script_regex), status); icu::UnicodeString::fromUTF8(data.script_regex), status);
DCHECK(U_SUCCESS(status));
auto latin_lookalikes = std::make_unique<icu::UnicodeSet>( auto latin_lookalikes = std::make_unique<icu::UnicodeSet>(
icu::UnicodeString::fromUTF8(data.latin_lookalike_letters), status); icu::UnicodeString::fromUTF8(data.latin_lookalike_letters), status);
DCHECK(U_SUCCESS(status));
auto script = std::make_unique<WholeScriptConfusable>( auto script = std::make_unique<WholeScriptConfusable>(
std::move(all_letters), std::move(latin_lookalikes), data.allowed_tlds); std::move(all_letters), std::move(latin_lookalikes), data.allowed_tlds);
wholescriptconfusables_.push_back(std::move(script)); wholescriptconfusables_.push_back(std::move(script));
......
...@@ -100,9 +100,7 @@ class IDNSpoofChecker { ...@@ -100,9 +100,7 @@ class IDNSpoofChecker {
const std::vector<std::string>& allowed_tlds); const std::vector<std::string>& allowed_tlds);
~WholeScriptConfusable(); ~WholeScriptConfusable();
// Captures all letters belonging to this script. See kScriptNameCodeList in // Captures all letters belonging to this script.
// blink/renderer/platform/text/locale_to_script_mapping.cc for script
// codes.
std::unique_ptr<icu::UnicodeSet> all_letters; std::unique_ptr<icu::UnicodeSet> all_letters;
// The subset of all_letters that look like Latin ASCII letters. A domain // The subset of all_letters that look like Latin ASCII letters. A domain
// label entirely made of them is blocked as a simplified // label entirely made of them is blocked as a simplified
......
...@@ -1207,11 +1207,6 @@ const IDNTestCase kIdnCases[] = { ...@@ -1207,11 +1207,6 @@ const IDNTestCase kIdnCases[] = {
// Whole-script-confusable in Ethiopic. // Whole-script-confusable in Ethiopic.
{"xn--6xd66aa62c.com", L"ሠዐዐፐ.com", kUnsafe}, {"xn--6xd66aa62c.com", L"ሠዐዐፐ.com", kUnsafe},
{"xn--6xd66aa62c.et", L"ሠዐዐፐ.et", kSafe}, {"xn--6xd66aa62c.et", L"ሠዐዐፐ.et", kSafe},
// Whole-script-confusable in Greek.
{"xn--mxapd.com", L"ικα.com", kUnsafe},
{"xn--mxapd.gr", L"ικα.gr", kSafe},
{"xn--mxapd.xn--qxam", L"ικα.ελ", kSafe},
}; };
namespace test { namespace test {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment