[pulseaudio-tickets] [PulseAudio] #539: pulseaudio doesn't work on ntfs $HOME

PulseAudio trac-noreply at tango.0pointer.de
Tue Apr 14 04:29:53 PDT 2009


#539: pulseaudio doesn't work on ntfs $HOME
------------------------+---------------------------------------------------
  Reporter:  joshsmith  |       Owner:  lennart
      Type:  defect     |      Status:  closed 
  Priority:  normal     |   Milestone:         
 Component:  daemon     |    Severity:  normal 
Resolution:  wontfix    |    Keywords:         
------------------------+---------------------------------------------------

Comment(by joshsmith):

 further if the .pulse folder is already a symlink to somewhere with
 correct permissions, pulseaudio still fails:

 quote:
 # ls -ld .pulse ../mario-sync/.pulse/
 lrwxrwxrwx 1 mario mario 20 2008-10-10 16:53 .pulse -> ../mario-
 sync/.pulse
 drwx------ 2 mario mario 4096 2008-10-10 16:53 /home/mario-sync/.pulse

 the problem lies in pulsecore/core-util.c, function pa_make_secure_dir
 line 206 and following:

 #ifdef HAVE_LSTAT
     if (lstat(dir, &st) < 0)
 #else
     if (stat(dir, &st) < 0)
 #endif
         goto fail;

 #ifndef OS_IS_WIN32
     if (!S_ISDIR(st.st_mode) ||
         (st.st_uid != uid) ||
         (st.st_gid != gid) ||
         ((st.st_mode & 0777) != m)) {
         errno = EACCES;
         goto fail;
     }
 #else
     pa_log_warn("Secure directory creation not supported on Win32.");
 #endif

 Since we are compiling for linux, 'lstat' is available. But pulseaudio
 should have used 'stat' instead, because in contrast to 'stat', 'lstat'
 returns the symlink's permissions (lrwxrwxrwx), not those of the target
 directory (drwx------).

-- 
Ticket URL: <http://pulseaudio.org/ticket/539#comment:4>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list