SHA256
1
0
forked from pool/pulseaudio

Accepting request 282361 from multimedia:libs

1

OBS-URL: https://build.opensuse.org/request/show/282361
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pulseaudio?expand=0&rev=125
This commit is contained in:
Dominique Leuenberger 2015-01-23 15:19:45 +00:00 committed by Git OBS Bridge
commit 1e024e6797
6 changed files with 121 additions and 93 deletions

View File

@ -12,23 +12,6 @@ Index: src/daemon/start-pulseaudio-x11.in
+ exit 1
+fi
+
@PA_BINARY@ --start "$@"
if [ x"$DISPLAY" != x ] ; then
Index: src/daemon/start-pulseaudio-kde.in
===================================================================
--- src/daemon/start-pulseaudio-kde.in.orig
+++ src/daemon/start-pulseaudio-kde.in
@@ -19,6 +19,12 @@
set -e
+. /etc/sysconfig/sound
+
+if [ x"$PULSEAUDIO_ENABLE" = x"no" ] || [ x"$PULSEAUDIO_SYSTEM" = x"yes" ]; then
+ exit 1
+fi
+
[ -z "$PULSE_SERVER" ]
@PA_BINARY@ --start "$@"
@PACTL_BINARY@ load-module module-x11-publish "display=$DISPLAY" > /dev/null

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:99c13a8b1249ddbd724f195579df79484e9af6418cecf6a15f003a7f36caf939
size 1455428

3
pulseaudio-5.99.3.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:88f14aa22eb611276c584f9fba6a190954f751b98a7bd6112763f1d6a0670b52
size 1468972

View File

