summaryrefslogtreecommitdiff
path: root/gnu/packages/patches
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-10-21 18:06:02 +0200
committerMarius Bakke <mbakke@fastmail.com>2018-10-21 18:06:02 +0200
commitffddb42d6c510456997ee6de1c1b8026c9ce6d14 (patch)
tree5be4a965bb14f3de4af9f733f802b80840aff84c /gnu/packages/patches
parente381ae317c054a8ac52037c3f0df72ca3c96b91f (diff)
parent3a69b59332f02805fde2aee22b8f622c651f7007 (diff)
downloadguix-patches-ffddb42d6c510456997ee6de1c1b8026c9ce6d14.tar
guix-patches-ffddb42d6c510456997ee6de1c1b8026c9ce6d14.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages/patches')
-rw-r--r--gnu/packages/patches/grub-check-error-efibootmgr.patch23
-rw-r--r--gnu/packages/patches/libgxps-CVE-2017-11590.patch48
-rw-r--r--gnu/packages/patches/libssh-hostname-parser-bug.patch22
-rw-r--r--gnu/packages/patches/soundconverter-remove-gconf-dependency.patch83
4 files changed, 109 insertions, 67 deletions
diff --git a/gnu/packages/patches/grub-check-error-efibootmgr.patch b/gnu/packages/patches/grub-check-error-efibootmgr.patch
index b2fd160c9a..efeb20f213 100644
--- a/gnu/packages/patches/grub-check-error-efibootmgr.patch
+++ b/gnu/packages/patches/grub-check-error-efibootmgr.patch
@@ -160,7 +160,7 @@ index 5e4cdfd..690f180 100644
/* Try to make this image bootable using the EFI Boot Manager, if available. */
if (!efi_distributor || efi_distributor[0] == '\0')
-@@ -1887,8 +1892,11 @@ main (int argc, char *argv[])
+@@ -1887,7 +1892,10 @@ main (int argc, char *argv[])
efidir_grub_dev->disk->name,
(part ? ",": ""), (part ? : ""));
grub_free (part);
@@ -173,4 +173,25 @@ index 5e4cdfd..690f180 100644
+ strerror (ret));
}
break;
+
+
+Below is a followup to the patch above: the uninitialized variable could lead
+‘grub-install’ to error out when it shouldn’t (seen on an AArch64 box where
+‘grub_install_remove_efi_entries_by_distributor’ didn't have any entry to
+remove):
+
+ grub-install: error: efibootmgr failed to register the boot entry: Unknown error 65535.
+
+See <http://lists.gnu.org/archive/html/bug-grub/2018-10/msg00006.html>.
+
+--- grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:53.015284846 +0200
++++ grub-2.02/grub-core/osdep/unix/platform.c 2018-10-17 22:21:55.595271222 +0200
+@@ -85,7 +85,7 @@ grub_install_remove_efi_entries_by_distr
+ pid_t pid = grub_util_exec_pipe ((const char * []){ "efibootmgr", NULL }, &fd);
+ char *line = NULL;
+ size_t len = 0;
+- int rc;
++ int rc = 0;
+ if (!pid)
+ {
diff --git a/gnu/packages/patches/libgxps-CVE-2017-11590.patch b/gnu/packages/patches/libgxps-CVE-2017-11590.patch
deleted file mode 100644
index 9caa79b6f0..0000000000
--- a/gnu/packages/patches/libgxps-CVE-2017-11590.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-Fix CVE-2017-11590:
-
-https://bugzilla.gnome.org/show_bug.cgi?id=785479
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-11590
-
-Patch copied from upstream source repository:
-
-https://git.gnome.org/browse/libgxps/commit/?id=9d5d292055250ed298f3b89dc332d6db4003a031
-
-From 9d5d292055250ed298f3b89dc332d6db4003a031 Mon Sep 17 00:00:00 2001
-From: Marek Kasik <mkasik@redhat.com>
-Date: Wed, 26 Jul 2017 16:23:37 +0200
-Subject: archive: Check for pathname being NULL before dereferencing
-
-Check whether "archive_entry_pathname ()" returns a non-NULL pathname
-before using it to avoid a NULL pointer being dereferenced.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=785479
----
- libgxps/gxps-archive.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/libgxps/gxps-archive.c b/libgxps/gxps-archive.c
-index acf8d7d..e763773 100644
---- a/libgxps/gxps-archive.c
-+++ b/libgxps/gxps-archive.c
-@@ -257,6 +257,7 @@ gxps_archive_initable_init (GInitable *initable,
- GXPSArchive *archive;
- ZipArchive *zip;
- struct archive_entry *entry;
-+ const gchar *pathname;
-
- archive = GXPS_ARCHIVE (initable);
-
-@@ -281,7 +282,9 @@ gxps_archive_initable_init (GInitable *initable,
-
- while (gxps_zip_archive_iter_next (zip, &entry)) {
- /* FIXME: We can ignore directories here */
-- g_hash_table_add (archive->entries, g_strdup (archive_entry_pathname (entry)));
-+ pathname = archive_entry_pathname (entry);
-+ if (pathname != NULL)
-+ g_hash_table_add (archive->entries, g_strdup (pathname));
- archive_read_data_skip (zip->archive);
- }
-
---
-cgit v0.12
-
diff --git a/gnu/packages/patches/libssh-hostname-parser-bug.patch b/gnu/packages/patches/libssh-hostname-parser-bug.patch
index 69f46cbdd6..de2336e86d 100644
--- a/gnu/packages/patches/libssh-hostname-parser-bug.patch
+++ b/gnu/packages/patches/libssh-hostname-parser-bug.patch
@@ -1,31 +1,17 @@
-Fix "Hostname" parsing in OpenSSH config files, as reported
-at <https://red.libssh.org/issues/260>.
-
-From: Niels Ole Salscheider <niels_ole@salscheider-online.de>
-Date: Mon, 8 May 2017 17:36:13 +0200
-Subject: [PATCH] Fix reading of the first parameter
-
-This is a fixup for 7b8b5eb4eac314a3a29be812bef0264c6611f6e7.
-Previously, it would return as long as the parameter was _not_ seen
-before. It also did not handle the case for the unsupported opcode (-1)
+It does not handle the case for the unsupported opcode (-1)
which would cause a segfault when accessing the "seen" array.
----
- src/config.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/config.c b/src/config.c
-index 7c03b27..238a655 100644
+index c5313ec8..72e07639 100644
--- a/src/config.c
+++ b/src/config.c
-@@ -218,8 +218,9 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
+@@ -218,7 +218,8 @@ static int ssh_config_parse_line(ssh_session session, const char *line,
}
opcode = ssh_config_get_opcode(keyword);
- if (*parsing == 1 && opcode != SOC_HOST) {
-- if (seen[opcode] == 0) {
+ if (*parsing == 1 && opcode != SOC_HOST &&
+ opcode > SOC_UNSUPPORTED && opcode < SOC_END) {
-+ if (seen[opcode] == 1) {
+ if (seen[opcode] != 0) {
return 0;
}
- seen[opcode] = 1;
diff --git a/gnu/packages/patches/soundconverter-remove-gconf-dependency.patch b/gnu/packages/patches/soundconverter-remove-gconf-dependency.patch
new file mode 100644
index 0000000000..f065b9a3d4
--- /dev/null
+++ b/gnu/packages/patches/soundconverter-remove-gconf-dependency.patch
@@ -0,0 +1,83 @@
+From: Sebastian Ramacher <sebastian@ramacher.at>
+Date: Fri, 6 Apr 2018 13:25:35 +0200
+Subject: Only fetch profiles if GConf is still available
+
+---
+ bin/soundconverter.py | 1 -
+ soundconverter/gstreamer.py | 44 ++++++++++++++++++++++++--------------------
+ 2 files changed, 24 insertions(+), 21 deletions(-)
+
+diff --git a/bin/soundconverter.py b/bin/soundconverter.py
+index 39055ce..5198443 100644
+--- a/bin/soundconverter.py
++++ b/bin/soundconverter.py
+@@ -66,7 +66,6 @@ def _check_libs():
+ import gi
+ gi.require_version('Gst', '1.0')
+ gi.require_version('Gtk', '3.0')
+- gi.require_version('GConf', '2.0')
+ from gi.repository import GObject
+ # force GIL creation - see https://bugzilla.gnome.org/show_bug.cgi?id=710447
+ import threading
+diff --git a/soundconverter/gstreamer.py b/soundconverter/gstreamer.py
+index 23aaa9b..211b052 100644
+--- a/soundconverter/gstreamer.py
++++ b/soundconverter/gstreamer.py
+@@ -25,7 +25,7 @@ from urllib.parse import urlparse
+ from gettext import gettext as _
+
+ import gi
+-from gi.repository import Gst, Gtk, GObject, GConf, Gio
++from gi.repository import Gst, Gtk, GObject, Gio
+
+ from soundconverter.fileoperations import vfs_encode_filename, file_encode_filename
+ from soundconverter.fileoperations import unquote_filename, vfs_makedirs, vfs_unlink
+@@ -66,25 +66,29 @@ _GCONF_PROFILE_LIST_PATH = "/system/gstreamer/1.0/audio/global/profile_list"
+ audio_profiles_list = []
+ audio_profiles_dict = {}
+
+-_GCONF = GConf.Client.get_default()
+-profiles = _GCONF.all_dirs(_GCONF_PROFILE_LIST_PATH)
+-for name in profiles:
+- if _GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active"):
+- # get profile
+- description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name")
+- extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension")
+- pipeline = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline")
+- # check profile validity
+- if not extension or not pipeline:
+- continue
+- if not description:
+- description = extension
+- if description in audio_profiles_dict:
+- continue
+- # store
+- profile = description, extension, pipeline
+- audio_profiles_list.append(profile)
+- audio_profiles_dict[description] = profile
++try:
++ from gi.repository import GConf
++ _GCONF = GConf.Client.get_default()
++ profiles = _GCONF.all_dirs(_GCONF_PROFILE_LIST_PATH)
++ for name in profiles:
++ if _GCONF.get_bool(_GCONF_PROFILE_PATH + name + "/active"):
++ # get profile
++ description = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/name")
++ extension = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/extension")
++ pipeline = _GCONF.get_string(_GCONF_PROFILE_PATH + name + "/pipeline")
++ # check profile validity
++ if not extension or not pipeline:
++ continue
++ if not description:
++ description = extension
++ if description in audio_profiles_dict:
++ continue
++ # store
++ profile = description, extension, pipeline
++ audio_profiles_list.append(profile)
++ audio_profiles_dict[description] = profile
++except ImportError:
++ pass
+
+ required_elements = ('decodebin', 'fakesink', 'audioconvert', 'typefind', 'audiorate')
+ for element in required_elements: