MCPcopy Create free account
hub / github.com/containers/common / NormalizeCapabilities

Function NormalizeCapabilities

pkg/capabilities/capabilities.go:106–124  ·  view source on GitHub ↗

NormalizeCapabilities normalizes caps by adding a "CAP_" prefix (if not yet present).

(caps []string)

Source from the content-addressed store, hash-verified

104// NormalizeCapabilities normalizes caps by adding a "CAP_" prefix (if not yet
105// present).
106func NormalizeCapabilities(caps []string) ([]string, error) {
107 normalized := make([]string, len(caps))
108 for i, c := range caps {
109 c = strings.ToUpper(c)
110 if c == All {
111 normalized = append(normalized, c)
112 continue
113 }
114 if !strings.HasPrefix(c, "CAP_") {
115 c = "CAP_" + c
116 }
117 if !stringInSlice(c, capabilityList) {
118 return nil, errors.Wrapf(ErrUnknownCapability, "%q", c)
119 }
120 normalized[i] = c
121 }
122 sort.Strings(normalized)
123 return normalized, nil
124}
125
126// ValidateCapabilities validates if caps only contains valid capabilities.
127func ValidateCapabilities(caps []string) error {

Callers 2

MergeCapabilitiesFunction · 0.85

Calls 1

stringInSliceFunction · 0.85

Tested by 1

Used in the wild real call sites across dependent graphs

searching dependent graphs…