diff options
author | Alper Nebi Yasak <alpernebiyasak@gmail.com> | 2020-08-31 12:58:18 +0300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2020-09-22 12:50:43 -0600 |
commit | 8001d0b162183493ee31b9e578756e450f673745 (patch) | |
tree | 8c7dd9ad3a66cf569e5c76b737aee934de422d5a /tools | |
parent | 2512b3b88ba6b193c3cada7e29e386613e8f9a6b (diff) | |
download | u-boot-8001d0b162183493ee31b9e578756e450f673745.zip u-boot-8001d0b162183493ee31b9e578756e450f673745.tar.gz u-boot-8001d0b162183493ee31b9e578756e450f673745.tar.bz2 |
binman: Ignore hash*, signature* nodes in sections
Switch to str.startswith for matching like the FIT etype does since the
current version doesn't ignore 'hash-1', 'hash-2', etc.
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/binman/etype/section.py | 2 | ||||
-rw-r--r-- | tools/binman/ftest.py | 6 | ||||
-rw-r--r-- | tools/binman/test/165_section_ignore_hash_signature.dts | 40 |
3 files changed, 47 insertions, 1 deletions
diff --git a/tools/binman/etype/section.py b/tools/binman/etype/section.py index 73c5553..c5166a5 100644 --- a/tools/binman/etype/section.py +++ b/tools/binman/etype/section.py @@ -83,7 +83,7 @@ class Entry_section(Entry): def _ReadEntries(self): for node in self._node.subnodes: - if node.name == 'hash': + if node.name.startswith('hash') or node.name.startswith('signature'): continue entry = Entry.Create(self, node) entry.ReadNode() diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 5f650b5..ab88ee9 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -3477,5 +3477,11 @@ class TestFunctional(unittest.TestCase): fnode = dtb.GetNode('/images/kernel') self.assertNotIn('data', fnode.props) + def testSectionIgnoreHashSignature(self): + """Test that sections ignore hash, signature nodes for its data""" + data = self._DoReadFile('165_section_ignore_hash_signature.dts') + expected = (U_BOOT_DATA + U_BOOT_DATA) + self.assertEqual(expected, data) + if __name__ == "__main__": unittest.main() diff --git a/tools/binman/test/165_section_ignore_hash_signature.dts b/tools/binman/test/165_section_ignore_hash_signature.dts new file mode 100644 index 0000000..8adbe25 --- /dev/null +++ b/tools/binman/test/165_section_ignore_hash_signature.dts @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: GPL-2.0+ + +/dts-v1/; + +/ { + #address-cells = <1>; + #size-cells = <1>; + + binman { + section@0 { + u-boot { + }; + hash { + algo = "sha256"; + }; + signature { + algo = "sha256,rsa2048"; + key-name-hint = "dev"; + }; + }; + section@1 { + u-boot { + }; + hash-1 { + algo = "sha1"; + }; + hash-2 { + algo = "sha256"; + }; + signature-1 { + algo = "sha1,rsa2048"; + key-name-hint = "dev"; + }; + signature-2 { + algo = "sha256,rsa2048"; + key-name-hint = "dev"; + }; + }; + }; +}; |