SHA256
1
0
forked from pool/pulseaudio

Accepting request 262679 from home:oholecek:branches:multimedia:libs

- Update to 6.0 RC1 (5.99.1)
  + Remove patch pulseaudio-bnc881524-rtp.patch
  + Update patch disabled-start.diff
  + Bash&zsh completion split to separate subpackage
  + json-c >= 0.11 is now required
    (note: break build on oS 13.1)
- Fix %postun for system-wide mode

Note this contain patches removed by Takashi, so it may reintroduce
boo#905418 at al.

Also consider if it is worth forwarding to factory now as (AFAIK) there are no pulseaudio tests in openQA so far and I'll start some tests only later today.

OBS-URL: https://build.opensuse.org/request/show/262679
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/pulseaudio?expand=0&rev=148
This commit is contained in:
Takashi Iwai 2014-11-26 13:09:32 +00:00 committed by Git OBS Bridge
parent f2eb788836
commit 3b771e2999
6 changed files with 68 additions and 89 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.1.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:589d3623c5458b2b831a107c49d16da69afed5b2cfa545353da90df1a3e84fbf
size 1454240

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,14 @@
-------------------------------------------------------------------
Fri Nov 21 22:26:55 UTC 2014 - oholecek@suse.com
- Update to 6.0 RC1 (5.99.1)
- 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.1
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
@ -76,7 +74,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 +88,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,13 +290,30 @@ 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} = %{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} = %{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
@ -337,7 +353,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
@ -395,7 +410,7 @@ exit 0
exit 0
%postun system-wide
%service_del_preun pulseaudio.service
%service_del_postun pulseaudio.service
exit 0
%files
@ -503,7 +518,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 +606,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 +645,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