a3cf75a1d01aeb03d2341600ebff3db0a8316200 |
|
20-Jan-2016 |
Alex Vakulenko <avakulenko@google.com> |
update_engine: Update libchrome APIs to r369476 The new libchrome has been ported from Chromium and some APIs have changed. Make necessary changes at call sites. (cherry picked from commit 0103c36caa2e38e034e0d22185736b9ccfb35c58) Change-Id: I3dedd8b3f6e92ce8d3eeef99a76ad876c29db304
/system/update_engine/omaha_response.h
|
aea4c1cea20dda7ae7e85fc8924a2d784f70d806 |
|
20-Aug-2015 |
Alex Deymo <deymo@google.com> |
Re-license update_engine to Apache2 This patch automatically replaced the license on all text files from Chromium OS (BSD style) to AOSP (Apache2), keeping the original year as a reference. The license header was added to .gyp and .gypi files, the NOTICE was replaced with a copy of the Apache2 license and MODULE_LICENSE_* file was updated. BUG=b/23084294 TEST=grep 'Chromium OS Authors' doesn't find anything. Change-Id: Ie5083750755f5180a8a785b24fe67dbf9195cd10
/system/update_engine/omaha_response.h
|
8e18f931f634d7c3b3a5fcbfc057e79fa9d6fb80 |
|
28-Mar-2015 |
Alex Deymo <deymo@chromium.org> |
update_engine: Add Cohort, CohortName, CohortHint to Omaha protocol. This patch persists and sends back to omaha the cohort, cohorthint and cohortname arguments in the <app> tag. To avoid problems, these strings are limited to 1024 chars. BUG=chromium:448995 TEST=unittest added. Change-Id: I05e7677ee43ab795b670b274d3984803cb6b9522 Reviewed-on: https://chromium-review.googlesource.com/262967 Trybot-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org>
/system/update_engine/omaha_response.h
|
072359ca138504065e1e0c1189eb38c09576d324 |
|
18-Jul-2014 |
Alex Vakulenko <avakulenko@chromium.org> |
update_engine: fixed remaining linter and some spelling errors Fixed remaining errors from cpplint as well as some spelling errors mostly in comments. BUG=None TEST=FEATURES=test emerge-link update_engine Change-Id: I484988ab846ac5a3c68c016ddccfb247f225ec27 Reviewed-on: https://chromium-review.googlesource.com/208897 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Alex Vakulenko <avakulenko@chromium.org> Tested-by: Alex Vakulenko <avakulenko@chromium.org>
/system/update_engine/omaha_response.h
|
cf175a098081f3f0e9ca52d997a7ce1585c14c2d |
|
11-Jul-2014 |
Gilad Arnold <garnold@chromium.org> |
Fix cpplint errors. The only non-obvious change here is the switch from dynamic_cast to static_cast in three cases of down-casting in UpdateAttempter. dynamic_cast is banned by style, nor does it add any safety in this particular case (subsequent code dereferences the result right away without checking whether it's null). BUG=None TEST=None Change-Id: I9d49b46362feaf9c6fa13b2715ebe9fe50308a9a Reviewed-on: https://chromium-review.googlesource.com/207470 Tested-by: Gilad Arnold <garnold@chromium.org> Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Commit-Queue: Gilad Arnold <garnold@chromium.org>
/system/update_engine/omaha_response.h
|
759c275760b51defcfe5545abb887ad2616335f4 |
|
18-Mar-2014 |
Alex Deymo <deymo@chromium.org> |
Fix header guards to comply with Google Coding Style. The Google Style Guide says that every header file should have a define guard and the format of the symbol name should be <PROJECT>_<PATH>_<FILE>_H_ This patch does all the minor fixes to comply with this and includes a header guard for the bzip.h file, which didn't have it. Also, the Copyright notice is adjusted to the Chromium OS code, replacing "Chromium Authors" by "Chromium OS Authors". BUG=None TEST=build passes. Change-Id: I6575cc307c464d60a5cb2b132cf1e46acb6500b5 Reviewed-on: https://chromium-review.googlesource.com/190445 Tested-by: Alex Deymo <deymo@chromium.org> Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org>
/system/update_engine/omaha_response.h
|
639aa36fc7e27ba400402cd7a32b091f555783a6 |
|
04-Feb-2014 |
David Zeuthen <zeuthen@chromium.org> |
Record installation date and include it in every Omaha request. Introduce a new state variable, install-date-days, to track the the point in time that OOBE completed and include this value - if set - in each Omaha request. This state variable tracks the number of PST8PDT ("Pacific Time") calendar weeks since Jan 1st 2007 0:00 PST, times seven. It is included as an attribute of the <app> element, like this: <app appid="{...}" ... delta_okay="true" ... installdate="2590"> If the state variable is not set, the installdate attribute is not included. For new installs (e.g. where OOBE is not complete), the install-date-days variable is set from the "elapsed_days" value in the Omaha response. In this case - which should be the majority going forward - we don't rely on the local clock on the device at all. On the other hand, for existing installs (e.g. where OOBE was completed in an OS version not including this CL) and also new installs where the update-check during OOBE failed (e.g. no network connection), install-date-days is derived from the timestamp of the /home/chronos/.oobe_completed marker file. This case obviously relies on the local clock on the device being set correctly. Also introduce a new metric, Installer.InstallDateProvisioningSource to track how install-date-days is provisioned. This metric has two possible values, kProvisionedFromOmahaResponse (0) and kProvisionedFromOOBEMarker (1). In addition to new unit tests, I tested this manually by munging the /home/chronos/.oobe_completed and /var/lib/update_engine/prefs/install-date-days files. Also, since devserver does not send the "elapsed_days" value, I had to point update_engine to the official Omaha server using the -omaha-url option with the https://tools.google.com/service/update2 value. BUG=chromium:336838 TEST=New unit tests + unit tests pass + manual testing. Change-Id: Id901059c4ab0f9184d1f4ddce72273d739e58224 Reviewed-on: https://chromium-review.googlesource.com/184907 Tested-by: David Zeuthen <zeuthen@chromium.org> Reviewed-by: David Zeuthen <zeuthen@chromium.org> Commit-Queue: David Zeuthen <zeuthen@chromium.org>
/system/update_engine/omaha_response.h
|
e7f8917f378773fbfee0b2d21f1cb6b3ba8bdcab |
|
31-Oct-2013 |
David Zeuthen <zeuthen@chromium.org> |
Add support for using public key sent by Omaha. This adds support for Omaha to specify what RSA public to use for verifying both the metadata hash signature and the payload itself. For security reasons, we only allow this for non-official builds e.g. for official builds we keep using the key stored on the root file-system. Also, if the key is specified in the Omaha response then we make hash checks mandatory; e.g. if the signatures don't check out, fail the update. See CL:175283 for the devserver changes to transmit the public key and signed metadata hash. BUG=chromium:264352 TEST=New unit tests + unit tests pass + manual testing. Change-Id: I709be02662a484c6284bb78683b973554e482928 Reviewed-on: https://chromium-review.googlesource.com/175285 Reviewed-by: Don Garrett <dgarrett@chromium.org> Commit-Queue: David Zeuthen <zeuthen@chromium.org> Tested-by: David Zeuthen <zeuthen@chromium.org>
/system/update_engine/omaha_response.h
|
8f191b22a1a1ab2b803d65ee488729206e648695 |
|
06-Aug-2013 |
David Zeuthen <zeuthen@chromium.org> |
p2p: Use p2p for updates This is the main patch for enabling use of p2p for consuming and/or sharing updates via p2p. Refer to the ddoc and other documentation for how this works. BUG=chromium:260426,chromium:273110 TEST=New unit tests + unit tests pass + manual testing Change-Id: I6bc3bddae1e041ccc176969a651396e8e89cb3f0 Reviewed-on: https://chromium-review.googlesource.com/64829 Reviewed-by: David Zeuthen <zeuthen@chromium.org> Commit-Queue: David Zeuthen <zeuthen@chromium.org> Tested-by: David Zeuthen <zeuthen@chromium.org>
/system/update_engine/omaha_response.h
|
3b74843840fda8e6954986bdd6a9fccc835d5580 |
|
21-Jun-2013 |
Chris Sosa <sosa@chromium.org> |
Parse and add manifest version to the Omaha Response object. This CL adds the version of the update we're updating to to the Omaha response object and removes the use of DisplayVersion. DisplayVersion is from the Omaha Protocol v1, and v2 and has never been used or relied upon in the update engine. Protocol is described here: https://code.google.com/p/omaha/wiki/ServerProtocol Manifest version should always describe the version of the application we are updating to as is described by the manifest. BUG=chromium:252527 TEST=Unittests + devserver image_to_live test. Change-Id: I9afaa8af3c21813f19d88abf437f35b024d31985 Reviewed-on: https://gerrit.chromium.org/gerrit/59498 Reviewed-by: Chris Sosa <sosa@chromium.org> Tested-by: Chris Sosa <sosa@chromium.org> Commit-Queue: Chris Sosa <sosa@chromium.org>
/system/update_engine/omaha_response.h
|
42bd3aaadbafda71e63c8a4d6cd6561a3bcde928 |
|
11-Apr-2013 |
Don Garrett <dgarrett@google.com> |
Remove the obsolete needsadmin attribute. It seems that the needsadmin attribute hasn't been used for a long time, so stop parsing it. We were parsing out the value, then ignoring it anyway. BUG=chromium:199039 TEST=built, trybot mario-release Change-Id: Ic0fbb8924af7c647fe1630cc60c260587431a0ff Reviewed-on: https://gerrit.chromium.org/gerrit/47822 Reviewed-by: Gilad Arnold <garnold@chromium.org> Tested-by: Don Garrett <dgarrett@chromium.org> Reviewed-by: Jay Srinivasan <jaysri@chromium.org> Commit-Queue: Don Garrett <dgarrett@chromium.org>
/system/update_engine/omaha_response.h
|
082628869ed3ee3e173c08354d3fc40cdb7df2c0 |
|
29-Dec-2012 |
Jay Srinivasan <jaysri@chromium.org> |
Implement exponential backoff for throttling repeated AU downloads. Today we retry the same payload over and over again every hour. Ideally, we shouldn't require ever to re-download the same payload again. But from experience we find that post-install or firmware updates may succeed on a second attempt. So until we have code that can do such selective retries of those steps, we currently re-download and re-apply the whole payload. So instead of retrying over and over again, we backoff the successive payload download attempts at 1 day, 2 days, 4 days, etc. with an upper limit of 16 days. Another subtle reason for which we depend on the payload retry mechanism today is if we've failed downloading the payload via all the URLs that are specified in the rule, we don't want to keep re-attempting the download. This case is different from the case discussed above, because in this case we haven't even downloaded a payload once completely. In this case also, there's a need for throttling the amount of bytes we end up downloading repeatedly for a particular operation that may fail. This is done by treating the exhaustion of all URLs as equivalent to having downloaded a full payload and subjecting it to the same backoff behavior. We waive backoffs for dev/test images so as not to cause any delay in our testing or development. BUG=chromium-os:36806 TEST=Added new unit tests. Tested all scenarios on my ZGB. Change-Id: I6bd0d3f296a3c0da0a8026fb71b24785d825e39c Reviewed-on: https://gerrit.chromium.org/gerrit/40220 Commit-Queue: Jay Srinivasan <jaysri@chromium.org> Reviewed-by: Jay Srinivasan <jaysri@chromium.org> Tested-by: Jay Srinivasan <jaysri@chromium.org>
/system/update_engine/omaha_response.h
|