NormalizeCapabilities normalizes caps by adding a "CAP_" prefix (if not yet present).
(caps []string)
| 104 | // NormalizeCapabilities normalizes caps by adding a "CAP_" prefix (if not yet |
| 105 | // present). |
| 106 | func 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. |
| 127 | func ValidateCapabilities(caps []string) error { |
searching dependent graphs…