mirror of
https://github.com/theupdateframework/python-tuf
synced 2026-05-24 10:08:28 +00:00
Merge pull request #218 from vladimir-v-diaz/develop
Initial implementation of authoritative delegations.
This commit is contained in:
commit
5fc8285115
39 changed files with 282 additions and 181 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,30 +1,30 @@
|
|||
-----BEGIN RSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: DES-EDE3-CBC,FF468C7E762281A6
|
||||
DEK-Info: DES-EDE3-CBC,8EB89B1037BC3FA7
|
||||
|
||||
+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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4Aaacry3Lrf+LxjlHoM7
|
||||
qkwM0K+Wm3G2dZh6SxrGEkm1/REOk51CPTFVqpVOUsw1tW0duAlxg/24cxXVX0xv
|
||||
BMilTYDZ5tBk6FXZXhuN28IREz2yMo8a93nHH3fCRDz2/eViLBZO8KMVF6s2340V
|
||||
tTNOFhm8x/6nfe3+M8PzEgoNPF693djhUw1OolEmQA4hb2v87L/86SFGBaA1w8De
|
||||
M+2zGJmk5rckLQAZFvMErZ8828WhW8ABFkK4QaUJDrnI+o00ep4+1Qu8CvOIw+pT
|
||||
lbYgv/+aXQOXQpkmKilpTCoynbQFOxIPmUmCBAnJXgYuHya8SUIeZLWxNvkChLMP
|
||||
SwIDAQAB
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqKdTRVn3mLQFUf02Rpug
|
||||
wVEU4yJtechILLb6nM7+urfwLe6f7EsNCDFhkiTP7vKuQywdLYrhwZKYZMDmaVnI
|
||||
q4d/tBLvb/jGY/IPFVvWbAOWtwWG7apiAFrcp3Idq6EKGaVVLn7tyv74+nisssYJ
|
||||
cVKodlkzpgX1Ibrdq73BUlAxhEQNDAUM5bzyJUW0BU4OSjUoFKCgc8BSkNcSLwXO
|
||||
RpyqAwDpPWiL68N1Dch7R9uD6GE9aREY9SKoYsNCvUOraIcme4fJZ3NmxpN3SVnX
|
||||
tepoiJo2iAtORtEI1yTCv/dOPap/iebveeCjn667HkMezJodSR8X3pMgMKMVyxhJ
|
||||
gwIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -1,30 +1,30 @@
|
|||
-----BEGIN RSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: DES-EDE3-CBC,D1A23F08038990E0
|
||||
DEK-Info: DES-EDE3-CBC,B90D8CBD38BD4DE2
|
||||
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxqR34Ya+Nuh4+zljiPI7
|
||||
idGUwTs6ALm/mwBJJZRVmIQjVDKdK69fxmh5CxXud6lJTapuDutCFOvOKG1AaEHM
|
||||
Zu5r/UiuEEUU2ZTtjtFaulJpoz6lYViM2qHy8o4HJ8f5VHvcITnAy4Qu3emKolvi
|
||||
CrnMoiBZjGQAGEGt1u7S9u8P9zA4Jz0ziICdDnhKH8tLvWBmF4VHmAbLXXFj+Yny
|
||||
R7iOeDEiS5PNJVyfEHQmds+LdBTI1w0aBoHORvrw36kFRD2yZF0w6BZgqrcM1OQU
|
||||
xuJBWf3DTMRmBdldIIzGZQ7Lv08GB8xVy3472Q6nn8dTl0Gz3Y4ujMqbcglB4Auz
|
||||
lwIDAQAB
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7J15ZaeDQPrhQsRj29wB
|
||||
PhibH+Do59xsT2396L+uCg793gZlar5wZN2eHSh725cNQWyTAa9LwG+lXaKMukQ+
|
||||
8176CKR2J5sv3DezrGVu3x8V1qhyJyy79FlNZRVYTVqNaYzvJzxsVnFPpg7f8B7C
|
||||
ffiqWJr9XkpqwRlCpxooXm4hplZ7uek5Ku21CzQ4OWg7hbuc+ZjCGzpXfm8NuosU
|
||||
7TipnKGpEt0Agiph5g6TB2/scoeFar1CKMONIl80maxzAQk+xkWgiJ00+Z2qFCsx
|
||||
ESfis/YkILS6RMFyZz7oa1WwMtUjYmrsRuz+jlFcbNuxZpIkaISiG9a2YdGcJ1Aj
|
||||
3QIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -1,30 +1,30 @@
|
|||
-----BEGIN RSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: DES-EDE3-CBC,CA9413D527FF4F37
|
||||
DEK-Info: DES-EDE3-CBC,9DA302AB20EFABC8
|
||||
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhC3ksoCUEqNJZfvI3rgI
|
||||
RuknTl3DQjO8H4wA98Y1ZfWSCGRCkD7z9wCtnRcP0r/DdRDozzIn0w5POYyZt+ql
|
||||
aPBdigwWVZs4rB73U8Pjh/ZQ/QS2qngQlNmpkp6Fnh9FzmqQmIj0QYwZC6TPuB/2
|
||||
dVsnbyUDt+tLH4FCN688tOvV9fATO22rzT5XAeDCU046yD6fNtooCRVwd7mxV8Ug
|
||||
npREULBq0cs82Cl581aM5znN1ydFr7cLMaxzvyAzJzAvdITOTdO7ZO171qm4OrGD
|
||||
9W2ex+88ca3XYhjaEJGsoMXa00NPzrZPtFFUv6wSi9nqa5mpHmcEWAQABRRARlkp
|
||||
mQIDAQAB
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9XqJohXw46tOKUiOMzPx
|
||||
lDtrSlpy3WLH2zFSppN0eLIqByD4mk5nbyWKOzzGetQYgv9FzyER4AbmG40kD9bT
|
||||
2jm3zxjoTnCoM+1Qt7khZm3LxcKBa7q1yrAlvSfNLauIC220kauVRn4Kehd+IqeS
|
||||
/LhfOT6YyHUMH9SjZKM8XVHU1ehxTiA69eos4AosMK1Gf7jr042FzfiBTygqV1h5
|
||||
LXxO0IUYXiI4eCYTwzK4ChfQBmG3DGFGh2G8yrgqQZ5ERaBQPYG9rqQnfF8T8RUQ
|
||||
o4n7yKpEKSWLOr6Uz9Y1pnHZG4YiKKbTe9EKGtrRbDMIfI+Mv5f3+n600nwZrN7K
|
||||
OwIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -1,30 +1,30 @@
|
|||
-----BEGIN RSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: DES-EDE3-CBC,112A90551702BF36
|
||||
DEK-Info: DES-EDE3-CBC,807D96406E906425
|
||||
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkbEPgkqMnOfprFY5XhCo
|
||||
ppl6E89rfIzKv0AAZH6L6CruIzm2wgf3YRGl5Xle1+uyq9Wt0fcC32cZaoQPqpik
|
||||
JWKYXdeuQjkUbPzON5wgV/MrjsidTC02296pmfHvGGlwUstjqwcbcCcAliw0V97G
|
||||
IJ4JKnbelGmFFpUzzow8tp7uxxbM+ihLA1V2QdAJBDSIuma+A36zN0M23vvt6fBg
|
||||
cDzJ+ij5Z3N0O2WAyQDONepRtHjKKdhAuzKRluLMwYO0sMjp+E88LMw1vUapxsEm
|
||||
9jrYmY7aV6RFTe5OeZupH/0HyMwv7jua+aNzNxxD6/xYbh4Kp0jFke1zEBsoNrc8
|
||||
pwIDAQAB
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqF3xKdM9FySLLp0PiwIx
|
||||
2O9CFikFBo4Xfm4Z0HW69lu2X5WQFx8/GL9kmo1QjZrOwYToYDe287nidbbLs/rT
|
||||
lq3buN5wPMiD1GbVgGN/nknkkzv9KkJtrSF4RLbKrUnKo7/9C6IUmMt30wBk4GpJ
|
||||
RZ+8wFfRhUE6859/f6Xl4XbtBJofbIGwV/OBdIzO5zIgB3uBktbbqBVjJb8Oj6Oi
|
||||
YYskEIacP+TUrpa1iuC6nONj6ahI5NnEjt2B4/pLaUcEPm43kktJTabznkfNZXOa
|
||||
2nMjngY8v8EbNLBpG6Y7MqZwwLZ4wnaTOe5Bp323YN9eVONXfU2gtT2MBoWExvFV
|
||||
FwIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
|
|
@ -1,30 +1,30 @@
|
|||
-----BEGIN RSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: DES-EDE3-CBC,E950DB75AA748728
|
||||
DEK-Info: DES-EDE3-CBC,261BF7F755E46B73
|
||||
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
-----BEGIN PUBLIC KEY-----
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0EhQ6twjA/9HywnQWNey
|
||||
rthMpF2S3yeRQiU90TPWAAVsGYvKSgra/BjNTUdFZxf2twZONq/PW1CSQYya230i
|
||||
16+4/6wTY47pSAoDfk71ISjFEdkZa7Cbvzv0CEv25sA+elaaCtRnmc6G7RuofwM/
|
||||
AnKqWdPfkJcdkjkmNGYVhNU7sF96hNSdG3liWG0rbByZVxPYMYru18gziGQOkp82
|
||||
Ex/6SWEkUzdjZHqvL7A3bEUJ2KzHoHvf3SdyRP1HbASphnWEvBqC5/3TnmsAHvWi
|
||||
d4NRqKLJlsLnySGP5gSinjc53bN8CTJz+ThSaIFlt46RpNtkjm5ZU8YjmmqfbUSG
|
||||
FwIDAQAB
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyw8QAC0PNyyf0AV3qzSp
|
||||
DgT74sGKC/72HIO1EskP4VEkdfh67PROHCm0YJTYLch9zH+uHIsmyyuzNr6go2Nv
|
||||
GPSRwYEP34LJlmqr699zkjSXw79T/t244keFiL8SFWTlWmQyTPDdn+N2v4acAmvW
|
||||
xSFcjTl8cVIGyGuU2s/vHrBn0zoOJ7ZIGAFzzCGAm0j6VvGvkxy3mymE+8VjzrAV
|
||||
9P1aOMdRVmlqCyPlGVW66Lvz7wkQKcp7rf0CEKkBGlYMtgTqiiagHJy0Sv6qAapw
|
||||
LXzE6ZdM40E1J1rT9GUitd0K4LhpSjW1lfipSbNQDLiZTG9R2EhnDMl5suaIaFh0
|
||||
UQIDAQAB
|
||||
-----END PUBLIC KEY-----
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -878,7 +878,8 @@ def test_delegations(self):
|
|||
threshold = 1
|
||||
|
||||
self.targets_object.delegate(rolename, public_keys, list_of_targets,
|
||||
threshold, restricted_paths=None,
|
||||
threshold, backtrack=True,
|
||||
restricted_paths=None,
|
||||
path_hash_prefixes=None)
|
||||
|
||||
# Test that a valid Targets() object is returned by delegations().
|
||||
|
|
@ -1012,8 +1013,9 @@ def test_delegate(self):
|
|||
path_hash_prefixes = ['e3a3', '8fae', 'd543']
|
||||
|
||||
self.targets_object.delegate(rolename, public_keys, list_of_targets,
|
||||
threshold, restricted_paths,
|
||||
path_hash_prefixes)
|
||||
threshold, backtrack=True,
|
||||
restricted_paths=restricted_paths,
|
||||
path_hash_prefixes=path_hash_prefixes)
|
||||
|
||||
self.assertEqual(self.targets_object.get_delegated_rolenames(),
|
||||
['targets/tuf'])
|
||||
|
|
|
|||
|
|
@ -843,7 +843,73 @@ def test_6_target(self):
|
|||
# Test: invalid target path.
|
||||
self.assertRaises(tuf.UnknownTargetError, self.repository_updater.target,
|
||||
self.random_path())
|
||||
|
||||
# Test updater.target() backtracking behavior (enabled by default.)
|
||||
targets_directory = os.path.join(self.repository_directory, 'targets')
|
||||
foo_directory = os.path.join(targets_directory, 'foo')
|
||||
os.makedirs(foo_directory)
|
||||
|
||||
foo_package = os.path.join(foo_directory, 'foo1.1.tar.gz')
|
||||
with open(foo_package, 'wb') as file_object:
|
||||
file_object.write(b'new release')
|
||||
|
||||
# Modify delegations on the remote repository to test backtracking behavior.
|
||||
repository = repo_tool.load_repository(self.repository_directory)
|
||||
|
||||
|
||||
repository.targets.delegate('role2', [self.role_keys['targets']['public']],
|
||||
[], restricted_paths=[foo_directory])
|
||||
|
||||
repository.targets.delegate('role3', [self.role_keys['targets']['public']],
|
||||
[foo_package], restricted_paths=[foo_directory])
|
||||
repository.targets.load_signing_key(self.role_keys['targets']['private'])
|
||||
repository.targets('role2').load_signing_key(self.role_keys['targets']['private'])
|
||||
repository.targets('role3').load_signing_key(self.role_keys['targets']['private'])
|
||||
repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
|
||||
repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
|
||||
repository.write()
|
||||
|
||||
# Move the staged metadata to the "live" metadata.
|
||||
shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
|
||||
shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
|
||||
os.path.join(self.repository_directory, 'metadata'))
|
||||
|
||||
# updater.target() should find 'foo1.1.tar.gz' by backtracking to
|
||||
# 'targets/role3'. 'targets/role2' allows backtracking.
|
||||
self.repository_updater.refresh()
|
||||
self.repository_updater.target('foo/foo1.1.tar.gz')
|
||||
|
||||
|
||||
# Test when 'targets/role2' does *not* allow backtracking. If
|
||||
# 'foo/foo1.1.tar.gz' is not provided by the authoritative 'target/role2',
|
||||
# updater.target() should return a 'tuf.UnknownTargetError' exception.
|
||||
repository = repo_tool.load_repository(self.repository_directory)
|
||||
|
||||
repository.targets.revoke('role2')
|
||||
repository.targets.revoke('role3')
|
||||
|
||||
# Ensure we delegate in trusted order (i.e., 'role2' has higher priority.)
|
||||
repository.targets.delegate('role2', [self.role_keys['targets']['public']],
|
||||
[], backtrack=False, restricted_paths=[foo_directory])
|
||||
repository.targets.delegate('role3', [self.role_keys['targets']['public']],
|
||||
[foo_package], restricted_paths=[foo_directory])
|
||||
|
||||
repository.targets('role2').load_signing_key(self.role_keys['targets']['private'])
|
||||
repository.targets('role3').load_signing_key(self.role_keys['targets']['private'])
|
||||
repository.targets.load_signing_key(self.role_keys['targets']['private'])
|
||||
repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
|
||||
repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
|
||||
repository.write()
|
||||
|
||||
# Move the staged metadata to the "live" metadata.
|
||||
shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
|
||||
shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
|
||||
os.path.join(self.repository_directory, 'metadata'))
|
||||
|
||||
# Verify that 'tuf.UnknownTargetError' is raised by updater.target().
|
||||
self.repository_updater.refresh()
|
||||
self.assertRaises(tuf.UnknownTargetError, self.repository_updater.target,
|
||||
'foo/foo1.1.tar.gz')
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2300,15 +2300,28 @@ def _preorder_depth_first_walk(self, target_filepath):
|
|||
|
||||
if target is None:
|
||||
|
||||
# Push children in reverse order of appearance onto the stack.
|
||||
child_roles_to_visit = []
|
||||
# NOTE: This may be a slow operation if there are many delegated roles.
|
||||
for child_role in reversed(child_roles):
|
||||
for child_role in child_roles:
|
||||
child_role_name = self._visit_child_role(child_role, target_filepath)
|
||||
if child_role_name is None:
|
||||
if not child_role['backtrack'] and child_role_name is not None:
|
||||
logger.debug('Adding child role '+repr(child_role_name))
|
||||
logger.debug('Not backtracking to other roles.')
|
||||
role_names = []
|
||||
child_roles_to_visit.append(child_role_name)
|
||||
break
|
||||
|
||||
elif child_role_name is None:
|
||||
logger.debug('Skipping child role '+repr(child_role_name))
|
||||
|
||||
else:
|
||||
logger.debug('Adding child role '+repr(child_role_name))
|
||||
role_names.append(child_role_name)
|
||||
child_roles_to_visit.append(child_role_name)
|
||||
|
||||
# Push 'child_roles_to_visit' in reverse order of appearance onto
|
||||
# 'role_names'. Roles are popped from the end of the 'role_names' list.
|
||||
child_roles_to_visit.reverse()
|
||||
role_names.extend(child_roles_to_visit)
|
||||
|
||||
else:
|
||||
logger.debug('Found target in current role '+repr(role_name))
|
||||
|
|
@ -2350,13 +2363,15 @@ def _get_target_from_targets_role(self, role_name, targets, target_filepath):
|
|||
target = None
|
||||
|
||||
# Does the current role name have our target?
|
||||
logger.debug('Asking role '+repr(role_name)+' about target '+\
|
||||
logger.debug('Asking role ' + repr(role_name) + ' about target '+\
|
||||
repr(target_filepath))
|
||||
|
||||
for filepath, fileinfo in six.iteritems(targets):
|
||||
if filepath == target_filepath:
|
||||
logger.debug('Found target '+target_filepath+' in role '+role_name)
|
||||
logger.debug('Found target ' + target_filepath + ' in role ' + role_name)
|
||||
target = {'filepath': filepath, 'fileinfo': fileinfo}
|
||||
break
|
||||
|
||||
else:
|
||||
logger.debug('No target '+target_filepath+' in role '+role_name)
|
||||
|
||||
|
|
@ -2434,7 +2449,7 @@ def _visit_child_role(self, child_role, target_filepath):
|
|||
# The 'paths' or 'path_hash_prefixes' fields should not be missing,
|
||||
# so we raise a format error here in case they are both missing.
|
||||
raise tuf.FormatError(repr(child_role_name)+' has neither ' \
|
||||
'"paths" nor "path_hash_prefixes"!')
|
||||
'"paths" nor "path_hash_prefixes".')
|
||||
|
||||
if child_role_is_relevant:
|
||||
logger.debug('Child role '+repr(child_role_name)+' has target '+
|
||||
|
|
|
|||
|
|
@ -369,6 +369,7 @@
|
|||
name = SCHEMA.Optional(ROLENAME_SCHEMA),
|
||||
keyids = KEYIDS_SCHEMA,
|
||||
threshold = THRESHOLD_SCHEMA,
|
||||
backtrack = SCHEMA.Optional(BOOLEAN_SCHEMA),
|
||||
paths = SCHEMA.Optional(RELPATHS_SCHEMA),
|
||||
path_hash_prefixes = SCHEMA.Optional(PATH_HASH_PREFIXES_SCHEMA))
|
||||
|
||||
|
|
|
|||
|
|
@ -1920,9 +1920,8 @@ def get_delegated_rolenames(self):
|
|||
return tuf.roledb.get_delegated_rolenames(self.rolename)
|
||||
|
||||
|
||||
|
||||
def delegate(self, rolename, public_keys, list_of_targets,
|
||||
threshold=1, restricted_paths=None, path_hash_prefixes=None):
|
||||
def delegate(self, rolename, public_keys, list_of_targets, threshold=1,
|
||||
backtrack=True, restricted_paths=None, path_hash_prefixes=None):
|
||||
"""
|
||||
<Purpose>
|
||||
Create a new delegation, where 'rolename' is a child delegation of this
|
||||
|
|
@ -1953,6 +1952,17 @@ def delegate(self, rolename, public_keys, list_of_targets,
|
|||
|
||||
threshold:
|
||||
The threshold number of keys of 'rolename'.
|
||||
|
||||
backtrack:
|
||||
Boolean that indicates whether this role allows the updater client
|
||||
to continue searching for targets (target files it is trusted to list
|
||||
but has not yet specified) in other delegations. If 'backtrack' is
|
||||
False and 'updater.target()' does not find 'example_target.tar.gz' in
|
||||
this role, a 'tuf.UnknownTargetError' exception should be raised. If
|
||||
'backtrack' is True (default), and 'target/other_role' is also trusted
|
||||
with 'example_target.tar.gz' and has listed it, updater.target()
|
||||
should backtrack and return the target file specified by
|
||||
'target/other_role'.
|
||||
|
||||
restricted_paths:
|
||||
A list of restricted directory or file paths of 'rolename'. Any target
|
||||
|
|
@ -1986,17 +1996,21 @@ def delegate(self, rolename, public_keys, list_of_targets,
|
|||
tuf.formats.ANYKEYLIST_SCHEMA.check_match(public_keys)
|
||||
tuf.formats.RELPATHS_SCHEMA.check_match(list_of_targets)
|
||||
tuf.formats.THRESHOLD_SCHEMA.check_match(threshold)
|
||||
tuf.formats.BOOLEAN_SCHEMA.check_match(backtrack)
|
||||
|
||||
if restricted_paths is not None:
|
||||
tuf.formats.RELPATHS_SCHEMA.check_match(restricted_paths)
|
||||
|
||||
if path_hash_prefixes is not None:
|
||||
tuf.formats.PATH_HASH_PREFIXES_SCHEMA.check_match(path_hash_prefixes)
|
||||
|
||||
|
||||
|
||||
# Check if 'rolename' is not already a delegation. 'tuf.roledb' expects the
|
||||
# full rolename.
|
||||
full_rolename = self._rolename+'/'+rolename
|
||||
full_rolename = self._rolename + '/' + rolename
|
||||
|
||||
if tuf.roledb.role_exists(full_rolename):
|
||||
raise tuf.Error(repr(full_rolename)+' already delegated.')
|
||||
raise tuf.Error(repr(full_rolename) + ' already delegated.')
|
||||
|
||||
# Keep track of the valid keyids (added to the new Targets object) and their
|
||||
# keydicts (added to this Targets delegations).
|
||||
|
|
@ -2068,9 +2082,12 @@ def delegate(self, rolename, public_keys, list_of_targets,
|
|||
roleinfo = {'name': full_rolename,
|
||||
'keyids': roleinfo['keyids'],
|
||||
'threshold': roleinfo['threshold'],
|
||||
'backtrack': backtrack,
|
||||
'paths': roleinfo['paths']}
|
||||
|
||||
if restricted_paths is not None:
|
||||
roleinfo['paths'] = relative_restricted_paths
|
||||
|
||||
if path_hash_prefixes is not None:
|
||||
roleinfo['path_hash_prefixes'] = path_hash_prefixes
|
||||
# A role in a delegations must list either 'path_hash_prefixes'
|
||||
|
|
|
|||
Loading…
Reference in a new issue