update_engine: add chrome os device requisition to the omaha request
Requisition type is not currently sent to Omaha and is thus unavailable
for AU rules. This adds a requisition attribute to the <app> if the
device has a requisition type. Currently, the types may be one of
remora, shark, or rialto.
TEST=unittest
BUG=b:132014633,b:133324571
Change-Id: I0e53d3a5749da4cbb95ce73cff35191066339009
Reviewed-on: https://chromium-review.googlesource.com/1604218
Commit-Ready: Matthew Ziegelbaum <ziegs@chromium.org>
Tested-by: Matthew Ziegelbaum <ziegs@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 aac0136..2cb002e 100644
--- a/omaha_request_builder_xml.cc
+++ b/omaha_request_builder_xml.cc
@@ -313,6 +313,13 @@
}
}
+ string requisition_arg;
+ if (!params->device_requisition().empty()) {
+ requisition_arg = "requisition=\"" +
+ XmlEncodeWithDefault(params->device_requisition(), "") +
+ "\" ";
+ }
+
// clang-format off
string app_xml = " <app "
"appid=\"" + XmlEncodeWithDefault(app_data.id, "") + "\" " +
@@ -329,6 +336,7 @@
"fw_version=\"" + XmlEncodeWithDefault(params->fw_version(), "") + "\" " +
"ec_version=\"" + XmlEncodeWithDefault(params->ec_version(), "") + "\" " +
install_date_in_days_str +
+ requisition_arg +
">\n" +
app_body +
" </app>\n";