nebraska: Add sha256 to the action tag of response

CL:1640975 forgot to add sha256 attribute to nebraska responses. The
assumption was that this was deprecated, but it was actually deprecated
pretty recently (a.k.a 2017). so we still need to send it back so older
devices can update.

BUG=chromium:1012520
TEST=./nebraska_unittest

Change-Id: I76a7f144592c03cf46a8220315e26e2b213b1e5e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/1863770
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Commit-Queue: Amin Hassani <ahassani@chromium.org>
Tested-by: Amin Hassani <ahassani@chromium.org>
diff --git a/nebraska/nebraska.py b/nebraska/nebraska.py
index 239335f..cbde3ca 100755
--- a/nebraska/nebraska.py
+++ b/nebraska/nebraska.py
@@ -445,6 +445,7 @@
                     'MaxDaysToScatter': '14',
                     'MetadataSignatureRsa': self._app_data.metadata_signature,
                     'MetadataSize': str(self._app_data.metadata_size),
+                    'sha256': self._app_data.sha256,
                     'event': 'postinstall'})
         if self._critical_update:
           action.set('deadline', 'now')
@@ -584,6 +585,7 @@
       metadata_signature: Metadata signature.
       metadata_size: Metadata size.
       sha256_hex: SHA256 hash of the payload encoded in hexadecimal.
+      sha256: SHA256 hash of the payload encoded in base64 format.
       target_version: ChromeOS version the payload is tied to.
       source_version: Source version for delta updates.
       public_key: The public key for signature verification. It should be in
@@ -627,6 +629,7 @@
       # client. See b/131762584.
       self.sha256_hex = base64.b64decode(
           app_data[self.SHA256_HEX_KEY]).encode('hex')
+      self.sha256 = app_data[self.SHA256_HEX_KEY]
       self.url = None # Determined per-request.
 
     def __str__(self):
diff --git a/nebraska/nebraska_unittest.py b/nebraska/nebraska_unittest.py
index e167a62..0a69476 100755
--- a/nebraska/nebraska_unittest.py
+++ b/nebraska/nebraska_unittest.py
@@ -1037,6 +1037,7 @@
     self.assertTrue(manifest_tag is not None)
     self.assertTrue(package_tag is not None)
     self.assertTrue(action_tag is not None)
+    self.assertTrue(action_tag.attrib['sha256'] == match.sha256)
 
     self.assertTrue(compiled_response.attrib['status'] == 'ok')
     self.assertTrue(update_check_tag.attrib['status'] == 'ok')