Sfoglia il codice sorgente

Auto-apply updates if enabled.

Adam Ierymenko 8 anni fa
parent
commit
e7bab66d29
2 ha cambiato i file con 5 aggiunte e 4 eliminazioni
  1. 2 1
      service/OneService.cpp
  2. 3 3
      service/SoftwareUpdater.cpp

+ 2 - 1
service/OneService.cpp

@@ -722,7 +722,8 @@ public:
 				// Check for updates (if enabled)
 				if ((_updater)&&((now - lastUpdateCheck) > 10000)) {
 					lastUpdateCheck = now;
-					_updater->check(now);
+					if (_updater->check(now) && _updateAutoApply)
+						_updater->apply();
 				}
 
 				// Refresh bindings in case device's interfaces have changed, and also sync routes to update any shadow routes (e.g. shadow default)

+ 3 - 3
service/SoftwareUpdater.cpp

@@ -450,7 +450,7 @@ bool SoftwareUpdater::check(const uint64_t now)
 	if (_latestBinLength > 0) {
 		if (_latestBin.length() >= _latestBinLength) {
 			if (_latestBinValid) {
-				return _latestMeta;
+				return true;
 			} else {
 				// This is the very important security validation part that makes sure
 				// this software update doesn't have cooties.
@@ -466,7 +466,7 @@ bool SoftwareUpdater::check(const uint64_t now)
 							// If we passed both of these, the update is good!
 							_latestBinValid = true;
 							printf("VALID UPDATE\n%s\n",OSUtils::jsonDump(_latestMeta).c_str());
-							return _latestMeta;
+							return true;
 						}
 					}
 				} catch ( ... ) {} // any exception equals verification failure
@@ -488,7 +488,7 @@ bool SoftwareUpdater::check(const uint64_t now)
 		}
 	}
 
-	return nlohmann::json();
+	return false;
 }
 
 void SoftwareUpdater::apply()