Skip to content

Commit

Permalink
Merge pull request #657 from rhatdan/ima
Browse files Browse the repository at this point in the history
Record security.ima in container images
  • Loading branch information
vrothberg authored Jul 6, 2020
2 parents 1745ea4 + 5ea5e76 commit a949400
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions pkg/archive/archive.go
Original file line number Diff line number Diff line change
Expand Up @@ -390,16 +390,18 @@ func fillGo18FileTypeBits(mode int64, fi os.FileInfo) int64 {
return mode
}

// ReadSecurityXattrToTarHeader reads security.capability xattr from filesystem
// to a tar header
// ReadSecurityXattrToTarHeader reads security.capability, security,image
// xattrs from filesystem to a tar header
func ReadSecurityXattrToTarHeader(path string, hdr *tar.Header) error {
capability, err := system.Lgetxattr(path, "security.capability")
if err != nil && err != system.EOPNOTSUPP && err != system.ErrNotSupportedPlatform {
return err
}
if capability != nil {
hdr.Xattrs = make(map[string]string)
hdr.Xattrs["security.capability"] = string(capability)
for _, xattr := range []string{"security.capability", "security.ima"} {
capability, err := system.Lgetxattr(path, xattr)
if err != nil && err != system.EOPNOTSUPP && err != system.ErrNotSupportedPlatform {
return errors.Wrapf(err, "failed to read %q attribute from %q", xattr, path)
}
if capability != nil {
hdr.Xattrs = make(map[string]string)
hdr.Xattrs[xattr] = string(capability)
}
}
return nil
}
Expand Down

0 comments on commit a949400

Please sign in to comment.