mirror of
https://github.com/containers/podman.git
synced 2025-07-21 04:24:36 +08:00
Merge pull request #11179 from containers/dependabot/go_modules/github.com/opencontainers/selinux-1.8.4
Bump github.com/opencontainers/selinux from 1.8.3 to 1.8.4
This commit is contained in:
2
go.mod
2
go.mod
@ -50,7 +50,7 @@ require (
|
|||||||
github.com/opencontainers/runc v1.0.1
|
github.com/opencontainers/runc v1.0.1
|
||||||
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
|
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
|
||||||
github.com/opencontainers/runtime-tools v0.9.0
|
github.com/opencontainers/runtime-tools v0.9.0
|
||||||
github.com/opencontainers/selinux v1.8.3
|
github.com/opencontainers/selinux v1.8.4
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
github.com/pmezard/go-difflib v1.0.0
|
github.com/pmezard/go-difflib v1.0.0
|
||||||
github.com/rootless-containers/rootlesskit v0.14.4
|
github.com/rootless-containers/rootlesskit v0.14.4
|
||||||
|
3
go.sum
3
go.sum
@ -751,8 +751,9 @@ github.com/opencontainers/selinux v1.5.1/go.mod h1:yTcKuYAh6R95iDpefGLQaPaRwJFwy
|
|||||||
github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE=
|
github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE=
|
||||||
github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo=
|
github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo=
|
||||||
github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8=
|
github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8=
|
||||||
github.com/opencontainers/selinux v1.8.3 h1:tzZR7AuKB5gU1+53uBkoG4XdIFGZzvJTOVoNbRQI8/4=
|
|
||||||
github.com/opencontainers/selinux v1.8.3/go.mod h1:HTvjPFoGMbpQsG886e3lQwnsRWtE4TC1OF3OUvG9FAo=
|
github.com/opencontainers/selinux v1.8.3/go.mod h1:HTvjPFoGMbpQsG886e3lQwnsRWtE4TC1OF3OUvG9FAo=
|
||||||
|
github.com/opencontainers/selinux v1.8.4 h1:krlgQ6/j9CkCXT5oW0yVXdQFOME3NjKuuAZXuR6O7P4=
|
||||||
|
github.com/opencontainers/selinux v1.8.4/go.mod h1:HTvjPFoGMbpQsG886e3lQwnsRWtE4TC1OF3OUvG9FAo=
|
||||||
github.com/openshift/imagebuilder v1.2.2-0.20210415181909-87f3e48c2656 h1:WaxyNFpmIDu4i6so9r6LVFIbSaXqsj8oitMitt86ae4=
|
github.com/openshift/imagebuilder v1.2.2-0.20210415181909-87f3e48c2656 h1:WaxyNFpmIDu4i6so9r6LVFIbSaXqsj8oitMitt86ae4=
|
||||||
github.com/openshift/imagebuilder v1.2.2-0.20210415181909-87f3e48c2656/go.mod h1:9aJRczxCH0mvT6XQ+5STAQaPWz7OsWcU5/mRkt8IWeo=
|
github.com/openshift/imagebuilder v1.2.2-0.20210415181909-87f3e48c2656/go.mod h1:9aJRczxCH0mvT6XQ+5STAQaPWz7OsWcU5/mRkt8IWeo=
|
||||||
github.com/ostreedev/ostree-go v0.0.0-20190702140239-759a8c1ac913 h1:TnbXhKzrTOyuvWrjI8W6pcoI9XPbLHFXCdN2dtUw7Rw=
|
github.com/ostreedev/ostree-go v0.0.0-20190702140239-759a8c1ac913 h1:TnbXhKzrTOyuvWrjI8W6pcoI9XPbLHFXCdN2dtUw7Rw=
|
||||||
|
22
vendor/github.com/opencontainers/selinux/go-selinux/rchcon.go
generated
vendored
Normal file
22
vendor/github.com/opencontainers/selinux/go-selinux/rchcon.go
generated
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// +build linux,go1.16
|
||||||
|
|
||||||
|
package selinux
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"io/fs"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/opencontainers/selinux/pkg/pwalkdir"
|
||||||
|
)
|
||||||
|
|
||||||
|
func rchcon(fpath, label string) error {
|
||||||
|
return pwalkdir.Walk(fpath, func(p string, _ fs.DirEntry, _ error) error {
|
||||||
|
e := setFileLabel(p, label)
|
||||||
|
// Walk a file tree can race with removal, so ignore ENOENT.
|
||||||
|
if errors.Is(e, os.ErrNotExist) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return e
|
||||||
|
})
|
||||||
|
}
|
21
vendor/github.com/opencontainers/selinux/go-selinux/rchcon_go115.go
generated
vendored
Normal file
21
vendor/github.com/opencontainers/selinux/go-selinux/rchcon_go115.go
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
// +build linux,!go1.16
|
||||||
|
|
||||||
|
package selinux
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/opencontainers/selinux/pkg/pwalk"
|
||||||
|
)
|
||||||
|
|
||||||
|
func rchcon(fpath, label string) error {
|
||||||
|
return pwalk.Walk(fpath, func(p string, _ os.FileInfo, _ error) error {
|
||||||
|
e := setFileLabel(p, label)
|
||||||
|
// Walk a file tree can race with removal, so ignore ENOENT.
|
||||||
|
if errors.Is(e, os.ErrNotExist) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return e
|
||||||
|
})
|
||||||
|
}
|
12
vendor/github.com/opencontainers/selinux/go-selinux/selinux_linux.go
generated
vendored
12
vendor/github.com/opencontainers/selinux/go-selinux/selinux_linux.go
generated
vendored
@ -18,7 +18,6 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/bits-and-blooms/bitset"
|
"github.com/bits-and-blooms/bitset"
|
||||||
"github.com/opencontainers/selinux/pkg/pwalk"
|
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1048,17 +1047,10 @@ func chcon(fpath string, label string, recurse bool) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !recurse {
|
if !recurse {
|
||||||
return SetFileLabel(fpath, label)
|
return setFileLabel(fpath, label)
|
||||||
}
|
}
|
||||||
|
|
||||||
return pwalk.Walk(fpath, func(p string, info os.FileInfo, err error) error {
|
return rchcon(fpath, label)
|
||||||
e := SetFileLabel(p, label)
|
|
||||||
// Walk a file tree can race with removal, so ignore ENOENT
|
|
||||||
if errors.Is(e, os.ErrNotExist) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return e
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// dupSecOpt takes an SELinux process label and returns security options that
|
// dupSecOpt takes an SELinux process label and returns security options that
|
||||||
|
6
vendor/github.com/opencontainers/selinux/pkg/pwalk/README.md
generated
vendored
6
vendor/github.com/opencontainers/selinux/pkg/pwalk/README.md
generated
vendored
@ -8,6 +8,12 @@ By default, it utilizes 2\*runtime.NumCPU() goroutines for callbacks.
|
|||||||
This can be changed by using WalkN function which has the additional
|
This can be changed by using WalkN function which has the additional
|
||||||
parameter, specifying the number of goroutines (concurrency).
|
parameter, specifying the number of goroutines (concurrency).
|
||||||
|
|
||||||
|
### pwalk vs pwalkdir
|
||||||
|
|
||||||
|
This package is deprecated in favor of
|
||||||
|
[pwalkdir](https://pkg.go.dev/github.com/opencontainers/selinux/pkg/pwalkdir),
|
||||||
|
which is faster, but requires at least Go 1.16.
|
||||||
|
|
||||||
### Caveats
|
### Caveats
|
||||||
|
|
||||||
Please note the following limitations of this code:
|
Please note the following limitations of this code:
|
||||||
|
4
vendor/github.com/opencontainers/selinux/pkg/pwalk/pwalk.go
generated
vendored
4
vendor/github.com/opencontainers/selinux/pkg/pwalk/pwalk.go
generated
vendored
@ -19,7 +19,7 @@ type WalkFunc = filepath.WalkFunc
|
|||||||
//
|
//
|
||||||
// Note that this implementation only supports primitive error handling:
|
// Note that this implementation only supports primitive error handling:
|
||||||
//
|
//
|
||||||
// - no errors are ever passed to WalkFn;
|
// - no errors are ever passed to walkFn;
|
||||||
//
|
//
|
||||||
// - once a walkFn returns any error, all further processing stops
|
// - once a walkFn returns any error, all further processing stops
|
||||||
// and the error is returned to the caller of Walk;
|
// and the error is returned to the caller of Walk;
|
||||||
@ -95,7 +95,7 @@ func WalkN(root string, walkFn WalkFunc, num int) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// walkArgs holds the arguments that were passed to the Walk or WalkLimit
|
// walkArgs holds the arguments that were passed to the Walk or WalkN
|
||||||
// functions.
|
// functions.
|
||||||
type walkArgs struct {
|
type walkArgs struct {
|
||||||
path string
|
path string
|
||||||
|
54
vendor/github.com/opencontainers/selinux/pkg/pwalkdir/README.md
generated
vendored
Normal file
54
vendor/github.com/opencontainers/selinux/pkg/pwalkdir/README.md
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
## pwalkdir: parallel implementation of filepath.WalkDir
|
||||||
|
|
||||||
|
This is a wrapper for [filepath.WalkDir](https://pkg.go.dev/path/filepath#WalkDir)
|
||||||
|
which may speed it up by calling multiple callback functions (WalkDirFunc)
|
||||||
|
in parallel, utilizing goroutines.
|
||||||
|
|
||||||
|
By default, it utilizes 2\*runtime.NumCPU() goroutines for callbacks.
|
||||||
|
This can be changed by using WalkN function which has the additional
|
||||||
|
parameter, specifying the number of goroutines (concurrency).
|
||||||
|
|
||||||
|
### pwalk vs pwalkdir
|
||||||
|
|
||||||
|
This package is very similar to
|
||||||
|
[pwalk](https://pkg.go.dev/github.com/opencontainers/selinux/pkg/pwalkdir),
|
||||||
|
but utilizes `filepath.WalkDir` (added to Go 1.16), which does not call stat(2)
|
||||||
|
on every entry and is therefore faster (up to 3x, depending on usage scenario).
|
||||||
|
|
||||||
|
Users who are OK with requiring Go 1.16+ should switch to this
|
||||||
|
implementation.
|
||||||
|
|
||||||
|
### Caveats
|
||||||
|
|
||||||
|
Please note the following limitations of this code:
|
||||||
|
|
||||||
|
* Unlike filepath.WalkDir, the order of calls is non-deterministic;
|
||||||
|
|
||||||
|
* Only primitive error handling is supported:
|
||||||
|
|
||||||
|
* fs.SkipDir is not supported;
|
||||||
|
|
||||||
|
* no errors are ever passed to WalkDirFunc;
|
||||||
|
|
||||||
|
* once any error is returned from any walkDirFunc instance, no more calls
|
||||||
|
to WalkDirFunc are made, and the error is returned to the caller of WalkDir;
|
||||||
|
|
||||||
|
* if more than one WalkDirFunc instance will return an error, only one
|
||||||
|
of such errors will be propagated to and returned by WalkDir, others
|
||||||
|
will be silently discarded.
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
For the official documentation, see
|
||||||
|
https://pkg.go.dev/github.com/opencontainers/selinux/pkg/pwalkdir
|
||||||
|
|
||||||
|
### Benchmarks
|
||||||
|
|
||||||
|
For a WalkDirFunc that consists solely of the return statement, this
|
||||||
|
implementation is about 15% slower than the standard library's
|
||||||
|
filepath.WalkDir.
|
||||||
|
|
||||||
|
Otherwise (if a WalkDirFunc is actually doing something) this is usually
|
||||||
|
faster, except when the WalkDirN(..., 1) is used. Run `go test -bench .`
|
||||||
|
to see how different operations can benefit from it, as well as how the
|
||||||
|
level of paralellism affects the speed.
|
103
vendor/github.com/opencontainers/selinux/pkg/pwalkdir/pwalkdir.go
generated
vendored
Normal file
103
vendor/github.com/opencontainers/selinux/pkg/pwalkdir/pwalkdir.go
generated
vendored
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
// +build go1.16
|
||||||
|
|
||||||
|
package pwalkdir
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"io/fs"
|
||||||
|
"path/filepath"
|
||||||
|
"runtime"
|
||||||
|
"sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Walk is a wrapper for filepath.WalkDir which can call multiple walkFn
|
||||||
|
// in parallel, allowing to handle each item concurrently. A maximum of
|
||||||
|
// twice the runtime.NumCPU() walkFn will be called at any one time.
|
||||||
|
// If you want to change the maximum, use WalkN instead.
|
||||||
|
//
|
||||||
|
// The order of calls is non-deterministic.
|
||||||
|
//
|
||||||
|
// Note that this implementation only supports primitive error handling:
|
||||||
|
//
|
||||||
|
// - no errors are ever passed to walkFn;
|
||||||
|
//
|
||||||
|
// - once a walkFn returns any error, all further processing stops
|
||||||
|
// and the error is returned to the caller of Walk;
|
||||||
|
//
|
||||||
|
// - filepath.SkipDir is not supported;
|
||||||
|
//
|
||||||
|
// - if more than one walkFn instance will return an error, only one
|
||||||
|
// of such errors will be propagated and returned by Walk, others
|
||||||
|
// will be silently discarded.
|
||||||
|
func Walk(root string, walkFn fs.WalkDirFunc) error {
|
||||||
|
return WalkN(root, walkFn, runtime.NumCPU()*2)
|
||||||
|
}
|
||||||
|
|
||||||
|
// WalkN is a wrapper for filepath.WalkDir which can call multiple walkFn
|
||||||
|
// in parallel, allowing to handle each item concurrently. A maximum of
|
||||||
|
// num walkFn will be called at any one time.
|
||||||
|
//
|
||||||
|
// Please see Walk documentation for caveats of using this function.
|
||||||
|
func WalkN(root string, walkFn fs.WalkDirFunc, num int) error {
|
||||||
|
// make sure limit is sensible
|
||||||
|
if num < 1 {
|
||||||
|
return fmt.Errorf("walk(%q): num must be > 0", root)
|
||||||
|
}
|
||||||
|
|
||||||
|
files := make(chan *walkArgs, 2*num)
|
||||||
|
errCh := make(chan error, 1) // Get the first error, ignore others.
|
||||||
|
|
||||||
|
// Start walking a tree asap.
|
||||||
|
var (
|
||||||
|
err error
|
||||||
|
wg sync.WaitGroup
|
||||||
|
)
|
||||||
|
wg.Add(1)
|
||||||
|
go func() {
|
||||||
|
err = filepath.WalkDir(root, func(p string, entry fs.DirEntry, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
close(files)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
// Add a file to the queue unless a callback sent an error.
|
||||||
|
select {
|
||||||
|
case e := <-errCh:
|
||||||
|
close(files)
|
||||||
|
return e
|
||||||
|
default:
|
||||||
|
files <- &walkArgs{path: p, entry: entry}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if err == nil {
|
||||||
|
close(files)
|
||||||
|
}
|
||||||
|
wg.Done()
|
||||||
|
}()
|
||||||
|
|
||||||
|
wg.Add(num)
|
||||||
|
for i := 0; i < num; i++ {
|
||||||
|
go func() {
|
||||||
|
for file := range files {
|
||||||
|
if e := walkFn(file.path, file.entry, nil); e != nil {
|
||||||
|
select {
|
||||||
|
case errCh <- e: // sent ok
|
||||||
|
default: // buffer full
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
wg.Done()
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
|
wg.Wait()
|
||||||
|
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
// walkArgs holds the arguments that were passed to the Walk or WalkN
|
||||||
|
// functions.
|
||||||
|
type walkArgs struct {
|
||||||
|
path string
|
||||||
|
entry fs.DirEntry
|
||||||
|
}
|
3
vendor/modules.txt
vendored
3
vendor/modules.txt
vendored
@ -523,10 +523,11 @@ github.com/opencontainers/runtime-tools/generate
|
|||||||
github.com/opencontainers/runtime-tools/generate/seccomp
|
github.com/opencontainers/runtime-tools/generate/seccomp
|
||||||
github.com/opencontainers/runtime-tools/specerror
|
github.com/opencontainers/runtime-tools/specerror
|
||||||
github.com/opencontainers/runtime-tools/validate
|
github.com/opencontainers/runtime-tools/validate
|
||||||
# github.com/opencontainers/selinux v1.8.3
|
# github.com/opencontainers/selinux v1.8.4
|
||||||
github.com/opencontainers/selinux/go-selinux
|
github.com/opencontainers/selinux/go-selinux
|
||||||
github.com/opencontainers/selinux/go-selinux/label
|
github.com/opencontainers/selinux/go-selinux/label
|
||||||
github.com/opencontainers/selinux/pkg/pwalk
|
github.com/opencontainers/selinux/pkg/pwalk
|
||||||
|
github.com/opencontainers/selinux/pkg/pwalkdir
|
||||||
# github.com/openshift/imagebuilder v1.2.2-0.20210415181909-87f3e48c2656
|
# github.com/openshift/imagebuilder v1.2.2-0.20210415181909-87f3e48c2656
|
||||||
github.com/openshift/imagebuilder
|
github.com/openshift/imagebuilder
|
||||||
github.com/openshift/imagebuilder/dockerfile/command
|
github.com/openshift/imagebuilder/dockerfile/command
|
||||||
|
Reference in New Issue
Block a user