| Index: omaha_request_params.cc
|
| diff --git a/omaha_request_params.cc b/omaha_request_params.cc
|
| index eaff3d36a6659dfbf6f9f3adbf8d48c3c2ed182b..ed80060b5f0d944e344923bf60a8e23f64418dc6 100644
|
| --- a/omaha_request_params.cc
|
| +++ b/omaha_request_params.cc
|
| @@ -38,27 +38,29 @@ const char* const OmahaRequestParams::kUpdateUrl(
|
| static const char kHWIDPath[] = "/sys/devices/platform/chromeos_acpi/HWID";
|
|
|
| OmahaRequestDeviceParams::OmahaRequestDeviceParams() :
|
| - force_build_type_(false),
|
| - forced_official_build_(false) {}
|
| + force_lock_down_(false),
|
| + forced_lock_down_(false) {}
|
|
|
| bool OmahaRequestDeviceParams::Init(const std::string& in_app_version,
|
| const std::string& in_update_url) {
|
| + bool stateful_override = !ShouldLockDown();
|
| os_platform = OmahaRequestParams::kOsPlatform;
|
| os_version = OmahaRequestParams::kOsVersion;
|
| app_version = in_app_version.empty() ?
|
| - GetLsbValue("CHROMEOS_RELEASE_VERSION", "", NULL, true) : in_app_version;
|
| + GetLsbValue("CHROMEOS_RELEASE_VERSION", "", NULL, stateful_override) :
|
| + in_app_version;
|
| os_sp = app_version + "_" + GetMachineType();
|
| - os_board = GetLsbValue("CHROMEOS_RELEASE_BOARD", "", NULL, true);
|
| + os_board = GetLsbValue("CHROMEOS_RELEASE_BOARD", "", NULL, stateful_override);
|
| app_id = GetLsbValue("CHROMEOS_RELEASE_APPID",
|
| OmahaRequestParams::kAppId,
|
| NULL,
|
| - true);
|
| + stateful_override);
|
| app_lang = "en-US";
|
| app_track = GetLsbValue(
|
| kUpdateTrackKey,
|
| "",
|
| &chromeos_update_engine::OmahaRequestDeviceParams::IsValidTrack,
|
| - true);
|
| + true); // stateful_override
|
| hardware_class = GetHardwareClass();
|
| struct stat stbuf;
|
|
|
| @@ -81,15 +83,15 @@ bool OmahaRequestDeviceParams::Init(const std::string& in_app_version,
|
| const string rootfs_track = GetLsbValue(
|
| kUpdateTrackKey,
|
| "",
|
| - &chromeos_update_engine::OmahaRequestDeviceParams::IsValidTrack,
|
| - false);
|
| + NULL, // No need to validate the read-only rootfs track.
|
| + false); // stateful_override
|
| delta_okay = delta_okay && rootfs_track == app_track;
|
|
|
| update_url = in_update_url.empty() ?
|
| GetLsbValue("CHROMEOS_AUSERVER",
|
| OmahaRequestParams::kUpdateUrl,
|
| NULL,
|
| - true) :
|
| + stateful_override) :
|
| in_update_url;
|
| return true;
|
| }
|
| @@ -173,8 +175,11 @@ string OmahaRequestDeviceParams::GetHardwareClass() const {
|
| return hwid;
|
| }
|
|
|
| -bool OmahaRequestDeviceParams::IsOfficialBuild() const {
|
| - return force_build_type_ ? forced_official_build_ : utils::IsOfficialBuild();
|
| +bool OmahaRequestDeviceParams::ShouldLockDown() const {
|
| + if (force_lock_down_) {
|
| + return forced_lock_down_;
|
| + }
|
| + return utils::IsOfficialBuild() && utils::IsNormalBootMode();
|
| }
|
|
|
| bool OmahaRequestDeviceParams::IsValidTrack(const std::string& track) const {
|
| @@ -183,7 +188,7 @@ bool OmahaRequestDeviceParams::IsValidTrack(const std::string& track) const {
|
| "beta-channel",
|
| "dev-channel",
|
| };
|
| - if (!IsOfficialBuild()) {
|
| + if (!ShouldLockDown()) {
|
| return true;
|
| }
|
| for (size_t t = 0; t < arraysize(kValidTracks); ++t) {
|
| @@ -194,9 +199,9 @@ bool OmahaRequestDeviceParams::IsValidTrack(const std::string& track) const {
|
| return false;
|
| }
|
|
|
| -void OmahaRequestDeviceParams::SetBuildTypeOfficial(bool is_official) {
|
| - force_build_type_ = true;
|
| - forced_official_build_ = is_official;
|
| +void OmahaRequestDeviceParams::SetLockDown(bool lock) {
|
| + force_lock_down_ = true;
|
| + forced_lock_down_ = lock;
|
| }
|
|
|
| } // namespace chromeos_update_engine
|
|
|