Fix schema1 manifest etag and docker content digest header#1445
Fix schema1 manifest etag and docker content digest header#1445aaronlehmann merged 1 commit intodistribution:masterfrom
Conversation
When schema2 manifests are rewritten as schema1 currently the etag and docker content digest header keep the value for the schema2 manifest. Fixes distribution#1444 Signed-off-by: Derek McGowan <[email protected]> (github: dmcgowan)
| imh.Errors = append(imh.Errors, v2.ErrorCodeManifestInvalid.WithDetail(err)) | ||
| return nil, err | ||
| } | ||
| imh.Digest = digest.FromBytes(manifest.(*schema1.SignedManifest).Canonical) |
There was a problem hiding this comment.
Are you sure Canonical is correct? This is the of the manifest without any attached signatures.
The HTTP response does have attached signatures, so I would expect we'd want to digest the complete manifest returned by Payload.
Of course, it depends whether 1.6 / 1.7 include the signatures when performing this digest calculation. I don't know whether they do or not.
There was a problem hiding this comment.
I did test this with 1.6 and 1.7 and can confirm looking at the code it
does not include the signatures.
On Tue, Feb 9, 2016, 6:33 PM Aaron Lehmann [email protected] wrote:
In registry/handlers/images.go
#1445 (comment):@@ -196,6 +196,7 @@ func (imh *imageManifestHandler) convertSchema2Manifest(schema2Manifest *schema2
imh.Errors = append(imh.Errors, v2.ErrorCodeManifestInvalid.WithDetail(err))
return nil, err
}
- imh.Digest = digest.FromBytes(manifest.(*schema1.SignedManifest).Canonical)
Are you sure Canonical is correct? This is the of the manifest without
any attached signatures.The HTTP response does have attached signatures, so I would expect we'd
want to digest the complete manifest returned by Payload.Of course, it depends whether 1.6 / 1.7 include the signatures when
performing this digest calculation. I don't know whether they do or not.—
Reply to this email directly or view it on GitHub
https://github.com/docker/distribution/pull/1445/files#r52408191.
|
LGTM |
Current coverage is
|
|
LGTM. We should put this in 2.3.1 |
Fix schema1 manifest etag and docker content digest header
…t-header Fix schema1 manifest etag and docker content digest header
* First pass of tabs-based organization * Improvements * Second pass at tabs org * Move tab highlighting to Liquid instead of JS * Adding forwarding links for in-product TOCs * Move to pre-rendered left-navs instead of post-load JS for TOC sync * Optimizations and nosync-ing the Reference section * Optimizations, fix Cloud YAML * Make a "Sample applications" node * Update index.md * Tabs CSS fixes and 12-factor reposition * Theme Start (distribution#1709) * Hooking up nav to real TOC data, formatting fixes * Fixing JS error * Layout updates, dark themes, tons o stuff (distribution#1971) * Add cookie saving for day/night mode * Newsite tabs (distribution#2004) * Layout updates, dark themes, tons o stuff * Update themes Theme updates + scaffolding * Update style.css * Update style-alt.css * Missing font fixes * Import Open Sans from Google * Font fix, archive removal in TOC, favicon, Feedback img fix * Oops, returning -webkit-font-smoothing: antialiased; * Add old favicon.ico * Make archives a non-tiered link * Reorder docs archive to newest-first, add local instructions * Commenting out day/night switch for now * Fix 'rate this page' * Rate this page fixes * Autocomplete and Docker Cloud fixes * Open tree to current page * Adding indentation for nav collapse in * Ensure left nav visibly displays the current topic * Update flex layout - adjust rescale - code block styles * add focus to search - force code block color (for now) - increase section max-width * increase content padding - add padding to toc for wrapping long strings. * grid adjustment - grid - content and wrapper adjustments for mobile * left/right sidebar adjustments - refine position on scroll for toc on landing - add default height to compensate for upcoming position absolute onScroll * side bar overflow - hidden on X-scroll * fix version button - override bstrap defaults * tabs + buttons * update landing svgs * fix sidebar height set to 100% on landing pre-affix * Update blurb about engine/editions on front page * add side menu to mobile collapse menu * update classnames * overall mobile tweaks * Right-nav highlighting and auto-scroll * Slightly slower right-nav highlighting, correct version * add toggle menus for small devices * Fixing JS error/Docker 1.13>17.03 * header updates * re-add fan to header * update transition time * Add first 20 words to Twitter card * fixed width of components - lockdown elements on rescale (wil need more TLC) * set max-width of content * Left and right nav resizing w/footer scroll and window resize * update links on landing page * Fix for overzealous resizing, JS redundancies * Fix for JS error on homepage * JS error fixes * toggle adjustments - wrap toggle button * add tab width * version button type * version button both headers * tabs - fix typo * landing page grid * components * Share images, JS fixes, Marketo removal * Anchor links fix * Fix for black space on mobile * Restore hamburger (partial) * Update run.md Minor grammar cleanup. * Update apparmor.md I'm a little confused about which one is better to be used here, a period (.) or a colon (:), as a command is given below. Or both are OK, and we only have to keep consistency in a single page. * Update apparmor.md Fixed the indentation for the codeblock (indented by 4 spaces). Thank you for your careful review. * Replacing service with secret * Update networking.md fix typo with triple "m" for command word * Update run.md Address PR feedback. * Update install instructions to latest version * Added "related topics" section * Add documentation for mem_swappiness * Update to new Docker version scheme (distribution#1926) * mem_swappiness for current version and v1 * merge other changes, fix typo * There is no OpenSuSE and there never was though we had SuSE and S.u.S.E. * Add release notes for 1.12.6-cs9 (distribution#2028) Signed-off-by: Brian Goff <[email protected]> * need sudo to access key cache (distribution#1931) * need sudo to access key cache * List other keyservers to try for cs-engine install (distribution#2033) * List other keyservers to try for cs-engine install Sometimes ha.pool.sks-keyservers.net goes down, so let's provide some other keyservers to try in such cases. Signed-off-by: Brian Goff <[email protected]> * Update work_issue.md (distribution#2030) Change "re-start" to "restart". Though not included in "Prefered usages" in the documentation guide, but I think "restart" is better and used more frequently. Besides, some other docs here, such as "Keep containers alive during daemon downtime" of "Admin Guide", also use "restart". * Update create_pr.md (distribution#2015) * Update work_issue.md (distribution#2013) Change "id" to "ID" except for those in code. * Update set_up_dev.md (distribution#2011) Add periods (.) in some steps. * Update set_up_dev.md (distribution#2010) Apply Oxford Comma as described in the documentation guide. * Update create_pr.md (distribution#2014) Delete an extra space. * Update trust_key_mng.md (distribution#1883) * Update trust_key_mng.md * Update trust_key_mng.md I don‘t know how the whitespace appears, and it seems that it appears because something happened related to its original format (right-aligned pipe characters) and my change. Still unknown. Now I've deleted some redundant whitespace. * Update I don‘t know how the whitespace appears, and it seems that it appears because something happened related to its original format (right-aligned pipe characters) and my change. Still unknown. Now I've deleted some redundant whitespace. * Update content_trust.md (distribution#1912) * Update content_trust.md * update deprecation policy Signed-off-by: Victor Vieux <[email protected]> * Update info about how to check whether Docker is running * Updated docs to reflect edge channel Signed-off-by: French Ben <[email protected]> * Updated wording for SP creation Signed-off-by: French Ben <[email protected]> * beta to edge, cloud features first draft added cloud images Signed-off-by: Victoria Bialas <[email protected]> * Distinguish between cloud stack file and stack file * Added EE links Signed-off-by: French Ben <[email protected]> * Use variables Signed-off-by: French Ben <[email protected]> * Replace deprecated MAINTAINER with LABEL (distribution#1445) Replace MAINTAINER instruction with LABEL as MAINTAINER was deprecated in moby/moby#25466 * Updates for Docker CE and Docker EE * Updated DDC launch button Signed-off-by: French Ben <[email protected]> * added Docker Cloud topics for Mac and Windows Signed-off-by: Victoria Bialas <[email protected]> * d4mac, d4win stable and beta release notes for 17.03.0 Signed-off-by: Victoria Bialas <[email protected]>
…t-header Fix schema1 manifest etag and docker content digest header
* First pass of tabs-based organization * Improvements * Second pass at tabs org * Move tab highlighting to Liquid instead of JS * Adding forwarding links for in-product TOCs * Move to pre-rendered left-navs instead of post-load JS for TOC sync * Optimizations and nosync-ing the Reference section * Optimizations, fix Cloud YAML * Make a "Sample applications" node * Update index.md * Tabs CSS fixes and 12-factor reposition * Theme Start (distribution#1709) * Hooking up nav to real TOC data, formatting fixes * Fixing JS error * Layout updates, dark themes, tons o stuff (distribution#1971) * Add cookie saving for day/night mode * Newsite tabs (distribution#2004) * Layout updates, dark themes, tons o stuff * Update themes Theme updates + scaffolding * Update style.css * Update style-alt.css * Missing font fixes * Import Open Sans from Google * Font fix, archive removal in TOC, favicon, Feedback img fix * Oops, returning -webkit-font-smoothing: antialiased; * Add old favicon.ico * Make archives a non-tiered link * Reorder docs archive to newest-first, add local instructions * Commenting out day/night switch for now * Fix 'rate this page' * Rate this page fixes * Autocomplete and Docker Cloud fixes * Open tree to current page * Adding indentation for nav collapse in * Ensure left nav visibly displays the current topic * Update flex layout - adjust rescale - code block styles * add focus to search - force code block color (for now) - increase section max-width * increase content padding - add padding to toc for wrapping long strings. * grid adjustment - grid - content and wrapper adjustments for mobile * left/right sidebar adjustments - refine position on scroll for toc on landing - add default height to compensate for upcoming position absolute onScroll * side bar overflow - hidden on X-scroll * fix version button - override bstrap defaults * tabs + buttons * update landing svgs * fix sidebar height set to 100% on landing pre-affix * Update blurb about engine/editions on front page * add side menu to mobile collapse menu * update classnames * overall mobile tweaks * Right-nav highlighting and auto-scroll * Slightly slower right-nav highlighting, correct version * add toggle menus for small devices * Fixing JS error/Docker 1.13>17.03 * header updates * re-add fan to header * update transition time * Add first 20 words to Twitter card * fixed width of components - lockdown elements on rescale (wil need more TLC) * set max-width of content * Left and right nav resizing w/footer scroll and window resize * update links on landing page * Fix for overzealous resizing, JS redundancies * Fix for JS error on homepage * JS error fixes * toggle adjustments - wrap toggle button * add tab width * version button type * version button both headers * tabs - fix typo * landing page grid * components * Share images, JS fixes, Marketo removal * Anchor links fix * Fix for black space on mobile * Restore hamburger (partial) * Update run.md Minor grammar cleanup. * Update apparmor.md I'm a little confused about which one is better to be used here, a period (.) or a colon (:), as a command is given below. Or both are OK, and we only have to keep consistency in a single page. * Update apparmor.md Fixed the indentation for the codeblock (indented by 4 spaces). Thank you for your careful review. * Replacing service with secret * Update networking.md fix typo with triple "m" for command word * Update run.md Address PR feedback. * Update install instructions to latest version * Added "related topics" section * Add documentation for mem_swappiness * Update to new Docker version scheme (distribution#1926) * mem_swappiness for current version and v1 * merge other changes, fix typo * There is no OpenSuSE and there never was though we had SuSE and S.u.S.E. * Add release notes for 1.12.6-cs9 (distribution#2028) Signed-off-by: Brian Goff <[email protected]> * need sudo to access key cache (distribution#1931) * need sudo to access key cache * List other keyservers to try for cs-engine install (distribution#2033) * List other keyservers to try for cs-engine install Sometimes ha.pool.sks-keyservers.net goes down, so let's provide some other keyservers to try in such cases. Signed-off-by: Brian Goff <[email protected]> * Update work_issue.md (distribution#2030) Change "re-start" to "restart". Though not included in "Prefered usages" in the documentation guide, but I think "restart" is better and used more frequently. Besides, some other docs here, such as "Keep containers alive during daemon downtime" of "Admin Guide", also use "restart". * Update create_pr.md (distribution#2015) * Update work_issue.md (distribution#2013) Change "id" to "ID" except for those in code. * Update set_up_dev.md (distribution#2011) Add periods (.) in some steps. * Update set_up_dev.md (distribution#2010) Apply Oxford Comma as described in the documentation guide. * Update create_pr.md (distribution#2014) Delete an extra space. * Update trust_key_mng.md (distribution#1883) * Update trust_key_mng.md * Update trust_key_mng.md I don‘t know how the whitespace appears, and it seems that it appears because something happened related to its original format (right-aligned pipe characters) and my change. Still unknown. Now I've deleted some redundant whitespace. * Update I don‘t know how the whitespace appears, and it seems that it appears because something happened related to its original format (right-aligned pipe characters) and my change. Still unknown. Now I've deleted some redundant whitespace. * Update content_trust.md (distribution#1912) * Update content_trust.md * update deprecation policy Signed-off-by: Victor Vieux <[email protected]> * Update info about how to check whether Docker is running * Updated docs to reflect edge channel Signed-off-by: French Ben <[email protected]> * Updated wording for SP creation Signed-off-by: French Ben <[email protected]> * beta to edge, cloud features first draft added cloud images Signed-off-by: Victoria Bialas <[email protected]> * Distinguish between cloud stack file and stack file * Added EE links Signed-off-by: French Ben <[email protected]> * Use variables Signed-off-by: French Ben <[email protected]> * Replace deprecated MAINTAINER with LABEL (distribution#1445) Replace MAINTAINER instruction with LABEL as MAINTAINER was deprecated in moby/moby#25466 * Updates for Docker CE and Docker EE * Updated DDC launch button Signed-off-by: French Ben <[email protected]> * added Docker Cloud topics for Mac and Windows Signed-off-by: Victoria Bialas <[email protected]> * d4mac, d4win stable and beta release notes for 17.03.0 Signed-off-by: Victoria Bialas <[email protected]>
* First pass of tabs-based organization * Improvements * Second pass at tabs org * Move tab highlighting to Liquid instead of JS * Adding forwarding links for in-product TOCs * Move to pre-rendered left-navs instead of post-load JS for TOC sync * Optimizations and nosync-ing the Reference section * Optimizations, fix Cloud YAML * Make a "Sample applications" node * Update index.md * Tabs CSS fixes and 12-factor reposition * Theme Start (distribution#1709) * Hooking up nav to real TOC data, formatting fixes * Fixing JS error * Layout updates, dark themes, tons o stuff (distribution#1971) * Add cookie saving for day/night mode * Newsite tabs (distribution#2004) * Layout updates, dark themes, tons o stuff * Update themes Theme updates + scaffolding * Update style.css * Update style-alt.css * Missing font fixes * Import Open Sans from Google * Font fix, archive removal in TOC, favicon, Feedback img fix * Oops, returning -webkit-font-smoothing: antialiased; * Add old favicon.ico * Make archives a non-tiered link * Reorder docs archive to newest-first, add local instructions * Commenting out day/night switch for now * Fix 'rate this page' * Rate this page fixes * Autocomplete and Docker Cloud fixes * Open tree to current page * Adding indentation for nav collapse in * Ensure left nav visibly displays the current topic * Update flex layout - adjust rescale - code block styles * add focus to search - force code block color (for now) - increase section max-width * increase content padding - add padding to toc for wrapping long strings. * grid adjustment - grid - content and wrapper adjustments for mobile * left/right sidebar adjustments - refine position on scroll for toc on landing - add default height to compensate for upcoming position absolute onScroll * side bar overflow - hidden on X-scroll * fix version button - override bstrap defaults * tabs + buttons * update landing svgs * fix sidebar height set to 100% on landing pre-affix * Update blurb about engine/editions on front page * add side menu to mobile collapse menu * update classnames * overall mobile tweaks * Right-nav highlighting and auto-scroll * Slightly slower right-nav highlighting, correct version * add toggle menus for small devices * Fixing JS error/Docker 1.13>17.03 * header updates * re-add fan to header * update transition time * Add first 20 words to Twitter card * fixed width of components - lockdown elements on rescale (wil need more TLC) * set max-width of content * Left and right nav resizing w/footer scroll and window resize * update links on landing page * Fix for overzealous resizing, JS redundancies * Fix for JS error on homepage * JS error fixes * toggle adjustments - wrap toggle button * add tab width * version button type * version button both headers * tabs - fix typo * landing page grid * components * Share images, JS fixes, Marketo removal * Anchor links fix * Fix for black space on mobile * Restore hamburger (partial) * Update run.md Minor grammar cleanup. * Update apparmor.md I'm a little confused about which one is better to be used here, a period (.) or a colon (:), as a command is given below. Or both are OK, and we only have to keep consistency in a single page. * Update apparmor.md Fixed the indentation for the codeblock (indented by 4 spaces). Thank you for your careful review. * Replacing service with secret * Update networking.md fix typo with triple "m" for command word * Update run.md Address PR feedback. * Update install instructions to latest version * Added "related topics" section * Add documentation for mem_swappiness * Update to new Docker version scheme (distribution#1926) * mem_swappiness for current version and v1 * merge other changes, fix typo * There is no OpenSuSE and there never was though we had SuSE and S.u.S.E. * Add release notes for 1.12.6-cs9 (distribution#2028) Signed-off-by: Brian Goff <[email protected]> * need sudo to access key cache (distribution#1931) * need sudo to access key cache * List other keyservers to try for cs-engine install (distribution#2033) * List other keyservers to try for cs-engine install Sometimes ha.pool.sks-keyservers.net goes down, so let's provide some other keyservers to try in such cases. Signed-off-by: Brian Goff <[email protected]> * Update work_issue.md (distribution#2030) Change "re-start" to "restart". Though not included in "Prefered usages" in the documentation guide, but I think "restart" is better and used more frequently. Besides, some other docs here, such as "Keep containers alive during daemon downtime" of "Admin Guide", also use "restart". * Update create_pr.md (distribution#2015) * Update work_issue.md (distribution#2013) Change "id" to "ID" except for those in code. * Update set_up_dev.md (distribution#2011) Add periods (.) in some steps. * Update set_up_dev.md (distribution#2010) Apply Oxford Comma as described in the documentation guide. * Update create_pr.md (distribution#2014) Delete an extra space. * Update trust_key_mng.md (distribution#1883) * Update trust_key_mng.md * Update trust_key_mng.md I don‘t know how the whitespace appears, and it seems that it appears because something happened related to its original format (right-aligned pipe characters) and my change. Still unknown. Now I've deleted some redundant whitespace. * Update I don‘t know how the whitespace appears, and it seems that it appears because something happened related to its original format (right-aligned pipe characters) and my change. Still unknown. Now I've deleted some redundant whitespace. * Update content_trust.md (distribution#1912) * Update content_trust.md * update deprecation policy Signed-off-by: Victor Vieux <[email protected]> * Update info about how to check whether Docker is running * Updated docs to reflect edge channel Signed-off-by: French Ben <[email protected]> * Updated wording for SP creation Signed-off-by: French Ben <[email protected]> * beta to edge, cloud features first draft added cloud images Signed-off-by: Victoria Bialas <[email protected]> * Distinguish between cloud stack file and stack file * Added EE links Signed-off-by: French Ben <[email protected]> * Use variables Signed-off-by: French Ben <[email protected]> * Replace deprecated MAINTAINER with LABEL (distribution#1445) Replace MAINTAINER instruction with LABEL as MAINTAINER was deprecated in moby/moby#25466 * Updates for Docker CE and Docker EE * Updated DDC launch button Signed-off-by: French Ben <[email protected]> * added Docker Cloud topics for Mac and Windows Signed-off-by: Victoria Bialas <[email protected]> * d4mac, d4win stable and beta release notes for 17.03.0 Signed-off-by: Victoria Bialas <[email protected]>
When schema2 manifests are rewritten as schema1 currently the etag and docker content digest header keep the value for the schema2 manifest.
Fixes #1444