Package: star
Followup-For: Bug #348315
I'm sorry but I've posted incomplete patch file in the initial report.
Here it is, with setxattr and getxattr fixed.
-- System Information:
Debian Release: testing/unstable
APT prefers testing
APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/dash
Kernel: Linux 2.6.14.5masca
Locale: LANG=cs_CZ, LC_CTYPE=cs_CZ (charmap=ISO-8859-2)
diff -Naur star-1.5a67.orig/star/xattr.c star-1.5a67/star/xattr.c
--- star-1.5a67.orig/star/xattr.c 2005-09-03 00:29:35.000000000 +0200
+++ star-1.5a67/star/xattr.c 2006-01-16 14:04:56.000000000 +0100
@@ -61,7 +61,7 @@
info->f_xflags &= ~XF_XATTR;
info->f_xattr = NULL;
- list_len = listxattr(info->f_name, NULL, 0);
+ list_len = llistxattr(info->f_name, NULL, 0);
if (list_len < 0) {
if (!errhidden(E_GETXATTR, info->f_name)) {
if (!errwarnonly(E_GETXATTR, info->f_name))
@@ -74,7 +74,7 @@
return (FALSE);
}
alist = __malloc(list_len+2, "extended attribute");
- list_len = listxattr(info->f_name, alist, list_len);
+ list_len = llistxattr(info->f_name, alist, list_len);
if (list_len < 0) {
if (!errhidden(E_GETXATTR, info->f_name)) {
if (!errwarnonly(E_GETXATTR, info->f_name))
@@ -119,7 +119,7 @@
static_xattr[i].value = NULL;
strcpy(static_xattr[i].name, lp);
- len = getxattr(info->f_name, lp, NULL, 0);
+ len = lgetxattr(info->f_name, lp, NULL, 0);
if (len < 0) {
if (!errhidden(E_GETXATTR, info->f_name)) {
if (!errwarnonly(E_GETXATTR, info->f_name))
@@ -133,7 +133,7 @@
}
static_xattr[i].value_len = len;
static_xattr[i].value = __malloc(len, "extended attribute");
- len = getxattr(info->f_name, lp, static_xattr[i].value, len);
+ len = lgetxattr(info->f_name, lp, static_xattr[i].value, len);
if (len < 0) {
if (!errhidden(E_GETXATTR, info->f_name)) {
if (!errwarnonly(E_GETXATTR, info->f_name))
@@ -181,7 +181,7 @@
return (TRUE);
for (xap = info->f_xattr; xap->name != NULL; xap++) {
- if (setxattr(info->f_name, xap->name, xap->value,
+ if (lsetxattr(info->f_name, xap->name, xap->value,
xap->value_len, 0) != 0) {
if (!errhidden(E_SETXATTR, info->f_name)) {
if (!errwarnonly(E_SETXATTR, info->f_name))