From b76270bf9e6dd375e495fec92140a79a79415d27 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Wed, 19 May 2010 08:58:23 +0000 Subject: Slackware 13.1 Wed May 19 08:58:23 UTC 2010 Slackware 13.1 x86_64 stable is released! Lots of thanks are due -- see the RELEASE_NOTES and the rest of the ChangeLog for credits. The ISOs are on their way to replication, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We are taking pre-orders now at store.slackware.com, and offering a discount if you sign up for a subscription. Consider picking up a copy to help support the project. Thanks again to the Slackware community for testing, contributing, and generally holding us to a high level of quality. :-) Enjoy! --- .../xfce/patches/thunar-fix_umask_properly.diff | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 source/xap/xfce/patches/thunar-fix_umask_properly.diff (limited to 'source/xap/xfce/patches/thunar-fix_umask_properly.diff') diff --git a/source/xap/xfce/patches/thunar-fix_umask_properly.diff b/source/xap/xfce/patches/thunar-fix_umask_properly.diff new file mode 100644 index 000000000..2070b5802 --- /dev/null +++ b/source/xap/xfce/patches/thunar-fix_umask_properly.diff @@ -0,0 +1,52 @@ +commit eb58c6a6ba7f77c2c16016db064524df598ef421 +Author: Jannis Pohlmann +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 . + +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; + } + -- cgit v1.2.3