Auto-apply updates if enabled.

This commit is contained in:
Adam Ierymenko 2017-01-12 13:54:08 -08:00
parent ab25c96821
commit e7bab66d29
2 changed files with 5 additions and 4 deletions

View file

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

View file

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