mirror of
https://github.com/containers/podman.git
synced 2025-12-11 09:18:34 +08:00
Bump github.com/containers/storage from 1.23.7 to 1.23.8
Bumps [github.com/containers/storage](https://github.com/containers/storage) from 1.23.7 to 1.23.8. - [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.23.7...v1.23.8) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
committed by
Daniel J Walsh
parent
2aaa036f56
commit
c8c35c9792
23
vendor/github.com/containers/storage/pkg/archive/archive.go
generated
vendored
23
vendor/github.com/containers/storage/pkg/archive/archive.go
generated
vendored
@@ -139,6 +139,7 @@ func IsArchivePath(path string) bool {
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
defer rdr.Close()
|
||||
r := tar.NewReader(rdr)
|
||||
_, err = r.Next()
|
||||
return err == nil
|
||||
@@ -398,7 +399,7 @@ func ReadSecurityXattrToTarHeader(path string, hdr *tar.Header) error {
|
||||
}
|
||||
for _, xattr := range []string{"security.capability", "security.ima"} {
|
||||
capability, err := system.Lgetxattr(path, xattr)
|
||||
if err != nil && err != system.EOPNOTSUPP && err != system.ErrNotSupportedPlatform {
|
||||
if err != nil && !errors.Is(err, system.EOPNOTSUPP) && err != system.ErrNotSupportedPlatform {
|
||||
return errors.Wrapf(err, "failed to read %q attribute from %q", xattr, path)
|
||||
}
|
||||
if capability != nil {
|
||||
@@ -411,17 +412,17 @@ func ReadSecurityXattrToTarHeader(path string, hdr *tar.Header) error {
|
||||
// ReadUserXattrToTarHeader reads user.* xattr from filesystem to a tar header
|
||||
func ReadUserXattrToTarHeader(path string, hdr *tar.Header) error {
|
||||
xattrs, err := system.Llistxattr(path)
|
||||
if err != nil && err != system.EOPNOTSUPP && err != system.ErrNotSupportedPlatform {
|
||||
if err != nil && !errors.Is(err, system.EOPNOTSUPP) && err != system.ErrNotSupportedPlatform {
|
||||
return err
|
||||
}
|
||||
for _, key := range xattrs {
|
||||
if strings.HasPrefix(key, "user.") {
|
||||
value, err := system.Lgetxattr(path, key)
|
||||
if err == system.E2BIG {
|
||||
logrus.Errorf("archive: Skipping xattr for file %s since value is too big: %s", path, key)
|
||||
continue
|
||||
}
|
||||
if err != nil {
|
||||
if errors.Is(err, system.E2BIG) {
|
||||
logrus.Errorf("archive: Skipping xattr for file %s since value is too big: %s", path, key)
|
||||
continue
|
||||
}
|
||||
return err
|
||||
}
|
||||
if hdr.Xattrs == nil {
|
||||
@@ -724,16 +725,16 @@ func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader, L
|
||||
}
|
||||
}
|
||||
|
||||
var errors []string
|
||||
var errs []string
|
||||
for key, value := range hdr.Xattrs {
|
||||
if err := system.Lsetxattr(path, key, []byte(value), 0); err != nil {
|
||||
if err == syscall.ENOTSUP || (err == syscall.EPERM && inUserns) {
|
||||
if errors.Is(err, syscall.ENOTSUP) || (inUserns && errors.Is(err, syscall.EPERM)) {
|
||||
// We ignore errors here because not all graphdrivers support
|
||||
// xattrs *cough* old versions of AUFS *cough*. However only
|
||||
// ENOTSUP should be emitted in that case, otherwise we still
|
||||
// bail. We also ignore EPERM errors if we are running in a
|
||||
// user namespace.
|
||||
errors = append(errors, err.Error())
|
||||
errs = append(errs, err.Error())
|
||||
continue
|
||||
}
|
||||
return err
|
||||
@@ -741,9 +742,9 @@ func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader, L
|
||||
|
||||
}
|
||||
|
||||
if len(errors) > 0 {
|
||||
if len(errs) > 0 {
|
||||
logrus.WithFields(logrus.Fields{
|
||||
"errors": errors,
|
||||
"errors": errs,
|
||||
}).Warn("ignored xattrs in archive: underlying filesystem doesn't support them")
|
||||
}
|
||||
|
||||
|
||||
13
vendor/github.com/containers/storage/pkg/archive/changes_linux.go
generated
vendored
13
vendor/github.com/containers/storage/pkg/archive/changes_linux.go
generated
vendored
@@ -2,6 +2,7 @@ package archive
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -86,21 +87,21 @@ func walkchunk(path string, fi os.FileInfo, dir string, root *FileInfo) error {
|
||||
}
|
||||
info.stat = stat
|
||||
info.capability, err = system.Lgetxattr(cpath, "security.capability") // lgetxattr(2): fs access
|
||||
if err != nil && err != system.EOPNOTSUPP {
|
||||
if err != nil && !errors.Is(err, system.EOPNOTSUPP) {
|
||||
return err
|
||||
}
|
||||
xattrs, err := system.Llistxattr(cpath)
|
||||
if err != nil && err != system.EOPNOTSUPP {
|
||||
if err != nil && !errors.Is(err, system.EOPNOTSUPP) {
|
||||
return err
|
||||
}
|
||||
for _, key := range xattrs {
|
||||
if strings.HasPrefix(key, "user.") {
|
||||
value, err := system.Lgetxattr(cpath, key)
|
||||
if err == system.E2BIG {
|
||||
logrus.Errorf("archive: Skipping xattr for file %s since value is too big: %s", cpath, key)
|
||||
continue
|
||||
}
|
||||
if err != nil {
|
||||
if errors.Is(err, system.E2BIG) {
|
||||
logrus.Errorf("archive: Skipping xattr for file %s since value is too big: %s", cpath, key)
|
||||
continue
|
||||
}
|
||||
return err
|
||||
}
|
||||
if info.xattrs == nil {
|
||||
|
||||
17
vendor/github.com/containers/storage/pkg/system/chmod.go
generated
vendored
Normal file
17
vendor/github.com/containers/storage/pkg/system/chmod.go
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"os"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
func Chmod(name string, mode os.FileMode) error {
|
||||
err := os.Chmod(name, mode)
|
||||
|
||||
for err != nil && errors.Is(err, syscall.EINTR) {
|
||||
err = os.Chmod(name, mode)
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
20
vendor/github.com/containers/storage/pkg/system/lchown.go
generated
vendored
Normal file
20
vendor/github.com/containers/storage/pkg/system/lchown.go
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
package system
|
||||
|
||||
import (
|
||||
"os"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
func Lchown(name string, uid, gid int) error {
|
||||
err := syscall.Lchown(name, uid, gid)
|
||||
|
||||
for err == syscall.EINTR {
|
||||
err = syscall.Lchown(name, uid, gid)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return &os.PathError{Op: "lchown", Path: name, Err: err}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
15
vendor/github.com/containers/storage/pkg/system/xattrs_linux.go
generated
vendored
15
vendor/github.com/containers/storage/pkg/system/xattrs_linux.go
generated
vendored
@@ -2,6 +2,7 @@ package system
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
@@ -26,7 +27,7 @@ func Lgetxattr(path string, attr string) ([]byte, error) {
|
||||
// Buffer too small, use zero-sized buffer to get the actual size
|
||||
sz, errno = unix.Lgetxattr(path, attr, []byte{})
|
||||
if errno != nil {
|
||||
return nil, errno
|
||||
return nil, &os.PathError{Op: "lgetxattr", Path: path, Err: errno}
|
||||
}
|
||||
dest = make([]byte, sz)
|
||||
sz, errno = unix.Lgetxattr(path, attr, dest)
|
||||
@@ -36,7 +37,7 @@ func Lgetxattr(path string, attr string) ([]byte, error) {
|
||||
case errno == unix.ENODATA:
|
||||
return nil, nil
|
||||
case errno != nil:
|
||||
return nil, errno
|
||||
return nil, &os.PathError{Op: "lgetxattr", Path: path, Err: errno}
|
||||
}
|
||||
|
||||
return dest[:sz], nil
|
||||
@@ -45,7 +46,11 @@ func Lgetxattr(path string, attr string) ([]byte, error) {
|
||||
// Lsetxattr sets the value of the extended attribute identified by attr
|
||||
// and associated with the given path in the file system.
|
||||
func Lsetxattr(path string, attr string, data []byte, flags int) error {
|
||||
return unix.Lsetxattr(path, attr, data, flags)
|
||||
if err := unix.Lsetxattr(path, attr, data, flags); err != nil {
|
||||
return &os.PathError{Op: "lsetxattr", Path: path, Err: err}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Llistxattr lists extended attributes associated with the given path
|
||||
@@ -58,14 +63,14 @@ func Llistxattr(path string) ([]string, error) {
|
||||
// Buffer too small, use zero-sized buffer to get the actual size
|
||||
sz, errno = unix.Llistxattr(path, []byte{})
|
||||
if errno != nil {
|
||||
return nil, errno
|
||||
return nil, &os.PathError{Op: "llistxattr", Path: path, Err: errno}
|
||||
}
|
||||
|
||||
dest = make([]byte, sz)
|
||||
sz, errno = unix.Llistxattr(path, dest)
|
||||
}
|
||||
if errno != nil {
|
||||
return nil, errno
|
||||
return nil, &os.PathError{Op: "llistxattr", Path: path, Err: errno}
|
||||
}
|
||||
|
||||
var attrs []string
|
||||
|
||||
Reference in New Issue
Block a user