oci/caps: use map for capabilities to simplify lookup

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2020-09-19 14:35:57 +02:00
parent d786a52364
commit 72b1fb59fe
No known key found for this signature in database
GPG key ID: 76698F39D527CE8C

View file

@ -24,7 +24,7 @@ func init() {
}
capName := "CAP_" + strings.ToUpper(c.String())
allCaps[i] = capName
capabilityList[i] = &CapabilityMapping{
capabilityList[capName] = &CapabilityMapping{
Key: capName,
Value: c,
}
@ -48,7 +48,7 @@ type (
Value capability.Cap `json:"value,omitempty"`
}
// Capabilities contains all CapabilityMapping
Capabilities []*CapabilityMapping
Capabilities map[string]*CapabilityMapping
)
// String returns <key> of CapabilityMapping
@ -89,7 +89,7 @@ func NormalizeLegacyCapabilities(caps []string) ([]string, error) {
if !strings.HasPrefix(c, "CAP_") {
c = "CAP_" + c
}
if !inSlice(allCaps, c) {
if _, ok := capabilityList[c]; !ok {
return nil, errdefs.InvalidParameter(fmt.Errorf("unknown capability: %q", c))
}
normalized = append(normalized, c)