@@ -3,7 +3,6 @@ package contenthash
3
3
import (
4
4
"bytes"
5
5
"context"
6
- "crypto/sha256"
7
6
"io"
8
7
"os"
9
8
"path"
@@ -18,6 +17,7 @@ import (
18
17
"github.com/moby/buildkit/cache"
19
18
"github.com/moby/buildkit/session"
20
19
"github.com/moby/buildkit/snapshot"
20
+ "github.com/moby/buildkit/util/cachedigest"
21
21
"github.com/moby/locker"
22
22
"github.com/moby/patternmatcher"
23
23
digest "github.com/opencontainers/go-digest"
@@ -450,15 +450,15 @@ func (cc *cacheContext) Checksum(ctx context.Context, mountable cache.Mountable,
450
450
return digest .Digest (includedPaths [0 ].record .Digest ), nil
451
451
}
452
452
453
- digester := digest . Canonical . Digester ( )
453
+ h := cachedigest . NewHash ( cachedigest . TypeFileList )
454
454
for i , w := range includedPaths {
455
455
if i != 0 {
456
- digester . Hash () .Write ([]byte {0 })
456
+ h .Write ([]byte {0 })
457
457
}
458
- digester . Hash () .Write ([]byte (path .Base (w .path )))
459
- digester . Hash () .Write ([]byte (w .record .Digest ))
458
+ h .Write ([]byte (path .Base (w .path )))
459
+ h .Write ([]byte (w .record .Digest ))
460
460
}
461
- return digester . Digest (), nil
461
+ return h . Sum (), nil
462
462
}
463
463
464
464
func (cc * cacheContext ) includedPaths (ctx context.Context , m * mount , p string , opts ChecksumOpts ) ([]* includedPath , error ) {
@@ -881,7 +881,7 @@ func (cc *cacheContext) checksum(ctx context.Context, root *iradix.Node[*CacheRe
881
881
882
882
switch cr .Type {
883
883
case CacheRecordTypeDir :
884
- h := sha256 . New ( )
884
+ h := cachedigest . NewHash ( cachedigest . TypeFileList )
885
885
next := append (k , 0 )
886
886
iter := root .Iterator ()
887
887
iter .SeekLowerBound (append (slices .Clone (next ), 0 ))
@@ -906,7 +906,7 @@ func (cc *cacheContext) checksum(ctx context.Context, root *iradix.Node[*CacheRe
906
906
}
907
907
subk , _ , ok = iter .Next ()
908
908
}
909
- dgst = digest . NewDigest ( digest . SHA256 , h )
909
+ dgst = h . Sum ( )
910
910
911
911
default :
912
912
p := convertKeyToPath (bytes .TrimSuffix (k , []byte {0 }))
0 commit comments