diff options
author | Pacho Ramos <pacho@gentoo.org> | 2016-01-23 14:54:50 +0100 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2016-01-23 14:54:50 +0100 |
commit | 1a2bb4632e648a7d8ba0f20f14d6167542ef5bef (patch) | |
tree | d3c7047afd20cb2254e64d2afc822468091a880a /media-sound/pulseaudio/files | |
parent | media-sound/pulseaudio: Drop old (diff) | |
download | gentoo-1a2bb4632e648a7d8ba0f20f14d6167542ef5bef.tar.gz gentoo-1a2bb4632e648a7d8ba0f20f14d6167542ef5bef.tar.bz2 gentoo-1a2bb4632e648a7d8ba0f20f14d6167542ef5bef.zip |
media-sound/pulseaudio: Drop old
Package-Manager: portage-2.2.26
Diffstat (limited to 'media-sound/pulseaudio/files')
6 files changed, 0 insertions, 301 deletions
diff --git a/media-sound/pulseaudio/files/pulseaudio-5.0-crash-udp.patch b/media-sound/pulseaudio/files/pulseaudio-5.0-crash-udp.patch deleted file mode 100644 index d14da07459ff..000000000000 --- a/media-sound/pulseaudio/files/pulseaudio-5.0-crash-udp.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 26b9d22dd24c17eb118d0205bf7b02b75d435e3c Mon Sep 17 00:00:00 2001 -From: Alexander E. Patrakov <patrakov@gmail.com> -Date: Thu, 05 Jun 2014 16:29:25 +0000 -Subject: 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; --- -cgit v0.9.0.2-2-gbebe diff --git a/media-sound/pulseaudio/files/pulseaudio-5.0-module-switch.patch b/media-sound/pulseaudio/files/pulseaudio-5.0-module-switch.patch deleted file mode 100644 index e8ff6e051ae4..000000000000 --- a/media-sound/pulseaudio/files/pulseaudio-5.0-module-switch.patch +++ /dev/null @@ -1,35 +0,0 @@ -From ef4a41e8b0ef81a53769d853dbc7679b25252327 Mon Sep 17 00:00:00 2001 -From: David Henningsson <david.henningsson@canonical.com> -Date: Fri, 28 Mar 2014 11:59:09 +0100 -Subject: [PATCH 36/38] module-switch-on-port-available: Don't switch profiles - on uninitialized cards - -This could cause the HDMI port to become the default on some systems -where analog output was available. - -BugLink: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1256511 -BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=73375 -Signed-off-by: David Henningsson <david.henningsson@canonical.com> ---- - src/modules/module-switch-on-port-available.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c -index 2c7ad17..c560306 100644 ---- a/src/modules/module-switch-on-port-available.c -+++ b/src/modules/module-switch-on-port-available.c -@@ -173,6 +173,11 @@ static pa_hook_result_t port_available_hook_callback(pa_core *c, pa_device_port - return PA_HOOK_OK; - } - -+ if (pa_idxset_size(card->sinks) == 0 && pa_idxset_size(card->sources) == 0) -+ /* This card is not initialized yet. We'll handle it in -+ sink_new / source_new callbacks later. */ -+ return PA_HOOK_OK; -+ - find_sink_and_source(card, port, &sink, &source); - - is_active_profile = card->active_profile == pa_hashmap_get(port->profiles, card->active_profile->name); --- -1.9.0 - diff --git a/media-sound/pulseaudio/files/pulseaudio-5.0-zeroconf-crash-1.patch b/media-sound/pulseaudio/files/pulseaudio-5.0-zeroconf-crash-1.patch deleted file mode 100644 index d90399be3653..000000000000 --- a/media-sound/pulseaudio/files/pulseaudio-5.0-zeroconf-crash-1.patch +++ /dev/null @@ -1,26 +0,0 @@ -From d03ffdccdb7286021e53876ba5d4adf9a1edd0d0 Mon Sep 17 00:00:00 2001 -From: Tanu Kaskinen <tanu.kaskinen@linux.intel.com> -Date: Sat, 15 Mar 2014 09:37:05 +0200 -Subject: zeroconf-publish: Add locking around pa_mainloop_api_once() - -Commit e1e154c7377779377fa1a36655a10effd693f7b5 added locking around -pa_mainloop_api_once() everywhere except pa__done(). This fixes that -omission. - -diff --git a/src/modules/module-zeroconf-publish.c b/src/modules/module-zeroconf-publish.c -index 0110e1d..35277c2 100644 ---- a/src/modules/module-zeroconf-publish.c -+++ b/src/modules/module-zeroconf-publish.c -@@ -807,7 +807,9 @@ void pa__done(pa_module*m) { - if (!(u = m->userdata)) - return; - -+ pa_threaded_mainloop_lock(u->mainloop); - pa_mainloop_api_once(u->api, client_free, u); -+ pa_threaded_mainloop_unlock(u->mainloop); - pa_asyncmsgq_wait_for(u->thread_mq.outq, AVAHI_MESSAGE_SHUTDOWN_COMPLETE); - - pa_threaded_mainloop_stop(u->mainloop); --- -cgit v0.10.2 - diff --git a/media-sound/pulseaudio/files/pulseaudio-5.0-zeroconf-crash-2.patch b/media-sound/pulseaudio/files/pulseaudio-5.0-zeroconf-crash-2.patch deleted file mode 100644 index 7d4de455941f..000000000000 --- a/media-sound/pulseaudio/files/pulseaudio-5.0-zeroconf-crash-2.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 37e73e10be9e42544a4cc160ff85ccada2cc9aa9 Mon Sep 17 00:00:00 2001 -From: Tanu Kaskinen <tanu.kaskinen@linux.intel.com> -Date: Sat, 15 Mar 2014 09:37:06 +0200 -Subject: zeroconf-publish: Don't react to messages while shutting down - -This fixes a case where pa__done() is called while -AVAHI_MESSAGE_PUBLISH_ALL is waiting for processing. The -pa_asyncmsgq_wait_for(AVAHI_MESSAGE_SHUTDOWN_COMPLETE) call will -process all pending messages, and processing AVAHI_MESSAGE_PUBLISH_ALL -causes publish_all_services(), and that in turn accesses u->services, -which has been already freed at this point. If we are shutting down, -we shouldn't react to any of the messages that the Avahi thread is -sending to the main thread. - -BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=76184 - -diff --git a/src/modules/module-zeroconf-publish.c b/src/modules/module-zeroconf-publish.c -index 35277c2..db92850 100644 ---- a/src/modules/module-zeroconf-publish.c -+++ b/src/modules/module-zeroconf-publish.c -@@ -141,6 +141,8 @@ struct userdata { - pa_hook_slot *sink_new_slot, *source_new_slot, *sink_unlink_slot, *source_unlink_slot, *sink_changed_slot, *source_changed_slot; - - pa_native_protocol *native; -+ -+ bool shutting_down; - }; - - /* Runs in PA mainloop context */ -@@ -638,6 +640,11 @@ static void unpublish_all_services(struct userdata *u, bool rem) { - static int avahi_process_msg(pa_msgobject *o, int code, void *data, int64_t offset, pa_memchunk *chunk) { - struct userdata *u = (struct userdata *) data; - -+ pa_assert(u); -+ -+ if (u->shutting_down) -+ return 0; -+ - switch (code) { - case AVAHI_MESSAGE_PUBLISH_ALL: - publish_all_services(u); -@@ -647,10 +654,6 @@ static int avahi_process_msg(pa_msgobject *o, int code, void *data, int64_t offs - pa_module_unload(u->core, u->module, true); - break; - -- case AVAHI_MESSAGE_SHUTDOWN_COMPLETE: -- /* pa__done() is waiting for this */ -- break; -- - default: - pa_assert_not_reached(); - } -@@ -797,7 +800,7 @@ static void client_free(pa_mainloop_api *api PA_GCC_UNUSED, void *userdata) { - if (u->avahi_poll) - pa_avahi_poll_free(u->avahi_poll); - -- pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->msg), AVAHI_MESSAGE_SHUTDOWN_COMPLETE, NULL, 0, NULL, NULL); -+ pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->msg), AVAHI_MESSAGE_SHUTDOWN_COMPLETE, u, 0, NULL, NULL); - } - - void pa__done(pa_module*m) { -@@ -807,6 +810,8 @@ void pa__done(pa_module*m) { - if (!(u = m->userdata)) - return; - -+ u->shutting_down = true; -+ - pa_threaded_mainloop_lock(u->mainloop); - pa_mainloop_api_once(u->api, client_free, u); - pa_threaded_mainloop_unlock(u->mainloop); --- -cgit v0.10.2 - diff --git a/media-sound/pulseaudio/files/pulseaudio-5.0-zeroconf-crash-3.patch b/media-sound/pulseaudio/files/pulseaudio-5.0-zeroconf-crash-3.patch deleted file mode 100644 index 6bdd46415cd2..000000000000 --- a/media-sound/pulseaudio/files/pulseaudio-5.0-zeroconf-crash-3.patch +++ /dev/null @@ -1,77 +0,0 @@ -From b75a20db10c8605d98324a7782a7da6483ae9f14 Mon Sep 17 00:00:00 2001 -From: Tanu Kaskinen <tanu.kaskinen@linux.intel.com> -Date: Wed, 19 Mar 2014 09:50:39 +0200 -Subject: zeroconf-publish: Don't assume any particular defer event ordering - -Also, initialize userdata with zeros to avoid invalid pointers in -client_free(). - -This fixes a crash when client_free() is called before -create_client(). The whole issue could be avoided by using some other -mechanism than defer events for running the two functions, but I'll -do that change later (I have also other cleanups planned for -zeroconf-publish). - -BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=76184 - -diff --git a/src/modules/module-zeroconf-publish.c b/src/modules/module-zeroconf-publish.c -index db92850..be8806e 100644 ---- a/src/modules/module-zeroconf-publish.c -+++ b/src/modules/module-zeroconf-publish.c -@@ -142,7 +142,8 @@ struct userdata { - - pa_native_protocol *native; - -- bool shutting_down; -+ bool shutting_down; /* Used in the main thread. */ -+ bool client_freed; /* Used in the Avahi thread. */ - }; - - /* Runs in PA mainloop context */ -@@ -707,6 +708,16 @@ static void create_client(pa_mainloop_api *api PA_GCC_UNUSED, void *userdata) { - struct userdata *u = (struct userdata *) userdata; - int error; - -+ /* create_client() and client_free() are called via defer events. If the -+ * two defer events are created very quickly one after another, we can't -+ * assume that the defer event that runs create_client() will be dispatched -+ * before the defer event that runs client_free() (at the time of writing, -+ * pa_mainloop actually always dispatches queued defer events in reverse -+ * creation order). For that reason we must be prepared for the case where -+ * client_free() has already been called. */ -+ if (u->client_freed) -+ return; -+ - pa_thread_mq_install(&u->thread_mq); - - if (!(u->client = avahi_client_new(u->avahi_poll, AVAHI_CLIENT_NO_FAIL, client_callback, u, &error))) { -@@ -733,7 +744,7 @@ int pa__init(pa_module*m) { - goto fail; - } - -- m->userdata = u = pa_xnew(struct userdata, 1); -+ m->userdata = u = pa_xnew0(struct userdata, 1); - u->core = m->core; - u->module = m; - u->native = pa_native_protocol_get(u->core); -@@ -757,8 +768,6 @@ int pa__init(pa_module*m) { - u->source_changed_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SOURCE_PROPLIST_CHANGED], PA_HOOK_LATE, (pa_hook_cb_t) device_new_or_changed_cb, u); - u->source_unlink_slot = pa_hook_connect(&m->core->hooks[PA_CORE_HOOK_SOURCE_UNLINK], PA_HOOK_LATE, (pa_hook_cb_t) device_unlink_cb, u); - -- u->main_entry_group = NULL; -- - un = pa_get_user_name_malloc(); - hn = pa_get_host_name_malloc(); - u->service_name = pa_truncate_utf8(pa_sprintf_malloc("%s@%s", un, hn), AVAHI_LABEL_MAX-1); -@@ -801,6 +810,8 @@ static void client_free(pa_mainloop_api *api PA_GCC_UNUSED, void *userdata) { - pa_avahi_poll_free(u->avahi_poll); - - pa_asyncmsgq_post(u->thread_mq.outq, PA_MSGOBJECT(u->msg), AVAHI_MESSAGE_SHUTDOWN_COMPLETE, u, 0, NULL, NULL); -+ -+ u->client_freed = true; - } - - void pa__done(pa_module*m) { --- -cgit v0.10.2 - diff --git a/media-sound/pulseaudio/files/svolume-fix_param_loading_undefined_beh.patch b/media-sound/pulseaudio/files/svolume-fix_param_loading_undefined_beh.patch deleted file mode 100644 index 4e22f5e95d1c..000000000000 --- a/media-sound/pulseaudio/files/svolume-fix_param_loading_undefined_beh.patch +++ /dev/null @@ -1,37 +0,0 @@ -From: Wim Taymans -Date: Wed, 7 Jan 2015 11:20:01 +0100 -Subject: [PATCH] svolume.orc: avoid parameter loading undefined behaviour - -In some cases, depending on the instruction that performs the load, orc -ignores the size of the parameter when loading it for the first time. -Explicitly load the parameter into a temp to make sure it is loaded -correctly, like we do for the 2ch case. - -See https://bugzilla.gnome.org/show_bug.cgi?id=742271 ---- - src/pulsecore/svolume.orc | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/pulsecore/svolume.orc b/src/pulsecore/svolume.orc -index 0edbefb..f869893 100644 ---- a/src/pulsecore/svolume.orc -+++ b/src/pulsecore/svolume.orc -@@ -45,13 +45,15 @@ - - .function pa_volume_s16ne_orc_1ch - .dest 2 samples int16_t --.param 4 v int32_t -+.param 4 vols int32_t -+.temp 4 v - .temp 2 vh - .temp 4 s - .temp 4 mh - .temp 4 ml - .temp 4 signc - -+loadpl v, vols - convuwl s, samples - x2 cmpgtsw signc, 0, s - x2 andw signc, signc, v --- -1.9.3 |