[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Please unblock fuse-convmvfs/0.2.6-1



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


Reply to: