From a1e6132772816ebf5cced2e02b23bcf637fea40c Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Sat, 7 Mar 2020 21:42:15 +0100 Subject: Issue #1474 - Prevent the cp detection from starting if preffed off. When setting up connectivity, e.g. with new network detection, the pref wouldn't be checked (or honored), resulting in spurious startup calls despite being preffed off. This fixes that. Resolves #1474 --- netwerk/base/nsIOService.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'netwerk/base') diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp index bd9a4a96f..314f2aeff 100644 --- a/netwerk/base/nsIOService.cpp +++ b/netwerk/base/nsIOService.cpp @@ -79,6 +79,7 @@ namespace net { nsIOService* gIOService = nullptr; static bool gHasWarnedUploadChannel2; +static bool gCaptivePortalEnabled = false; static LazyLogModule gIOServiceLog("nsIOService"); #undef LOG #define LOG(args) MOZ_LOG(gIOServiceLog, LogLevel::Debug, args) @@ -1142,7 +1143,7 @@ nsIOService::SetConnectivityInternal(bool aConnectivity) mConnectivity = aConnectivity; if (mCaptivePortalService) { - if (aConnectivity && !xpc::AreNonLocalConnectionsDisabled()) { + if (aConnectivity && !xpc::AreNonLocalConnectionsDisabled() && gCaptivePortalEnabled) { // This will also trigger a captive portal check for the new network static_cast(mCaptivePortalService.get())->Start(); } else { @@ -1285,10 +1286,9 @@ nsIOService::PrefsChanged(nsIPrefBranch *prefs, const char *pref) } if (!pref || strcmp(pref, NETWORK_CAPTIVE_PORTAL_PREF) == 0) { - bool captivePortalEnabled; - nsresult rv = prefs->GetBoolPref(NETWORK_CAPTIVE_PORTAL_PREF, &captivePortalEnabled); + nsresult rv = prefs->GetBoolPref(NETWORK_CAPTIVE_PORTAL_PREF, &gCaptivePortalEnabled); if (NS_SUCCEEDED(rv) && mCaptivePortalService) { - if (captivePortalEnabled && !xpc::AreNonLocalConnectionsDisabled()) { + if (gCaptivePortalEnabled && !xpc::AreNonLocalConnectionsDisabled()) { static_cast(mCaptivePortalService.get())->Start(); } else { static_cast(mCaptivePortalService.get())->Stop(); -- cgit v1.2.3