update_engine: Make the ChromeOS/AOSP Omaha Client transmit requestid.
As per Omaha's protocol specification, ChromeOS/AOSP
needs to transmit the 'requestid` attribute in the request.
The format of the 'requestid' attribute is sent as GUID version 4.
This change will add the 'requestid' attribute in the omaha request.
BUG=chromium:940505
TEST=cros_workon_make --board=octopus update_engine --test
TEST=/usr/bin/update_engine_client --check_for_update # after bouncing
update-engine + check /var/log/update_engine.log. 'requestid'
attribute will be in the omaha request.
Change-Id: I76f1fe82d1e976b5316b4af9148097f1266dea91
Reviewed-on: https://chromium-review.googlesource.com/1653709
Tested-by: Jae Hoon Kim <kimjae@chromium.org>
Commit-Ready: Jae Hoon Kim <kimjae@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/omaha_request_builder_xml.cc b/omaha_request_builder_xml.cc
index ad7c424..e335c40 100644
--- a/omaha_request_builder_xml.cc
+++ b/omaha_request_builder_xml.cc
@@ -20,6 +20,7 @@
#include <string>
+#include <base/guid.h>
#include <base/logging.h>
#include <base/strings/string_number_conversions.h>
#include <base/strings/string_util.h>
@@ -336,8 +337,10 @@
string request_xml = base::StringPrintf(
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- "<request protocol=\"3.0\" updater=\"%s\" updaterversion=\"%s\""
+ "<request requestid=\"%s\""
+ " protocol=\"3.0\" updater=\"%s\" updaterversion=\"%s\""
" installsource=\"%s\" ismachine=\"1\">\n%s%s</request>\n",
+ base::GenerateGUID().c_str() /* requestid */,
constants::kOmahaUpdaterID,
kOmahaUpdaterVersion,
params_->interactive() ? "ondemandupdate" : "scheduler",