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

Unified Diff: chrome/browser/ssl/ssl_error_classification.h

Issue 1223233002: Common Name Mismatch Handler For WWW Subdomain Mismatch case (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Resolved comments, added UMA Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ssl/ssl_error_classification.h
diff --git a/chrome/browser/ssl/ssl_error_classification.h b/chrome/browser/ssl/ssl_error_classification.h
index 2eda135dfb616681c3a8c77120c7eee52067e927..164eaf01625a4a38e65b98c9cbf7cfc40244668c 100644
--- a/chrome/browser/ssl/ssl_error_classification.h
+++ b/chrome/browser/ssl/ssl_error_classification.h
@@ -72,6 +72,19 @@ class SSLErrorClassification : public content::NotificationObserver {
void RecordCaptivePortalUMAStatistics(bool overridable) const;
base::TimeDelta TimePassedSinceExpiry() const;
+ // Returns true if the site's hostname differs from one of the DNS
+ // names in the certificate (CN or SANs) only by the presence or
+ // absence of the single-label prefix "www". E.g.: (The first domain
+ // is hostname and the second domain is a DNS name in the certificate)
+ //
+ // www.example.com ~ example.com -> true
+ // example.com ~ www.example.com -> true
+ // www.food.example.com ~ example.com -> false
+ // mail.example.com ~ example.com -> false
+ static bool GetWWWSubDomainMatch(const std::string& host_name,
+ const std::vector<std::string>& dns_names,
+ std::string* www_match_host_name);
+
private:
FRIEND_TEST_ALL_PREFIXES(SSLErrorClassificationTest, TestDateInvalidScore);
FRIEND_TEST_ALL_PREFIXES(SSLErrorClassificationTest, TestNameMismatch);
@@ -83,14 +96,7 @@ class SSLErrorClassification : public content::NotificationObserver {
// Returns true if the hostname has a known Top Level Domain.
static bool IsHostNameKnownTLD(const std::string& host_name);
- // Returns true if the site's hostname differs from one of the DNS
- // names in the certificate (CN or SANs) only by the presence or
- // absence of the single-label prefix "www". E.g.:
- //
- // www.example.com ~ example.com -> true
- // example.com ~ www.example.com -> true
- // www.food.example.com ~ example.com -> false
- // mail.example.com ~ example.com -> false
+ // Returns true if GetWWWSubDomainMatch finds a www mismatch.
bool IsWWWSubDomainMatch() const;
// Returns true if |child| is a subdomain of any of the |potential_parents|.

Powered by Google App Engine
This is Rietveld 408576698