@ -1,52 +0,0 @@
commit 26b9d22dd24c17eb118d0205bf7b02b75d435e3c
Author: Alexander E. Patrakov <patrakov@gmail.com>
Date: Thu Jun 5 22:29:25 2014 +0600
rtp-recv: fix crash on empty UDP packets (CVE-2014-3970)
On FIONREAD returning 0 bytes, we cannot return success, as the caller
(rtpoll_work_cb in module-rtp-recv.c) would then try to
pa_memblock_unref(chunk.memblock) and, because memblock is NULL, trigger
an assertion.
Also we have to read out the possible empty packet from the socket, so
that the kernel doesn't tell us again and again about it.
Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
diff --git a/src/modules/rtp/rtp.c b/src/modules/rtp/rtp.c
index 570737e..7b75e0e 100644
--- a/src/modules/rtp/rtp.c
+++ b/src/modules/rtp/rtp.c
@@ -182,8 +182,29 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool, struct
goto fail;
}
- if (size <= 0)
- return 0;
+ if (size <= 0) {
+ /* size can be 0 due to any of the following reasons:
+ *
+ * 1. Somebody sent us a perfectly valid zero-length UDP packet.
+ * 2. Somebody sent us a UDP packet with a bad CRC.
+ *
+ * It is unknown whether size can actually be less than zero.
+ *
+ * In the first case, the packet has to be read out, otherwise the
+ * kernel will tell us again and again about it, thus preventing
+ * reception of any further packets. So let's just read it out
+ * now and discard it later, when comparing the number of bytes
+ * received (0) with the number of bytes wanted (1, see below).
+ *
+ * In the second case, recvmsg() will fail, thus allowing us to
+ * return the error.
+ *
+ * Just to avoid passing zero-sized memchunks and NULL pointers to
+ * recvmsg(), let's force allocation of at least one byte by setting
+ * size to 1.
+ */
+ size = 1;
+ }
if (c->memchunk.length < (unsigned) size) {
size_t l;

View File

@ -1,3 +1,65 @@
-------------------------------------------------------------------
Wed Jan 21 15:08:31 UTC 2015 - oholecek@suse.com
- Update to 6.0 RC3 (5.99.3)
+ srbchannel has been disabled by default for 6.0
(We still encourage testing of the srbchannel - do so by adding
the "srbchannel=yes" to "load-module module-native-protocol-unix")
+ libsamplerate is deprecated
+ a problem causing wrong volume with orc 0.4.23 was worked around
+ translation updates (Swedish, Turkish)
+ a few other bug fixes
- remove patch pulseaudio-orc-0.4.23-volume-fix.patch
-------------------------------------------------------------------
Thu Jan 8 14:17:45 CET 2015 - tiwai@suse.de
- Fix broken volume setup with orc 0.4.23 (bsc#912260):
pulseaudio-orc-0.4.23-volume-fix.patch
-------------------------------------------------------------------
Thu Jan 1 21:13:30 UTC 2015 - meissner@suse.com
- build with PIE
-------------------------------------------------------------------
Fri Dec 19 14:17:06 UTC 2014 - oholecek@suse.com
- Update to 6.0 RC2 (5.99.2)
+ Build system fixes for Debian/FreeBSD and mingw32
+ Some translation updates
+ Fixed A2DP profile not restored correctly
+ Configure fixes for bluez 5 native headset backend
+ Noise in the beginning of a recording (with srbchannel) fixed
+ Fixed a few memory safety issues
+ Added warnings for two unstable modules (module-equalizer-sink and
module-dbus-protocol)
+ Enabled autospawn even when systemd socket activation is built in
-------------------------------------------------------------------
Wed Nov 26 13:44:13 UTC 2014 - oholecek@suse.com
- remove obsoleted libsamplerate support
- make completion packages depend on utils subpackage
-------------------------------------------------------------------
Fri Nov 21 22:26:55 UTC 2014 - oholecek@suse.com
- Update to 6.0 RC1 (5.99.1)
+ Bluez 5 HSP (headset profile) support, both with and without oFono
+ SystemD socket activation support
+ Better support for multichannel and 2.1 profiles
+ Protocol optimisations
+ Zsh shell completion support
+ Remap optimisations
+ Many minor improvements and bug fixes all across the place
- Remove patch pulseaudio-bnc881524-rtp.patch
- Update patch disabled-start.diff
- Bash&zsh completion split to separate subpackage
- Fix %postun for system-wide mode
- json-c >= 0.11 is now required
(break build on oS 13.1)
-------------------------------------------------------------------
Thu Nov 20 18:26:27 CET 2014 - tiwai@suse.de

View File

@ -17,9 +17,9 @@
Name: pulseaudio
Version: 5.0
Version: 5.99.3
Release: 0
%define drvver 5.0
%define drvver 5.99
%define soname 0
%define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
@ -42,8 +42,6 @@ Source99: baselibs.conf
Patch0: disabled-start.diff
Patch1: suppress-socket-error-msg.diff
Patch2: pulseaudio-wrong-memset.patch
# PATCH-FIX-UPSTREAM pulseaudio-bnc881524-rtp.patch sreeves@suse.com
Patch3: pulseaudio-bnc881524-rtp.patch
BuildRequires: alsa-devel >= 1.0.19
# require only minimal bluez, if we are on bluez 5 we will determine in %build phase
BuildRequires: bluez-devel >= 4.99
@ -55,7 +53,6 @@ BuildRequires: jack-devel
BuildRequires: libatomic_ops-devel >= 1.2
BuildRequires: libavahi-devel
BuildRequires: libopenssl-devel
BuildRequires: libsamplerate-devel
BuildRequires: libsndfile-devel >= 1.0.18
#our libtdb-devel does not have a .pc file
BuildRequires: fftw3-devel >= 3.0
@ -76,7 +73,7 @@ BuildRequires: pkgconfig(gconf-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(json) >= 0.9
BuildRequires: pkgconfig(json) >= 0.11
BuildRequires: pkgconfig(sbc) >= 1.0
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(x11)
@ -90,6 +87,7 @@ Requires: udev >= 146
## needs the same liborc version which was used to build against
%requires_eq liborc-0_4-0
Recommends: %{name}-lang
Recommends: %{name}-bash-completion
Recommends: alsa-plugins-pulse
Obsoletes: libpulsecore9 < 0.9.15
Provides: libpulsecore9 = 0.9.15
@ -291,16 +289,35 @@ improved drop-in replacement for the Enlightened Sound Daemon (ESOUND).
This package contains GDM integration hooks for the PulseAudio sound server.
%package bash-completion
Summary: PulseAudio Bash completion
Group: System/Shells
Requires: %{name}-utils = %{version}
Requires: bash
%description bash-completion
Optional dependency offering bash completion for various PulseAudio utilities
%package zsh-completion
Summary: PulseAudio zsh completion
Group: System/Shells
Requires: %{name}-utils = %{version}
Requires: zsh
%description zsh-completion
Optional dependency offering zsh completion for various PulseAudio utilities
%lang_package
%prep
%setup -q -T -b0
%patch0
%patch1 -p1
%patch2
%patch3 -p1
%build
echo 'HTML_TIMESTAMP=NO' >> doxygen/doxygen.conf.in
export LDFLAGS="-pie"
export CFLAGS="$RPM_OPT_FLAGS -fPIE"
%configure \
--disable-static \
--disable-rpath \
@ -337,7 +354,6 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
# openSUSE 11.3 cannot find the .desktop files
%suse_update_desktop_file pulseaudio
%suse_update_desktop_file pulseaudio-kde
%find_lang %{name}
install %{SOURCE2} %{buildroot}%{_bindir}
chmod 755 %{buildroot}%{_bindir}/setup-pulseaudio
@ -356,9 +372,6 @@ install -m 0644 %{S:4} %{buildroot}/%{_fwdefdir}/pulseaudio-server
%endif
%fdupes doxygen/html
%clean
%{?buildroot:%__rm -rf '%{buildroot}'}
%pre
getent group pulse >/dev/null || groupadd -r pulse
getent passwd pulse >/dev/null || useradd -r -g pulse -d /var/lib/pulseaudio -s /sbin/nologin -c "PulseAudio daemon" pulse
@ -395,7 +408,7 @@ exit 0
exit 0
%postun system-wide
%service_del_preun pulseaudio.service
%service_del_postun pulseaudio.service
exit 0
%files
@ -503,7 +516,13 @@ exit 0
%config(noreplace) %{_sysconfdir}/pulse/default.pa
%config(noreplace) %{_sysconfdir}/pulse/system.pa
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/pulseaudio-system.conf
%config(noreplace) %{_sysconfdir}/bash_completion.d/pulseaudio-bash-completion.sh
# init
%dir %{_libexecdir}/systemd
%dir %{_libexecdir}/systemd/user
%{_libexecdir}/systemd/user/%{name}.service
%{_libexecdir}/systemd/user/%{name}.socket
%if %{defined suse_version}
%config(noreplace) %{_fwdefdir}/pulseaudio-server
%endif
@ -585,14 +604,11 @@ exit 0
%files module-x11
%defattr(-,root,root)
%{_sysconfdir}/xdg/autostart/pulseaudio.desktop
%{_sysconfdir}/xdg/autostart/pulseaudio-kde.desktop
%{_bindir}/start-pulseaudio-x11
%{_bindir}/start-pulseaudio-kde
%{_libdir}/pulse-%{drvver}/modules/module-x11-bell.so
%{_libdir}/pulse-%{drvver}/modules/module-x11-cork-request.so
%{_libdir}/pulse-%{drvver}/modules/module-x11-publish.so
%{_libdir}/pulse-%{drvver}/modules/module-x11-xsmp.so
%doc %{_mandir}/man1/start-pulseaudio-kde.1*
%doc %{_mandir}/man1/start-pulseaudio-x11.1*
%files module-zeroconf
@ -627,9 +643,28 @@ exit 0
%files lang -f %{name}.lang
%files system-wide
%defattr(-,root,root)
%{_sbindir}/rc%{name}
%dir /usr/lib/systemd
%dir /usr/lib/systemd/system
/usr/lib/systemd/system/%{name}.service
%dir %{_libexecdir}/systemd/system
%{_libexecdir}/systemd/system/%{name}.service
%files bash-completion
%defattr(-,root,root)
%dir %{_sysconfdir}/bash_completion.d
%config %{_sysconfdir}/bash_completion.d/pulseaudio
%config %{_sysconfdir}/bash_completion.d/pacat
%config %{_sysconfdir}/bash_completion.d/pacmd
%config %{_sysconfdir}/bash_completion.d/pactl
%config %{_sysconfdir}/bash_completion.d/padsp
%config %{_sysconfdir}/bash_completion.d/paplay
%config %{_sysconfdir}/bash_completion.d/parec
%config %{_sysconfdir}/bash_completion.d/parecord
%config %{_sysconfdir}/bash_completion.d/pasuspender
%files zsh-completion
%defattr(-,root,root)
%dir %{_datarootdir}/zsh
%dir %{_datarootdir}/zsh/site-functions/
%config %{_datarootdir}/zsh/site-functions/_pulseaudio
%changelog