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