in providers/linux/capabilities_linux.go [86:122]
func readCapabilities(content []byte) (*types.CapabilityInfo, error) {
var cap types.CapabilityInfo
err := parseKeyValue(content, ':', func(key, value []byte) error {
var err error
switch string(key) {
case "CapInh":
cap.Inheritable, err = decodeBitMap(string(value), capabilityName)
if err != nil {
return err
}
case "CapPrm":
cap.Permitted, err = decodeBitMap(string(value), capabilityName)
if err != nil {
return err
}
case "CapEff":
cap.Effective, err = decodeBitMap(string(value), capabilityName)
if err != nil {
return err
}
case "CapBnd":
cap.Bounding, err = decodeBitMap(string(value), capabilityName)
if err != nil {
return err
}
case "CapAmb":
cap.Ambient, err = decodeBitMap(string(value), capabilityName)
if err != nil {
return err
}
}
return nil
})
return &cap, err
}