[Pkg-xfce-commits] r3529 - in desktop/trunk/thunar/debian: . patches

Yves-Alexis Perez corsac at alioth.debian.org
Sat Oct 3 10:38:16 UTC 2009


Author: corsac
Date: 2009-10-03 10:38:16 +0000 (Sat, 03 Oct 2009)
New Revision: 3529

Added:
   desktop/trunk/thunar/debian/patches/04_fix-umask-handling.patch
Modified:
   desktop/trunk/thunar/debian/changelog
Log:
* debian/patches:
  - 04_fix-umask-handling.patch added.                        closes: #549282

Modified: desktop/trunk/thunar/debian/changelog
===================================================================
--- desktop/trunk/thunar/debian/changelog	2009-10-02 21:55:53 UTC (rev 3528)
+++ desktop/trunk/thunar/debian/changelog	2009-10-03 10:38:16 UTC (rev 3529)
@@ -2,8 +2,10 @@
 
   * debian/control:
     - correct typo.                                             closes: #531448
+  * debian/patches:
+    - 04_fix-umask-handling.patch added.                        closes: #549282
 
- -- Yves-Alexis Perez <corsac at debian.org>  Mon, 01 Jun 2009 16:55:52 +0200
+ -- Yves-Alexis Perez <corsac at debian.org>  Sat, 03 Oct 2009 12:01:14 +0200
 
 thunar (1.0.1-1) unstable; urgency=low
 

Added: desktop/trunk/thunar/debian/patches/04_fix-umask-handling.patch
===================================================================
--- desktop/trunk/thunar/debian/patches/04_fix-umask-handling.patch	                        (rev 0)
+++ desktop/trunk/thunar/debian/patches/04_fix-umask-handling.patch	2009-10-03 10:38:16 UTC (rev 3529)
@@ -0,0 +1,52 @@
+commit eb58c6a6ba7f77c2c16016db064524df598ef421
+Author: Jannis Pohlmann <jannis at xfce.org>
+Date:   Sat Oct 3 11:49:41 2009 +0200
+
+    Fix bugs #3532 (umask < 0022 not honoured) and #5813 properly (I hope).
+    
+    The previous patch applied in e53de71e6add9b28ba034111a1d19db7def8f7e7
+    made things worse than before: it used DEFFILEMODE which seems to be
+    BSD-specific for creating files. It also reset the umask to 0 when
+    creating the first directory with _thunar_vfs_io_jobs_mkdir().
+    
+    What we really want is to use 0777 (dirs) and 0666 (files) and let the
+    standard C system calls like open() apply the umask value. This should
+    work on all POSIX-compliant systems.
+    
+    Patch provided by Craig Ringer <craig at postnewspapers.com.au>.
+
+diff --git a/thunar-vfs/thunar-vfs-io-jobs.c b/thunar-vfs/thunar-vfs-io-jobs.c
+index 8d70812..c94523a 100644
+--- a/thunar-vfs/thunar-vfs-io-jobs.c
++++ b/thunar-vfs/thunar-vfs-io-jobs.c
+@@ -432,8 +432,12 @@ _thunar_vfs_io_jobs_create (ThunarVfsJob *job,
+       absolute_path = thunar_vfs_path_dup_string (lp->data);
+ 
+ again:
+-      /* try to create the file at the given path */
+-      fd = g_open (absolute_path, O_CREAT | O_EXCL | O_WRONLY, DEFFILEMODE);
++      /* Try to create the file at the given path.
++       *
++       * Note that despite the 0666 mask, we won't really create a world-writable
++       * file unless the user's umask permits it (ie the umask is 0000).
++       */
++      fd = g_open (absolute_path, O_CREAT | O_EXCL | O_WRONLY, 0666);
+       if (G_UNLIKELY (fd < 0))
+         {
+           /* check if the file already exists */
+@@ -707,8 +711,13 @@ _thunar_vfs_io_jobs_mkdir (ThunarVfsJob *job,
+       /* update the progress information */
+       _thunar_vfs_job_process_path (job, lp);
+ 
+-      /* try to create the target directory */
+-      if (!_thunar_vfs_io_ops_mkdir (lp->data, 0777 & ~umask(0), THUNAR_VFS_IO_OPS_NONE, error))
++      /* try to create the target directory
++       *
++       * Note that the mode specified here is limited by the user's umask, so we will not
++       * actually be creating a world writable directory unless the user's umask permits
++       * it.
++       */
++      if (!_thunar_vfs_io_ops_mkdir (lp->data, 0777, THUNAR_VFS_IO_OPS_NONE, error))
+         return FALSE;
+     }
+ 




More information about the Pkg-xfce-commits mailing list