ssize_t ret;
buffer = rpath(ctx, path);
+#ifdef CONFIG_LINUX
ret = lgetxattr(buffer, MAP_ACL_ACCESS, value, size);
+#else
+ ret = getxattr(buffer, MAP_ACL_ACCESS, value, size, 0, XATTR_NOFOLLOW);
+#endif
g_free(buffer);
return ret;
}
buffer = rpath(ctx, path);
ret = lsetxattr(buffer, MAP_ACL_ACCESS, value, size, flags);
+
+#ifdef CONFIG_LINUX
+ ret = lsetxattr(buffer, MAP_ACL_ACCESS, value, size, flags);
+#else
+ ret = setxattr(buffer, MAP_ACL_ACCESS, value, size, 0, flags | XATTR_NOFOLLOW);
+#endif
+
g_free(buffer);
return ret;
}
char *buffer;
buffer = rpath(ctx, path);
+
+#ifdef CONFIG_LINUX
ret = lremovexattr(buffer, MAP_ACL_ACCESS);
+#else
+ ret = removexattr(buffer, MAP_ACL_ACCESS, XATTR_NOFOLLOW);
+#endif
if (ret == -1 && errno == ENODATA) {
/*
* We don't get ENODATA error when trying to remove a
ssize_t ret;
buffer = rpath(ctx, path);
+#ifdef CONFIG_LINUX
ret = lgetxattr(buffer, MAP_ACL_DEFAULT, value, size);
+#else
+ ret = getxattr(buffer, MAP_ACL_DEFAULT, value, size, 0, XATTR_NOFOLLOW);
+#endif
g_free(buffer);
return ret;
}
int ret;
buffer = rpath(ctx, path);
- ret = lsetxattr(buffer, MAP_ACL_DEFAULT, value, size, flags);
+#ifdef CONFIG_LINUX
+ return lsetxattr(buffer, MAP_ACL_DEFAULT, value,
+ size, flags);
+#else
+ return setxattr(buffer, MAP_ACL_DEFAULT, value,
+ size, 0, flags | XATTR_NOFOLLOW);
+#endif
g_free(buffer);
return ret;
}
char *buffer;
buffer = rpath(ctx, path);
+#ifdef CONFIG_LINUX
ret = lremovexattr(buffer, MAP_ACL_DEFAULT);
+#else
+ ret = removexattr(buffer, MAP_ACL_DEFAULT, XATTR_NOFOLLOW);
+#endif
if (ret == -1 && errno == ENODATA) {
/*
* We don't get ENODATA error when trying to remove a