Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(292)

Issue 2456643005: Reduce buggy usage of the registry controlled domain service. (Closed)

Created:
4 years, 1 month ago by brettw
Modified:
4 years, 1 month ago
Reviewers:
Peter Kasting
CC:
chromium-reviews, mlamouri+watch-content_chromium.org, cbentzel+watch_chromium.org, extensions-reviews_chromium.org, grt+watch_chromium.org, jam, dglazkov+blink, darin-cc_chromium.org, chromium-apps-reviews_chromium.org, blink-reviews, pam+watch_chromium.org, blink-reviews-api_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reduce buggy usage of the registry controlled domain service. GetRegistryLength for host names canonicalizes the input for the caller, but then returns the length in the canonicalized input, which is not necessarily the same as the length in the original string. As a result, computations performed by the caller based on this value can be wrong (see the bug for more). All callers of this function were audited and changed to use on of the following: - Many callers don't need the offsets. A new function HostHasRegistryControlledDomain is added to check for the presence of a R.C.D. without the risk of returning incorrect string lengths. - Many callers already have guaranteed-canonical strings (they came out of a GURL or KURL object soon before the call) These were changed to use a new GetCanonicalHostRegistryLength function. A further advantage is that these calls will be faster. - A new Permissive function is added that handles cases where the input is necessarily non-canonical. Adds an IDN test case to the unit tests. Removes checking for IP addresses in the already-known-canonical cases. This requires a separate full canonicalization and IP addresses should never match the R.C.D. list. Reland of https://codereview.chromium.org/2451353002/ with fix which was a reland of https://codereview.chromium.org/2446273004/ with fix which was a reland of https://codereview.chromium.org/2433583002/ with fix. TBR=pkasting@chromium.org BUG=657199 Committed: https://crrev.com/5a36380ef1e202c3c6be710a4bdcbc9425014c5d Cr-Commit-Position: refs/heads/master@{#428116}

Patch Set 1 #

Patch Set 2 : Fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+656 lines, -269 lines) Patch
M chrome/browser/android/history_report/delta_file_commons.cc View 2 chunks +5 lines, -5 lines 0 comments Download
M chrome/browser/supervised_user/supervised_user_url_filter.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/supervised_user/supervised_user_url_filter.cc View 2 chunks +6 lines, -5 lines 0 comments Download
M chrome/renderer/safe_browsing/phishing_url_feature_extractor.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M components/google/core/browser/google_util.cc View 5 chunks +24 lines, -20 lines 0 comments Download
M components/history/core/browser/history_backend.cc View 1 chunk +1 line, -1 line 0 comments Download
M components/omnibox/browser/autocomplete_input.cc View 1 chunk +1 line, -1 line 0 comments Download
M components/omnibox/browser/history_quick_provider.cc View 1 chunk +7 lines, -8 lines 0 comments Download
M components/omnibox/browser/history_url_provider.cc View 1 chunk +4 lines, -5 lines 0 comments Download
M components/search_engines/template_url_service.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M components/ssl_errors/error_classification.h View 1 chunk +1 line, -1 line 0 comments Download
M components/ssl_errors/error_classification.cc View 5 chunks +7 lines, -10 lines 0 comments Download
M components/ssl_errors/error_classification_unittest.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M components/url_formatter/url_fixer.cc View 1 chunk +8 lines, -13 lines 0 comments Download
M content/renderer/webpublicsuffixlist_impl.h View 1 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/webpublicsuffixlist_impl.cc View 1 1 chunk +7 lines, -4 lines 0 comments Download
M extensions/common/csp_validator.cc View 1 chunk +2 lines, -4 lines 0 comments Download
M extensions/common/manifest_handlers/externally_connectable.cc View 3 chunks +15 lines, -11 lines 0 comments Download
M extensions/common/permissions/permission_message_util.cc View 1 chunk +5 lines, -4 lines 0 comments Download
M extensions/common/url_pattern.cc View 1 chunk +11 lines, -15 lines 0 comments Download
M net/base/registry_controlled_domains/effective_tld_names_unittest1.gperf View 1 chunk +1 line, -0 lines 0 comments Download
M net/base/registry_controlled_domains/registry_controlled_domain.h View 2 chunks +53 lines, -5 lines 0 comments Download
M net/base/registry_controlled_domains/registry_controlled_domain.cc View 3 chunks +173 lines, -14 lines 0 comments Download
M net/base/registry_controlled_domains/registry_controlled_domain_unittest.cc View 8 chunks +203 lines, -104 lines 0 comments Download
M net/base/url_util.cc View 1 chunk +3 lines, -4 lines 0 comments Download
M net/cert/cert_verify_proc.cc View 1 chunk +3 lines, -5 lines 0 comments Download
M net/cert/x509_certificate.cc View 1 chunk +1 line, -1 line 0 comments Download
M url/url_canon.h View 1 chunk +27 lines, -0 lines 0 comments Download
M url/url_canon_host.cc View 4 chunks +35 lines, -18 lines 0 comments Download
M url/url_canon_unittest.cc View 1 chunk +44 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (2 generated)
brettw
Fix
4 years, 1 month ago (2016-10-27 17:49:56 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2456643005/20001
4 years, 1 month ago (2016-10-27 17:50:35 UTC) #3
brettw
Apparently Blink sends non-canonical hosts. I reverted the changes in Blink that documented it was ...
4 years, 1 month ago (2016-10-27 17:50:45 UTC) #4
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 1 month ago (2016-10-27 19:52:20 UTC) #5
commit-bot: I haz the power
4 years, 1 month ago (2016-10-27 20:00:19 UTC) #7
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/5a36380ef1e202c3c6be710a4bdcbc9425014c5d
Cr-Commit-Position: refs/heads/master@{#428116}

Powered by Google App Engine
This is Rietveld 408576698