working commit

This commit is contained in:
2026-03-10 15:16:24 +02:00
parent 338638337d
commit f85cda868a
2 changed files with 12 additions and 11 deletions
+6 -10
View File
@@ -99,16 +99,16 @@ func (ima *Imager) ReadManifest(ctx context.Context, digstr string) (bool, strin
if err != nil {
return exist, mime, man, err
}
var size int64
for _, descr := range ima.index.Manifests {
if digstr == descr.Digest.Encoded() {
size = descr.Size
if digstr == descr.Digest.String() {
mime = descr.MediaType
exist = true
}
}
if !exist {
err = errors.New("Manifest not found in index")
return exist, mime, man, err
}
subdir := string(digobj.Algorithm())
mpath := filepath.Join(ima.place, ocispec.ImageBlobsDir, subdir, digobj.Encoded())
mfile, err := os.OpenFile(mpath, os.O_RDONLY, 0)
@@ -120,12 +120,8 @@ func (ima *Imager) ReadManifest(ctx context.Context, digstr string) (bool, strin
buffer := bytes.NewBuffer(nil)
verifier := digobj.Verifier()
mwriter := io.MultiWriter(verifier, buffer)
readsize, err := io.Copy(mwriter, mfile)
_, err = io.Copy(mwriter, mfile)
man = buffer.Bytes()
if size != readsize {
err = errors.New("Mismatch manigest sizes")
return exist, mime, man, err
}
if !verifier.Verified() {
err = errors.New("Mismatch manifest digests")
return exist, mime, man, err
+6 -1
View File
@@ -20,7 +20,12 @@ func (down *Loader) Push(ctx context.Context, rawref, dir, osname, arch string)
}
index := imager.Index()
for _, descr := range index.Manifests {
_, _, mandata, err := imager.ReadManifest(ctx, descr.Digest.Encoded())
digstr := descr.Digest.String()
_, _, mandata, err := imager.ReadManifest(ctx, digstr)
if err != nil {
return err
}
man := &ocispec.Manifest{}
err = json.Unmarshal(mandata, man)
if err != nil {