123456789101112131415161718192021222324 |
- // Package capabilities allows to generically handle capabilities.
- package capabilities // import "github.com/docker/docker/pkg/capabilities"
- // Set represents a set of capabilities.
- type Set map[string]struct{}
- // Match tries to match set with caps, which is an OR list of AND lists of capabilities.
- // The matched AND list of capabilities is returned; or nil if none are matched.
- func (set Set) Match(caps [][]string) []string {
- if set == nil {
- return nil
- }
- anyof:
- for _, andList := range caps {
- for _, cap := range andList {
- if _, ok := set[cap]; !ok {
- continue anyof
- }
- }
- return andList
- }
- // match anything
- return nil
- }
|