add basic support for 'all'
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux) Upstream-commit: 222a6f44016451dcbd2da0003e64521c06e88ba9 Component: engine
This commit is contained in:
@ -1,17 +1,28 @@
|
||||
package execdriver
|
||||
|
||||
import "github.com/dotcloud/docker/utils"
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/docker/libcontainer/security/capabilities"
|
||||
"github.com/dotcloud/docker/utils"
|
||||
)
|
||||
|
||||
func TweakCapabilities(basics, adds, drops []string) []string {
|
||||
var caps []string
|
||||
for _, cap := range basics {
|
||||
if !utils.StringsContains(drops, cap) {
|
||||
caps = append(caps, cap)
|
||||
if !utils.StringsContainsNoCase(drops, "all") {
|
||||
for _, cap := range basics {
|
||||
if !utils.StringsContainsNoCase(drops, cap) {
|
||||
caps = append(caps, cap)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for _, cap := range adds {
|
||||
if !utils.StringsContains(caps, cap) {
|
||||
if strings.ToLower(cap) == "all" {
|
||||
caps = capabilities.GetAllCapabilities()
|
||||
break
|
||||
}
|
||||
if !utils.StringsContainsNoCase(caps, cap) {
|
||||
caps = append(caps, cap)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user