Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 228773 Details for
Bug 316681
xfce-base/thunar-1.0.1 breaks umask after Create Folder operation
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
fix-umask-handling.patch from debian
thunar-1.0.1-fix-umask-handling.patch (text/plain), 2.25 KB, created by
Ivan Ponomarev
on 2010-04-22 15:29:08 UTC
(
hide
)
Description:
fix-umask-handling.patch from debian
Filename:
MIME Type:
Creator:
Ivan Ponomarev
Created:
2010-04-22 15:29:08 UTC
Size:
2.25 KB
patch
obsolete
>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; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 316681
: 228773