Bug 1574410 - Directly put the host of captive portal URL to TRR black list r=mt

Differential Revision: https://phabricator.services.mozilla.com/D42280

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Kershaw Chang 2019-08-23 20:23:12 +00:00
parent b54d529639
commit fee6e1a70f

View File

@ -291,6 +291,16 @@ nsresult TRRService::ReadPrefs(const char* name) {
!strcmp(name, kCaptivedetectCanonicalURL)) {
nsAutoCString excludedDomains;
Preferences::GetCString(TRR_PREF("excluded-domains"), excludedDomains);
mExcludedDomains.Clear();
nsCCharSeparatedTokenizer tokenizer(
excludedDomains, ',', nsCCharSeparatedTokenizer::SEPARATOR_OPTIONAL);
while (tokenizer.hasMoreTokens()) {
nsAutoCString token(tokenizer.nextToken());
LOG(("TRRService::ReadPrefs excluded-domains host:[%s]\n", token.get()));
mExcludedDomains.PutEntry(token);
}
nsAutoCString canonicalSiteURL;
Preferences::GetCString(kCaptivedetectCanonicalURL, canonicalSiteURL);
@ -300,20 +310,9 @@ nsresult TRRService::ReadPrefs(const char* name) {
if (NS_SUCCEEDED(rv)) {
nsAutoCString host;
uri->GetHost(host);
if (!excludedDomains.IsEmpty() && excludedDomains.Last() != ',') {
excludedDomains.AppendLiteral(",");
}
excludedDomains.Append(host);
}
mExcludedDomains.Clear();
nsCCharSeparatedTokenizer tokenizer(
excludedDomains, ',', nsCCharSeparatedTokenizer::SEPARATOR_OPTIONAL);
while (tokenizer.hasMoreTokens()) {
nsAutoCString token(tokenizer.nextToken());
LOG(("TRRService::ReadPrefs excluded-domains host:[%s]\n", token.get()));
mExcludedDomains.PutEntry(token);
LOG(("TRRService::ReadPrefs excluded-domains captive portal URL:[%s]\n",
host.get()));
mExcludedDomains.PutEntry(host);
}
}