diff --git a/netwerk/dns/TRRService.cpp b/netwerk/dns/TRRService.cpp index b365e69c9671..853ef4e4de80 100644 --- a/netwerk/dns/TRRService.cpp +++ b/netwerk/dns/TRRService.cpp @@ -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); } }