Skip to content

Commit

Permalink
Use TrustedMetadataSet.root property consistently
Browse files Browse the repository at this point in the history
In order to consistently use the 'root' property internally,
just try/except the KeyError during the loading of initial
trusted root when 'root' key does not exist yet.

Signed-off-by: Teodora Sechkova <tsechkova@vmware.com>
  • Loading branch information
sechkova committed Aug 11, 2021
1 parent d9b0956 commit 7c3c025
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion tuf/ngclient/_internal/trusted_metadata_set.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,14 +169,16 @@ def update_root(self, data: bytes) -> None:
f"Expected 'root', got '{new_root.signed.type}'"
)

if self._trusted_set.get("root") is not None:
try:
# We are not loading initial trusted root: verify the new one
self.root.verify_delegate("root", new_root)

if new_root.signed.version != self.root.signed.version + 1:
raise exceptions.ReplayedMetadataError(
"root", new_root.signed.version, self.root.signed.version
)
except KeyError:
logger.debug("Loading initial trusted root")

new_root.verify_delegate("root", new_root)

Expand Down

0 comments on commit 7c3c025

Please sign in to comment.