diff options
Diffstat (limited to 'source/xap/xfce/patches/thunar-fix_umask_properly.diff')
-rw-r--r-- | source/xap/xfce/patches/thunar-fix_umask_properly.diff | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/source/xap/xfce/patches/thunar-fix_umask_properly.diff b/source/xap/xfce/patches/thunar-fix_umask_properly.diff deleted file mode 100644 index 2070b580..00000000 --- a/source/xap/xfce/patches/thunar-fix_umask_properly.diff +++ /dev/null @@ -1,52 +0,0 @@ -commit eb58c6a6ba7f77c2c16016db064524df598ef421 -Author: Jannis Pohlmann <jannis@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@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; - } - |