Dear Release Team,
About a weak ago I have uploaded a new upstream version of my package
fuse-convmvfs that fixes some important symlink dereferencing and
owner issues (Debian Bug #594021). Please consider unblocking this
package.
The packaging changelog:
fuse-convmvfs (0.2.6-1) unstable; urgency=low
* New upstream release:
- symlink dereferencing and owner issues fixed (Closes: #594021).
* devian/control:
- bumped Standards-Version to 3.9.1.
The upstream changelog:
What is new in 0.2.6
--------------------
* Fix Symlinks owner and xattr symlinks dereferencing issue
The diff between 0.2.6 and 0.2.5 codebases:
diff -urN fuse-convmvfs-0.2.5.orig/src/Makefile.in fuse-convmvfs-0.2.6.orig/src/Makefile.in
--- fuse-convmvfs-0.2.5.orig/src/Makefile.in 2010-04-25 18:47:02.000000000 +0400
+++ fuse-convmvfs-0.2.6.orig/src/Makefile.in 2010-09-19 20:49:47.000000000 +0400
@@ -107,6 +107,7 @@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
diff -urN fuse-convmvfs-0.2.5.orig/src/convmvfs.cpp fuse-convmvfs-0.2.6.orig/src/convmvfs.cpp
--- fuse-convmvfs-0.2.5.orig/src/convmvfs.cpp 2010-05-15 20:44:57.000000000 +0400
+++ fuse-convmvfs-0.2.6.orig/src/convmvfs.cpp 2010-09-19 20:49:26.000000000 +0400
@@ -490,8 +490,12 @@
if(st)
return st;
- if(symlink(out2in(oldpath).c_str(), inewpath.c_str()))
- return -errno;
+ int rt = symlink(out2in(oldpath).c_str(), inewpath.c_str());
+ if (rt) return -errno;
+
+ if(euid == 0){
+ lchown(inewpath.c_str(), cont->uid, cont->gid);
+ }
return 0;
}
@@ -662,7 +666,7 @@
if(st)
return st;
- return listxattr(ipath.c_str(), list, listsize);
+ return llistxattr(ipath.c_str(), list, listsize);
}
static int convmvfs_removexattr(const char *opath, const char *xattr){
@@ -676,7 +680,7 @@
}
if((cont->uid != stbuf.st_uid) && (cont->uid != 0))
return -EPERM;
- if(removexattr(ipath.c_str(), xattr))
+ if(lremovexattr(ipath.c_str(), xattr))
return -errno;
return 0;
}
@@ -691,7 +695,7 @@
if(st)
return st;
- int res = getxattr(ipath.c_str(), name, value, valsize);
+ int res = lgetxattr(ipath.c_str(), name, value, valsize);
if (res >= 0)
return res;
else
@@ -709,7 +713,7 @@
}
if((cont->uid != stbuf.st_uid) && (cont->uid != 0))
return -EPERM;
- if(setxattr(ipath.c_str(), name, value, valsize, flags))
+ if(lsetxattr(ipath.c_str(), name, value, valsize, flags))
return -errno;
return 0;
}
--
Stanislav
Attachment:
signature.asc
Description: Digital signature