From 7720ba62372bac4d0e9909e71299da20a9b5dd28 Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Sun, 16 Jul 2017 17:14:54 +0200 Subject: [PATCH] lib/replace: fix use of "security" namespace on FreeBSD Possible fix... Bug: https://bugzilla.samba.org/show_bug.cgi?id=12912 --- lib/replace/xattr.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/replace/xattr.c b/lib/replace/xattr.c index 2479c21..a9d383e 100644 --- a/lib/replace/xattr.c +++ b/lib/replace/xattr.c @@ -71,6 +71,9 @@ ssize_t rep_getxattr (const char *path, const char *name, void *value, size_t si } else if (strncmp(name, "user.", 5) == 0) { attrnamespace = EXTATTR_NAMESPACE_USER; attrname = name + 5; + } else if (strncmp(name, "security.", 9) == 0) { + attrnamespace = EXTATTR_NAMESPACE_USER; + attrname = name + 9; } else { errno = EINVAL; return -1; @@ -145,6 +148,9 @@ ssize_t rep_fgetxattr (int filedes, const char *name, void *value, size_t size) } else if (strncmp(name, "user.", 5) == 0) { attrnamespace = EXTATTR_NAMESPACE_USER; attrname = name + 5; + } else if (strncmp(name, "security.", 9) == 0) { + attrnamespace = EXTATTR_NAMESPACE_USER; + attrname = name + 9; } else { errno = EINVAL; return -1; @@ -442,6 +448,9 @@ int rep_removexattr (const char *path, const char *name) } else if (strncmp(name, "user.", 5) == 0) { attrnamespace = EXTATTR_NAMESPACE_USER; attrname = name + 5; + } else if (strncmp(name, "security.", 9) == 0) { + attrnamespace = EXTATTR_NAMESPACE_USER; + attrname = name + 9; } else { errno = EINVAL; return -1; @@ -492,6 +501,9 @@ int rep_fremovexattr (int filedes, const char *name) } else if (strncmp(name, "user.", 5) == 0) { attrnamespace = EXTATTR_NAMESPACE_USER; attrname = name + 5; + } else if (strncmp(name, "security.", 9) == 0) { + attrnamespace = EXTATTR_NAMESPACE_USER; + attrname = name + 9; } else { errno = EINVAL; return -1; @@ -543,6 +555,9 @@ int rep_setxattr (const char *path, const char *name, const void *value, size_t } else if (strncmp(name, "user.", 5) == 0) { attrnamespace = EXTATTR_NAMESPACE_USER; attrname = name + 5; + } else if (strncmp(name, "security.", 9) == 0) { + attrnamespace = EXTATTR_NAMESPACE_USER; + attrname = name + 9; } else { errno = EINVAL; return -1; @@ -620,6 +635,9 @@ int rep_fsetxattr (int filedes, const char *name, const void *value, size_t size } else if (strncmp(name, "user.", 5) == 0) { attrnamespace = EXTATTR_NAMESPACE_USER; attrname = name + 5; + } else if (strncmp(name, "security.", 9) == 0) { + attrnamespace = EXTATTR_NAMESPACE_USER; + attrname = name + 9; } else { errno = EINVAL; return -1; -- 2.9.4