summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2017-01-12 13:54:08 -0800
committerAdam Ierymenko <adam.ierymenko@gmail.com>2017-01-12 13:54:08 -0800
commite7bab66d291acdd627e3bcfe434792ce360483b0 (patch)
tree5f89983938b18c78c7407c49f56f596c00cac43c
parentab25c968212e402a2b2b8d562f3affac9e8717b9 (diff)
downloadinfinitytier-e7bab66d291acdd627e3bcfe434792ce360483b0.tar.gz
infinitytier-e7bab66d291acdd627e3bcfe434792ce360483b0.zip
Auto-apply updates if enabled.
-rw-r--r--service/OneService.cpp3
-rw-r--r--service/SoftwareUpdater.cpp6
2 files changed, 5 insertions, 4 deletions
diff --git a/service/OneService.cpp b/service/OneService.cpp
index 697be24a..b273aad4 100644
--- a/service/OneService.cpp
+++ b/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)
diff --git a/service/SoftwareUpdater.cpp b/service/SoftwareUpdater.cpp
index f10eb204..0f5b4fca 100644
--- a/service/SoftwareUpdater.cpp
+++ b/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()