Further fixes for unicode handling in manifests
We were occasionally trying to compute schema 2 version 1 signatures on the *unicode* representation, which was failing the signature check. This PR adds a new wrapper type called `Bytes`, which all manifests must take in, and which handles the unicodes vs encoded utf-8 stuff in a central location. This PR also adds a test for the manifest that was breaking in production.
This commit is contained in:
parent
05fa2bcbe0
commit
171c7e5238
28 changed files with 275 additions and 106 deletions
|
@ -72,7 +72,7 @@ def _manifest_dict(manifest):
|
|||
return {
|
||||
'digest': manifest.digest,
|
||||
'is_manifest_list': manifest.is_manifest_list,
|
||||
'manifest_data': manifest.manifest_bytes,
|
||||
'manifest_data': manifest.internal_manifest_bytes.as_unicode(),
|
||||
'image': image,
|
||||
'layers': ([_layer_dict(lyr.layer_info, idx) for idx, lyr in enumerate(layers)]
|
||||
if layers else None),
|
||||
|
|
Reference in a new issue