Add posix acl (Access Control Lists) support for mksquashfs and unsquashfs tools. Signed-off-by: Geliang Tang <geliangtang@xxxxxxxxx> --- squashfs-tools/read_xattrs.c | 2 ++ squashfs-tools/squashfs_fs.h | 12 +++++++----- squashfs-tools/unsquashfs_xattr.c | 4 +++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/squashfs-tools/read_xattrs.c b/squashfs-tools/read_xattrs.c index 42106f5..8ef8291 100644 --- a/squashfs-tools/read_xattrs.c +++ b/squashfs-tools/read_xattrs.c @@ -64,6 +64,8 @@ static long long xattr_table_start; */ struct prefix prefix_table[] = { { "user.", SQUASHFS_XATTR_USER }, + { "system.", SQUASHFS_XATTR_POSIX_ACL_ACCESS }, + { "system.", SQUASHFS_XATTR_POSIX_ACL_DEFAULT }, { "trusted.", SQUASHFS_XATTR_TRUSTED }, { "security.", SQUASHFS_XATTR_SECURITY }, { "", -1 } diff --git a/squashfs-tools/squashfs_fs.h b/squashfs-tools/squashfs_fs.h index afca918..040035c 100644 --- a/squashfs-tools/squashfs_fs.h +++ b/squashfs-tools/squashfs_fs.h @@ -122,11 +122,13 @@ #define SQUASHFS_LSOCKET_TYPE 14 /* Xattr types */ -#define SQUASHFS_XATTR_USER 0 -#define SQUASHFS_XATTR_TRUSTED 1 -#define SQUASHFS_XATTR_SECURITY 2 -#define SQUASHFS_XATTR_VALUE_OOL 256 -#define SQUASHFS_XATTR_PREFIX_MASK 0xff +#define SQUASHFS_XATTR_USER 0 +#define SQUASHFS_XATTR_POSIX_ACL_ACCESS 1 +#define SQUASHFS_XATTR_POSIX_ACL_DEFAULT 2 +#define SQUASHFS_XATTR_TRUSTED 3 +#define SQUASHFS_XATTR_SECURITY 4 +#define SQUASHFS_XATTR_VALUE_OOL 256 +#define SQUASHFS_XATTR_PREFIX_MASK 0xff /* Flag whether block is compressed or uncompressed, bit is set if block is * uncompressed */ diff --git a/squashfs-tools/unsquashfs_xattr.c b/squashfs-tools/unsquashfs_xattr.c index 59f4aae..34aae84 100644 --- a/squashfs-tools/unsquashfs_xattr.c +++ b/squashfs-tools/unsquashfs_xattr.c @@ -57,7 +57,9 @@ void write_xattr(char *pathname, unsigned int xattr) if(user_xattrs && prefix != SQUASHFS_XATTR_USER) continue; - if(root_process || prefix == SQUASHFS_XATTR_USER) { + if(root_process || prefix == SQUASHFS_XATTR_USER + || prefix == SQUASHFS_XATTR_POSIX_ACL_ACCESS + || prefix == SQUASHFS_XATTR_POSIX_ACL_DEFAULT) { int res = lsetxattr(pathname, xattr_list[i].full_name, xattr_list[i].value, xattr_list[i].vsize, 0); -- 2.14.1 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html