Bug#628033: pulseaudio: core_util.c:pa_make_secure_dir() is over zealous on symlinks.
Tim Phipps
tim at phipps-hutton.freeserve.co.uk
Thu May 26 14:42:20 UTC 2011
Package: pulseaudio
Version: 0.9.21-3+squeeze1
Severity: normal
I run pa in system mode with a read-only root and /var/lib/pulse a symlink to
a writeable directory with the correct permissions.
main.c calls pa_make_secure_dir() without checking if it exists and then fails
to start with this message:
main.c: Failed to create '/var/lib/pulse': Read-only file system
probably because pa_make_secure_dir() does this:
r = mkdir(dir, m);
if (r < 0 && errno != EEXIST)
return -1;
I don't think it should be trying to create the directory if it already exists
and then special casing the errors it comes across. It should check if the
directory exists and then check if the permissions are correct. Only then
should it try to create a non-existing directory.
-- System Information:
Debian Release: 6.0.1
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686-bigmem (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages pulseaudio depends on:
ii adduser 3.112+nmu2 add and remove users and groups
ii consolekit 0.4.1-4 framework for defining and trackin
ii libasound2 1.0.23-2.1 shared library for ALSA applicatio
ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib
ii libcap2 1:2.19-3 support for getting/setting POSIX.
ii libdbus-1-3 1.2.24-4 simple interprocess messaging syst
ii libgdbm3 1.8.3-9 GNU dbm database routines (runtime
ii libice6 2:1.0.6-2 X11 Inter-Client Exchange library
ii libltdl7 2.2.6b-2 A system independent dlopen wrappe
ii libpulse0 0.9.21-3+squeeze1 PulseAudio client libraries
ii libsamplerate0 0.1.7-3 Audio sample rate conversion libra
ii libsm6 2:1.1.1-1 X11 Session Management library
ii libsndfile1 1.0.21-3 Library for reading/writing audio
ii libspeexdsp1 1.2~rc1-1 The Speex extended runtime library
ii libudev0 164-3 libudev shared library
ii libx11-6 2:1.3.3-4 X11 client-side library
ii libxtst6 2:1.1.0-3 X11 Testing -- Record extension li
ii lsb-base 3.2-23.2squeeze1 Linux Standard Base 3.2 init scrip
ii udev 164-3 /dev/ and hotplug management daemo
Versions of packages pulseaudio recommends:
ii gstreamer0.10-pulseaud 0.10.24-1 GStreamer plugin for PulseAudio
ii libasound2-plugins 1.0.23-1+b1 ALSA library additional plugins
ii pulseaudio-esound-comp 0.9.21-3+squeeze1 PulseAudio ESD compatibility layer
ii pulseaudio-module-x11 0.9.21-3+squeeze1 X11 module for PulseAudio sound se
Versions of packages pulseaudio suggests:
ii paman 0.9.4-1 PulseAudio Manager
ii paprefs 0.9.9-2 PulseAudio Preferences
ii pavucontrol 0.9.9-1 PulseAudio Volume Control
ii pavumeter 0.9.3-1 PulseAudio Volume Meter
ii pulseaudio-utils 0.9.21-3+squeeze1 Command line tools for the PulseAu
-- Configuration Files:
/etc/default/pulseaudio changed:
PULSEAUDIO_SYSTEM_START=1
DISALLOW_MODULE_LOADING=1
-- no debconf information
More information about the pkg-pulseaudio-devel
mailing list