mirror of
https://github.com/containers/podman.git
synced 2025-07-30 03:42:24 +08:00
Bump github.com/containers/storage from 1.28.0 to 1.28.1
Bumps [github.com/containers/storage](https://github.com/containers/storage) from 1.28.0 to 1.28.1. - [Release notes](https://github.com/containers/storage/releases) - [Changelog](https://github.com/containers/storage/blob/master/docs/containers-storage-changes.md) - [Commits](https://github.com/containers/storage/compare/v1.28.0...v1.28.1) Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
go.modgo.summodules.txt
vendor
github.com
containers/storage
ulikunitz/xz
LICENSETODO.mdbits.gocrc.goformat.go
internal
lzma
bintree.gobitops.gobreader.gobuffer.gobytewriter.godecoder.godecoderdict.godirectcodec.godistcodec.goencoder.goencoderdict.gohashtable.goheader.goheader2.golengthcodec.goliteralcodec.gomatchalgorithm.gooperation.goprob.goproperties.gorangecodec.goreader.goreader2.gostate.gotreecodecs.gowriter.gowriter2.go
lzmafilter.gonone-check.goreader.gowriter.go
2
go.mod
2
go.mod
@ -16,7 +16,7 @@ require (
|
||||
github.com/containers/image/v5 v5.10.5
|
||||
github.com/containers/ocicrypt v1.1.0
|
||||
github.com/containers/psgo v1.5.2
|
||||
github.com/containers/storage v1.28.0
|
||||
github.com/containers/storage v1.28.1
|
||||
github.com/coreos/go-systemd/v22 v22.3.0
|
||||
github.com/cri-o/ocicni v0.2.1-0.20210301205850-541cf7c703cf
|
||||
github.com/cyphar/filepath-securejoin v0.2.2
|
||||
|
6
go.sum
6
go.sum
@ -199,8 +199,9 @@ github.com/containers/storage v1.23.5/go.mod h1:ha26Q6ngehFNhf3AWoXldvAvwI4jFe3E
|
||||
github.com/containers/storage v1.24.5/go.mod h1:YC+2pY8SkfEAcZkwycxYbpK8EiRbx5soPPwz9dxe4IQ=
|
||||
github.com/containers/storage v1.24.6/go.mod h1:YC+2pY8SkfEAcZkwycxYbpK8EiRbx5soPPwz9dxe4IQ=
|
||||
github.com/containers/storage v1.24.8/go.mod h1:YC+2pY8SkfEAcZkwycxYbpK8EiRbx5soPPwz9dxe4IQ=
|
||||
github.com/containers/storage v1.28.0 h1:lA/9i9BIjfmIRxCI8GuzasYHmU4IUXVcfZZiDceD0Eg=
|
||||
github.com/containers/storage v1.28.0/go.mod h1:ixAwO7Bj31cigqPEG7aCz+PYmxkDxbIFdUFioYdxbzI=
|
||||
github.com/containers/storage v1.28.1 h1:axYBD+c0N0YkHelDoqzdLQXfY3fgb8pqIMsRHqUNGts=
|
||||
github.com/containers/storage v1.28.1/go.mod h1:5bwiMh2LkrN3AWIfDFMH7A/xbVNLcve+oeXYvHvW8cc=
|
||||
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||
github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU=
|
||||
@ -759,8 +760,9 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1
|
||||
github.com/u-root/u-root v7.0.0+incompatible/go.mod h1:RYkpo8pTHrNjW08opNd/U6p/RJE7K0D8fXO0d47+3YY=
|
||||
github.com/uber/jaeger-client-go v2.25.0+incompatible h1:IxcNZ7WRY1Y3G4poYlx24szfsn/3LvK9QHCq9oQw8+U=
|
||||
github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk=
|
||||
github.com/ulikunitz/xz v0.5.9 h1:RsKRIA2MO8x56wkkcd3LbtcE/uMszhb6DpRf+3uwa3I=
|
||||
github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8=
|
||||
github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
|
2
vendor/github.com/containers/storage/VERSION
generated
vendored
2
vendor/github.com/containers/storage/VERSION
generated
vendored
@ -1 +1 @@
|
||||
1.28.0
|
||||
1.28.1
|
||||
|
127
vendor/github.com/containers/storage/drivers/overlay/overlay.go
generated
vendored
127
vendor/github.com/containers/storage/drivers/overlay/overlay.go
generated
vendored
@ -30,7 +30,9 @@ import (
|
||||
"github.com/containers/storage/pkg/system"
|
||||
"github.com/containers/storage/pkg/unshare"
|
||||
units "github.com/docker/go-units"
|
||||
"github.com/hashicorp/go-multierror"
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
"github.com/opencontainers/selinux/go-selinux"
|
||||
"github.com/opencontainers/selinux/go-selinux/label"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
@ -43,7 +45,10 @@ var (
|
||||
untar = chrootarchive.UntarUncompressed
|
||||
)
|
||||
|
||||
const defaultPerms = os.FileMode(0555)
|
||||
const (
|
||||
defaultPerms = os.FileMode(0555)
|
||||
selinuxLabelTest = "system_u:object_r:container_file_t:s0"
|
||||
)
|
||||
|
||||
// This backend uses the overlay union filesystem for containers
|
||||
// with diff directories for each layer.
|
||||
@ -539,6 +544,12 @@ func supportsOverlay(home string, homeMagic graphdriver.FsMagic, rootUID, rootGI
|
||||
_ = idtools.MkdirAs(upperDir, 0700, rootUID, rootGID)
|
||||
_ = idtools.MkdirAs(workDir, 0700, rootUID, rootGID)
|
||||
flags := fmt.Sprintf("lowerdir=%s:%s,upperdir=%s,workdir=%s", lower1Dir, lower2Dir, upperDir, workDir)
|
||||
if selinux.GetEnabled() {
|
||||
// Linux 5.11 introduced unprivileged overlay mounts but it has an issue
|
||||
// when used together with selinux labels.
|
||||
// Check that overlay supports selinux labels as well.
|
||||
flags = label.FormatMountLabel(flags, selinuxLabelTest)
|
||||
}
|
||||
if len(flags) < unix.Getpagesize() {
|
||||
err := unix.Mount("overlay", mergedDir, "overlay", 0, flags)
|
||||
if err == nil {
|
||||
@ -548,6 +559,9 @@ func supportsOverlay(home string, homeMagic graphdriver.FsMagic, rootUID, rootGI
|
||||
logrus.Debugf("overlay test mount with multiple lowers failed %v", err)
|
||||
}
|
||||
flags = fmt.Sprintf("lowerdir=%s,upperdir=%s,workdir=%s", lower1Dir, upperDir, workDir)
|
||||
if selinux.GetEnabled() {
|
||||
flags = label.FormatMountLabel(flags, selinuxLabelTest)
|
||||
}
|
||||
if len(flags) < unix.Getpagesize() {
|
||||
err := unix.Mount("overlay", mergedDir, "overlay", 0, flags)
|
||||
if err == nil {
|
||||
@ -824,7 +838,17 @@ func (d *Driver) getLower(parent string) (string, error) {
|
||||
// Read Parent link fileA
|
||||
parentLink, err := ioutil.ReadFile(path.Join(parentDir, "link"))
|
||||
if err != nil {
|
||||
return "", err
|
||||
if !os.IsNotExist(err) {
|
||||
return "", err
|
||||
}
|
||||
logrus.Warnf("Can't read parent link %q because it does not exist. Going through storage to recreate the missing links.", path.Join(parentDir, "link"))
|
||||
if err := d.recreateSymlinks(); err != nil {
|
||||
return "", errors.Wrap(err, "error recreating the links")
|
||||
}
|
||||
parentLink, err = ioutil.ReadFile(path.Join(parentDir, "link"))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
lowers := []string{path.Join(linkDir, string(parentLink))}
|
||||
|
||||
@ -946,6 +970,7 @@ func (d *Driver) recreateSymlinks() error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("error reading driver home directory %q: %v", d.home, err)
|
||||
}
|
||||
linksDir := filepath.Join(d.home, "l")
|
||||
// This makes the link directory if it doesn't exist
|
||||
rootUID, rootGID, err := idtools.GetRootUIDGID(d.uidMaps, d.gidMaps)
|
||||
if err != nil {
|
||||
@ -954,28 +979,80 @@ func (d *Driver) recreateSymlinks() error {
|
||||
if err := idtools.MkdirAllAs(path.Join(d.home, linkDir), 0700, rootUID, rootGID); err != nil {
|
||||
return err
|
||||
}
|
||||
for _, dir := range dirs {
|
||||
// Skip over the linkDir and anything that is not a directory
|
||||
if dir.Name() == linkDir || !dir.Mode().IsDir() {
|
||||
// Keep looping as long as we take some corrective action in each iteration
|
||||
var errs *multierror.Error
|
||||
madeProgress := true
|
||||
for madeProgress {
|
||||
errs = nil
|
||||
madeProgress = false
|
||||
// Check that for each layer, there's a link in "l" with the name in
|
||||
// the layer's "link" file that points to the layer's "diff" directory.
|
||||
for _, dir := range dirs {
|
||||
// Skip over the linkDir and anything that is not a directory
|
||||
if dir.Name() == linkDir || !dir.Mode().IsDir() {
|
||||
continue
|
||||
}
|
||||
// Read the "link" file under each layer to get the name of the symlink
|
||||
data, err := ioutil.ReadFile(path.Join(d.dir(dir.Name()), "link"))
|
||||
if err != nil {
|
||||
errs = multierror.Append(errs, errors.Wrapf(err, "error reading name of symlink for %q", dir))
|
||||
continue
|
||||
}
|
||||
linkPath := path.Join(d.home, linkDir, strings.Trim(string(data), "\n"))
|
||||
// Check if the symlink exists, and if it doesn't, create it again with the
|
||||
// name we got from the "link" file
|
||||
_, err = os.Lstat(linkPath)
|
||||
if err != nil && os.IsNotExist(err) {
|
||||
if err := os.Symlink(path.Join("..", dir.Name(), "diff"), linkPath); err != nil {
|
||||
errs = multierror.Append(errs, err)
|
||||
continue
|
||||
}
|
||||
madeProgress = true
|
||||
} else if err != nil {
|
||||
errs = multierror.Append(errs, errors.Wrapf(err, "error trying to stat %q", linkPath))
|
||||
continue
|
||||
}
|
||||
}
|
||||
// Now check if we somehow lost a "link" file, by making sure
|
||||
// that each symlink we have corresponds to one.
|
||||
links, err := ioutil.ReadDir(linksDir)
|
||||
if err != nil {
|
||||
errs = multierror.Append(errs, errors.Wrapf(err, "error reading links directory %q", linksDir))
|
||||
continue
|
||||
}
|
||||
// Read the "link" file under each layer to get the name of the symlink
|
||||
data, err := ioutil.ReadFile(path.Join(d.dir(dir.Name()), "link"))
|
||||
if err != nil {
|
||||
return fmt.Errorf("error reading name of symlink for %q: %v", dir, err)
|
||||
}
|
||||
linkPath := path.Join(d.home, linkDir, strings.Trim(string(data), "\n"))
|
||||
// Check if the symlink exists, and if it doesn't create it again with the name we
|
||||
// got from the "link" file
|
||||
_, err = os.Stat(linkPath)
|
||||
if err != nil && os.IsNotExist(err) {
|
||||
if err := os.Symlink(path.Join("..", dir.Name(), "diff"), linkPath); err != nil {
|
||||
return err
|
||||
// Go through all of the symlinks in the "l" directory
|
||||
for _, link := range links {
|
||||
// Read the symlink's target, which should be "../$layer/diff"
|
||||
target, err := os.Readlink(filepath.Join(linksDir, link.Name()))
|
||||
if err != nil {
|
||||
errs = multierror.Append(errs, errors.Wrapf(err, "error reading target of link %q", link))
|
||||
continue
|
||||
}
|
||||
targetComponents := strings.Split(target, string(os.PathSeparator))
|
||||
if len(targetComponents) != 3 || targetComponents[0] != ".." || targetComponents[2] != "diff" {
|
||||
errs = multierror.Append(errs, errors.Errorf("link target of %q looks weird: %q", link, target))
|
||||
// force the link to be recreated on the next pass
|
||||
os.Remove(filepath.Join(linksDir, link.Name()))
|
||||
madeProgress = true
|
||||
continue
|
||||
}
|
||||
// Reconstruct the name of the target's link file and check that
|
||||
// it has the basename of our symlink in it.
|
||||
targetID := targetComponents[1]
|
||||
linkFile := filepath.Join(d.dir(targetID), "link")
|
||||
data, err := ioutil.ReadFile(linkFile)
|
||||
if err != nil || string(data) != link.Name() {
|
||||
if err := ioutil.WriteFile(linkFile, []byte(link.Name()), 0644); err != nil {
|
||||
errs = multierror.Append(errs, errors.Wrapf(err, "error correcting link for layer %q", targetID))
|
||||
continue
|
||||
}
|
||||
madeProgress = true
|
||||
}
|
||||
} else if err != nil {
|
||||
return fmt.Errorf("error trying to stat %q: %v", linkPath, err)
|
||||
}
|
||||
}
|
||||
if errs != nil {
|
||||
return errs.ErrorOrNil()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1032,7 +1109,17 @@ func (d *Driver) get(id string, disableShifting bool, options graphdriver.MountO
|
||||
// lists that we're building. "diff" itself is the upper, so it won't be in the lists.
|
||||
link, err := ioutil.ReadFile(path.Join(dir, "link"))
|
||||
if err != nil {
|
||||
return "", err
|
||||
if !os.IsNotExist(err) {
|
||||
return "", err
|
||||
}
|
||||
logrus.Warnf("Can't read parent link %q because it does not exist. Going through storage to recreate the missing links.", path.Join(dir, "link"))
|
||||
if err := d.recreateSymlinks(); err != nil {
|
||||
return "", errors.Wrap(err, "error recreating the links")
|
||||
}
|
||||
link, err = ioutil.ReadFile(path.Join(dir, "link"))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
diffN := 1
|
||||
perms := defaultPerms
|
||||
|
1
vendor/github.com/containers/storage/go.mod
generated
vendored
1
vendor/github.com/containers/storage/go.mod
generated
vendored
@ -23,6 +23,7 @@ require (
|
||||
github.com/stretchr/testify v1.7.0
|
||||
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635
|
||||
github.com/tchap/go-patricia v2.3.0+incompatible
|
||||
github.com/ulikunitz/xz v0.5.10
|
||||
github.com/vbatts/tar-split v0.11.1
|
||||
golang.org/x/net v0.0.0-20201224014010-6772e930b67b
|
||||
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c
|
||||
|
2
vendor/github.com/containers/storage/go.sum
generated
vendored
2
vendor/github.com/containers/storage/go.sum
generated
vendored
@ -476,6 +476,8 @@ github.com/tchap/go-patricia v2.3.0+incompatible h1:GkY4dP3cEfEASBPPkWd+AmjYxhmD
|
||||
github.com/tchap/go-patricia v2.3.0+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8=
|
||||
github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
|
||||
github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||
|
45
vendor/github.com/containers/storage/pkg/archive/archive.go
generated
vendored
45
vendor/github.com/containers/storage/pkg/archive/archive.go
generated
vendored
@ -9,7 +9,6 @@ import (
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strings"
|
||||
@ -18,7 +17,6 @@ import (
|
||||
|
||||
"github.com/containers/storage/pkg/fileutils"
|
||||
"github.com/containers/storage/pkg/idtools"
|
||||
"github.com/containers/storage/pkg/ioutils"
|
||||
"github.com/containers/storage/pkg/pools"
|
||||
"github.com/containers/storage/pkg/promise"
|
||||
"github.com/containers/storage/pkg/system"
|
||||
@ -26,6 +24,7 @@ import (
|
||||
rsystem "github.com/opencontainers/runc/libcontainer/system"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/ulikunitz/xz"
|
||||
)
|
||||
|
||||
type (
|
||||
@ -173,12 +172,6 @@ func DetectCompression(source []byte) Compression {
|
||||
return Uncompressed
|
||||
}
|
||||
|
||||
func xzDecompress(archive io.Reader) (io.ReadCloser, <-chan struct{}, error) {
|
||||
args := []string{"xz", "-d", "-c", "-q"}
|
||||
|
||||
return cmdStream(exec.Command(args[0], args[1:]...), archive)
|
||||
}
|
||||
|
||||
// DecompressStream decompresses the archive and returns a ReaderCloser with the decompressed archive.
|
||||
func DecompressStream(archive io.Reader) (io.ReadCloser, error) {
|
||||
p := pools.BufioReader32KPool
|
||||
@ -211,15 +204,12 @@ func DecompressStream(archive io.Reader) (io.ReadCloser, error) {
|
||||
readBufWrapper := p.NewReadCloserWrapper(buf, bz2Reader)
|
||||
return readBufWrapper, nil
|
||||
case Xz:
|
||||
xzReader, chdone, err := xzDecompress(buf)
|
||||
xzReader, err := xz.NewReader(buf)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
readBufWrapper := p.NewReadCloserWrapper(buf, xzReader)
|
||||
return ioutils.NewReadCloserWrapper(readBufWrapper, func() error {
|
||||
<-chdone
|
||||
return readBufWrapper.Close()
|
||||
}), nil
|
||||
return readBufWrapper, nil
|
||||
case Zstd:
|
||||
return zstdReader(buf)
|
||||
default:
|
||||
@ -1319,35 +1309,6 @@ func remapIDs(readIDMappings, writeIDMappings *idtools.IDMappings, chownOpts *id
|
||||
return nil
|
||||
}
|
||||
|
||||
// cmdStream executes a command, and returns its stdout as a stream.
|
||||
// If the command fails to run or doesn't complete successfully, an error
|
||||
// will be returned, including anything written on stderr.
|
||||
func cmdStream(cmd *exec.Cmd, input io.Reader) (io.ReadCloser, <-chan struct{}, error) {
|
||||
chdone := make(chan struct{})
|
||||
cmd.Stdin = input
|
||||
pipeR, pipeW := io.Pipe()
|
||||
cmd.Stdout = pipeW
|
||||
var errBuf bytes.Buffer
|
||||
cmd.Stderr = &errBuf
|
||||
|
||||
// Run the command and return the pipe
|
||||
if err := cmd.Start(); err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
|
||||
// Copy stdout to the returned pipe
|
||||
go func() {
|
||||
if err := cmd.Wait(); err != nil {
|
||||
pipeW.CloseWithError(fmt.Errorf("%s: %s", err, errBuf.String()))
|
||||
} else {
|
||||
pipeW.Close()
|
||||
}
|
||||
close(chdone)
|
||||
}()
|
||||
|
||||
return pipeR, chdone, nil
|
||||
}
|
||||
|
||||
// NewTempArchive reads the content of src into a temporary file, and returns the contents
|
||||
// of that file as an archive. The archive can only be read once - as soon as reading completes,
|
||||
// the file will be deleted.
|
||||
|
2
vendor/github.com/ulikunitz/xz/LICENSE
generated
vendored
2
vendor/github.com/ulikunitz/xz/LICENSE
generated
vendored
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2014-2020 Ulrich Kunitz
|
||||
Copyright (c) 2014-2021 Ulrich Kunitz
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
8
vendor/github.com/ulikunitz/xz/TODO.md
generated
vendored
8
vendor/github.com/ulikunitz/xz/TODO.md
generated
vendored
@ -86,6 +86,14 @@
|
||||
|
||||
## Log
|
||||
|
||||
### 2021-02-02
|
||||
|
||||
Mituo Heijo has fuzzed xz and found a bug in the function readIndexBody. The
|
||||
function allocated a slice of records immediately after reading the value
|
||||
without further checks. Since the number has been too large the make function
|
||||
did panic. The fix is to check the number against the expected number of records
|
||||
before allocating the records.
|
||||
|
||||
### 2020-12-17
|
||||
|
||||
Release v0.5.9 fixes warnings, a typo and adds SECURITY.md.
|
||||
|
2
vendor/github.com/ulikunitz/xz/bits.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/bits.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/crc.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/crc.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
9
vendor/github.com/ulikunitz/xz/format.go
generated
vendored
9
vendor/github.com/ulikunitz/xz/format.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@ -662,7 +662,7 @@ func writeIndex(w io.Writer, index []record) (n int64, err error) {
|
||||
|
||||
// readIndexBody reads the index from the reader. It assumes that the
|
||||
// index indicator has already been read.
|
||||
func readIndexBody(r io.Reader) (records []record, n int64, err error) {
|
||||
func readIndexBody(r io.Reader, expectedRecordLen int) (records []record, n int64, err error) {
|
||||
crc := crc32.NewIEEE()
|
||||
// index indicator
|
||||
crc.Write([]byte{0})
|
||||
@ -679,6 +679,11 @@ func readIndexBody(r io.Reader) (records []record, n int64, err error) {
|
||||
if recLen < 0 || uint64(recLen) != u {
|
||||
return nil, n, errors.New("xz: record number overflow")
|
||||
}
|
||||
if recLen != expectedRecordLen {
|
||||
return nil, n, fmt.Errorf(
|
||||
"xz: index length is %d; want %d",
|
||||
recLen, expectedRecordLen)
|
||||
}
|
||||
|
||||
// list of records
|
||||
records = make([]record, recLen)
|
||||
|
2
vendor/github.com/ulikunitz/xz/internal/hash/cyclic_poly.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/internal/hash/cyclic_poly.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/internal/hash/doc.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/internal/hash/doc.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/internal/hash/rabin_karp.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/internal/hash/rabin_karp.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/internal/hash/roller.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/internal/hash/roller.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/internal/xlog/xlog.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/internal/xlog/xlog.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/bintree.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/bintree.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/bitops.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/bitops.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/breader.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/breader.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/buffer.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/buffer.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/bytewriter.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/bytewriter.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/decoder.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/decoder.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/decoderdict.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/decoderdict.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/directcodec.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/directcodec.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/distcodec.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/distcodec.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/encoder.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/encoder.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/encoderdict.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/encoderdict.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/hashtable.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/hashtable.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/header.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/header.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/header2.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/header2.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/lengthcodec.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/lengthcodec.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/literalcodec.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/literalcodec.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/matchalgorithm.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/matchalgorithm.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/operation.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/operation.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/prob.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/prob.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/properties.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/properties.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/rangecodec.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/rangecodec.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/reader.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/reader.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/reader2.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/reader2.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/state.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/state.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/treecodecs.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/treecodecs.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/writer.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/writer.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzma/writer2.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzma/writer2.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/lzmafilter.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/lzmafilter.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
2
vendor/github.com/ulikunitz/xz/none-check.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/none-check.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
9
vendor/github.com/ulikunitz/xz/reader.go
generated
vendored
9
vendor/github.com/ulikunitz/xz/reader.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
@ -160,17 +160,14 @@ func (c ReaderConfig) newStreamReader(xz io.Reader) (r *streamReader, err error)
|
||||
|
||||
// readTail reads the index body and the xz footer.
|
||||
func (r *streamReader) readTail() error {
|
||||
index, n, err := readIndexBody(r.xz)
|
||||
index, n, err := readIndexBody(r.xz, len(r.index))
|
||||
if err != nil {
|
||||
if err == io.EOF {
|
||||
err = io.ErrUnexpectedEOF
|
||||
}
|
||||
return err
|
||||
}
|
||||
if len(index) != len(r.index) {
|
||||
return fmt.Errorf("xz: index length is %d; want %d",
|
||||
len(index), len(r.index))
|
||||
}
|
||||
|
||||
for i, rec := range r.index {
|
||||
if rec != index[i] {
|
||||
return fmt.Errorf("xz: record %d is %v; want %v",
|
||||
|
2
vendor/github.com/ulikunitz/xz/writer.go
generated
vendored
2
vendor/github.com/ulikunitz/xz/writer.go
generated
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014-2019 Ulrich Kunitz. All rights reserved.
|
||||
// Copyright 2014-2021 Ulrich Kunitz. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
|
4
vendor/modules.txt
vendored
4
vendor/modules.txt
vendored
@ -187,7 +187,7 @@ github.com/containers/psgo/internal/dev
|
||||
github.com/containers/psgo/internal/host
|
||||
github.com/containers/psgo/internal/proc
|
||||
github.com/containers/psgo/internal/process
|
||||
# github.com/containers/storage v1.28.0
|
||||
# github.com/containers/storage v1.28.1
|
||||
github.com/containers/storage
|
||||
github.com/containers/storage/drivers
|
||||
github.com/containers/storage/drivers/aufs
|
||||
@ -558,7 +558,7 @@ github.com/uber/jaeger-client-go/thrift-gen/agent
|
||||
github.com/uber/jaeger-client-go/thrift-gen/jaeger
|
||||
github.com/uber/jaeger-client-go/thrift-gen/zipkincore
|
||||
github.com/uber/jaeger-client-go/utils
|
||||
# github.com/ulikunitz/xz v0.5.9
|
||||
# github.com/ulikunitz/xz v0.5.10
|
||||
github.com/ulikunitz/xz
|
||||
github.com/ulikunitz/xz/internal/hash
|
||||
github.com/ulikunitz/xz/internal/xlog
|
||||
|
Reference in New Issue
Block a user