TarSum: versioning
This introduces Versions for TarSum checksums. Fixes: https://github.com/docker/docker/issues/7526 It preserves current functionality and abstracts the interface for future flexibility of hashing algorithms. As a POC, the VersionDev Tarsum does not include the mtime in the checksum calculation, and would solve https://github.com/docker/docker/issues/7387 though this is not a settled Version is subject to change until a version number is assigned. Signed-off-by: Vincent Batts <vbatts@redhat.com>
This commit is contained in:
parent
8440052689
commit
898bcf0f5d
@ -407,7 +407,10 @@ func (r *Session) PushImageLayerRegistry(imgID string, layer io.Reader, registry
|
|||||||
|
|
||||||
log.Debugf("[registry] Calling PUT %s", registry+"images/"+imgID+"/layer")
|
log.Debugf("[registry] Calling PUT %s", registry+"images/"+imgID+"/layer")
|
||||||
|
|
||||||
tarsumLayer := &tarsum.TarSum{Reader: layer}
|
tarsumLayer, err := tarsum.NewTarSum(layer, false, tarsum.Version0)
|
||||||
|
if err != nil {
|
||||||
|
return "", "", err
|
||||||
|
}
|
||||||
h := sha256.New()
|
h := sha256.New()
|
||||||
h.Write(jsonRaw)
|
h.Write(jsonRaw)
|
||||||
h.Write([]byte{'\n'})
|
h.Write([]byte{'\n'})
|
||||||
|
Loading…
Reference in New Issue
Block a user