Implement the update engine portion for new enterprise policies.
Enterprises need the ability to stop the auto updates and pin clients
to a given target version. This CL adds support for these features in
the update_engine.
BUG=27307: Implement StopAutoUpdate based on enterprise policy
TEST=Added new unit tests, manually tested all cases on ZGB.
CQ-DEPEND=I523c3f67e0cb07fd24744dc0a30382ff2fe2128a
Change-Id: Id576401afc6d2c93f0e9ece7c6c0ddcf4b1bc00d
Reviewed-on: https://gerrit.chromium.org/gerrit/17867
Commit-Ready: Jay Srinivasan <jaysri@chromium.org>
Reviewed-by: Jay Srinivasan <jaysri@chromium.org>
Tested-by: Jay Srinivasan <jaysri@chromium.org>
diff --git a/omaha_request_params.h b/omaha_request_params.h
index da091c0..482a8b7 100644
--- a/omaha_request_params.h
+++ b/omaha_request_params.h
@@ -18,8 +18,14 @@
// This struct encapsulates the data Omaha gets for the request.
// These strings in this struct should not be XML escaped.
struct OmahaRequestParams {
+
OmahaRequestParams()
- : os_platform(kOsPlatform), os_version(kOsVersion), app_id(kAppId) {}
+ : os_platform(kOsPlatform),
+ os_version(kOsVersion),
+ app_id(kAppId),
+ delta_okay(true),
+ update_disabled(false) {}
+
OmahaRequestParams(const std::string& in_os_platform,
const std::string& in_os_version,
const std::string& in_os_sp,
@@ -29,8 +35,10 @@
const std::string& in_app_lang,
const std::string& in_app_track,
const std::string& in_hardware_class,
- const bool in_delta_okay,
- const std::string& in_update_url)
+ bool in_delta_okay,
+ const std::string& in_update_url,
+ bool in_update_disabled,
+ const std::string& in_target_version_prefix)
: os_platform(in_os_platform),
os_version(in_os_version),
os_sp(in_os_sp),
@@ -41,7 +49,9 @@
app_track(in_app_track),
hardware_class(in_hardware_class),
delta_okay(in_delta_okay),
- update_url(in_update_url) {}
+ update_url(in_update_url),
+ update_disabled(in_update_disabled),
+ target_version_prefix(in_target_version_prefix) {}
std::string os_platform;
std::string os_version;
@@ -58,6 +68,9 @@
static const char kUpdateTrackKey[];
+ bool update_disabled;
+ std::string target_version_prefix;
+
// Suggested defaults
static const char* const kAppId;
static const char* const kOsPlatform;