Always store images with tarsum.v1 checksum added
Updates `image.StoreImage()` to always ensure that images that are installed in Docker have a tarsum.v1 checksum. Docker-DCO-1.1-Signed-off-by: Josh Hawn <josh.hawn@docker.com> (github: jlhawn)
This commit is contained in:
parent
feb02197c1
commit
d01b451dd5
2 changed files with 13 additions and 0 deletions
|
@ -122,6 +122,7 @@ type tHashConfig struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
// NOTE: DO NOT include MD5 or SHA1, which are considered insecure.
|
||||||
standardHashConfigs = map[string]tHashConfig{
|
standardHashConfigs = map[string]tHashConfig{
|
||||||
"sha256": {name: "sha256", hash: crypto.SHA256},
|
"sha256": {name: "sha256", hash: crypto.SHA256},
|
||||||
"sha512": {name: "sha512", hash: crypto.SHA512},
|
"sha512": {name: "sha512", hash: crypto.SHA512},
|
||||||
|
|
|
@ -22,6 +22,18 @@ const (
|
||||||
VersionDev
|
VersionDev
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// VersionLabelForChecksum returns the label for the given tarsum
|
||||||
|
// checksum, i.e., everything before the first `+` character in
|
||||||
|
// the string or an empty string if no label separator is found.
|
||||||
|
func VersionLabelForChecksum(checksum string) string {
|
||||||
|
// Checksums are in the form: {versionLabel}+{hashID}:{hex}
|
||||||
|
sepIndex := strings.Index(checksum, "+")
|
||||||
|
if sepIndex < 0 {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return checksum[:sepIndex]
|
||||||
|
}
|
||||||
|
|
||||||
// Get a list of all known tarsum Version
|
// Get a list of all known tarsum Version
|
||||||
func GetVersions() []Version {
|
func GetVersions() []Version {
|
||||||
v := []Version{}
|
v := []Version{}
|
||||||
|
|
Loading…
Reference in a new issue