bug 1457005 - TRR: reset confirmation state machine on prefs update r?mcmanus draft
authorDaniel Stenberg <daniel@haxx.se>
Thu, 26 Apr 2018 00:07:31 +0200
changeset 788076 ded4146f949aa930c2fdc14f22493d0257976e0a
parent 787539 6eeb97ca94f40189d5aa552da9e0b0b11bfa0441
push id107893
push userbmo:daniel@haxx.se
push dateWed, 25 Apr 2018 22:10:43 +0000
reviewersmcmanus
bugs1457005
milestone61.0a1
bug 1457005 - TRR: reset confirmation state machine on prefs update r?mcmanus If the confirmation state machine has gone into FAILED mode, updated prefs is reason enough to try again and possibly get TRR verified proper. MozReview-Commit-ID: ALRbNJdvxdn
netwerk/dns/TRRService.cpp
--- a/netwerk/dns/TRRService.cpp
+++ b/netwerk/dns/TRRService.cpp
@@ -267,19 +267,20 @@ TRRService::Observe(nsISupports *aSubjec
                     const char * aTopic,
                     const char16_t * aData)
 {
   MOZ_ASSERT(NS_IsMainThread(), "wrong thread");
   LOG(("TRR::Observe() topic=%s\n", aTopic));
   if (!strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID)) {
     ReadPrefs(NS_ConvertUTF16toUTF8(aData).get());
 
-    if ((mConfirmationState == CONFIRM_INIT) &&
-        !mBootstrapAddr.IsEmpty() &&
-        (mMode == MODE_TRRONLY)) {
+    if (((mConfirmationState == CONFIRM_INIT) &&
+         !mBootstrapAddr.IsEmpty() &&
+         (mMode == MODE_TRRONLY))  ||
+        (mConfirmationState == CONFIRM_FAILED)) {
       mConfirmationState = CONFIRM_TRYING;
       MaybeConfirm();
     }
 
   } else if (!strcmp(aTopic, kOpenCaptivePortalLoginEvent)) {
     // We are in a captive portal
     LOG(("TRRservice in captive portal\n"));
     mCaptiveIsPassed = false;