From 4cb34c45a6fdc8e0b0e0187f9a87d2cf8cea97c8 Mon Sep 17 00:00:00 2001 From: Vladimir Diaz Date: Thu, 24 Mar 2016 11:20:16 -0400 Subject: [PATCH] Remove call to roledb.get_parent_rolename() in load_repository Add all encountered delegated roles to the top-level targets object. For example: 'django' role delegated by 'unclaimed' (which in turn was delgated by 'targets') is available at repository.targets('unclaimed') --- tuf/repository_tool.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tuf/repository_tool.py b/tuf/repository_tool.py index 61f0c189..ff130e28 100755 --- a/tuf/repository_tool.py +++ b/tuf/repository_tool.py @@ -2810,11 +2810,10 @@ def load_repository(repository_directory): tuf.roledb.update_roleinfo(metadata_name, roleinfo) loaded_metadata.append(metadata_name) - # Generate the Targets objects of the delegated roles of - # 'metadata_name' and update the parent role Targets object. + # Generate the Targets objects of the delegated roles of 'metadata_name' + # and add it to the top-level 'targets' object. new_targets_object = Targets(targets_directory, metadata_name, roleinfo) - targets_object = \ - targets_objects[tuf.roledb.get_parent_rolename(metadata_name)] + targets_object = targets_objects['targets'] targets_objects[metadata_name] = new_targets_object targets_object._delegated_roles[(os.path.basename(metadata_name))] = \ @@ -2836,7 +2835,7 @@ def load_repository(repository_directory): pass # Add the delegated role's initial roleinfo, to be fully populated - # when its metadata file is next loaded in the os.walk() iteration. + # when its metadata file is next loaded in one of the next iterations. for role in metadata_object['delegations']['roles']: rolename = role['name'] roleinfo = {'name': role['name'], 'keyids': role['keyids'],