summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-11-28 18:47:25 +0100
committerLudovic Courtès <ludo@gnu.org>2020-11-28 18:47:25 +0100
commit8ae794ed4b0ef342a9cfc7ac31c2d9dd43723c7c (patch)
treebe255ba94f7ce086ce499e6702fa27c53ebb1f34 /gnu
parent8cbfd108acbf971e14659fc82959e7b505a8a443 (diff)
gnu: dbus: Update to 1.13.18.
* gnu/packages/glib.scm (dbus): Update to 1.13.18. [source]: Remove "dbus-CVE-2020-12049.patch". * gnu/packages/patches/dbus-CVE-2020-12049.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove it.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/glib.scm9
-rw-r--r--gnu/packages/patches/dbus-CVE-2020-12049.patch58
3 files changed, 4 insertions, 64 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 3282394eece..4924c932c68 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -895,7 +895,6 @@ dist_patch_DATA = \
895 %D%/packages/patches/datefudge-gettimeofday.patch \ 895 %D%/packages/patches/datefudge-gettimeofday.patch \
896 %D%/packages/patches/dbacl-include-locale.h.patch \ 896 %D%/packages/patches/dbacl-include-locale.h.patch \
897 %D%/packages/patches/dbus-helper-search-path.patch \ 897 %D%/packages/patches/dbus-helper-search-path.patch \
898 %D%/packages/patches/dbus-CVE-2020-12049.patch \
899 %D%/packages/patches/dbus-c++-gcc-compat.patch \ 898 %D%/packages/patches/dbus-c++-gcc-compat.patch \
900 %D%/packages/patches/dbus-c++-threading-mutex.patch \ 899 %D%/packages/patches/dbus-c++-threading-mutex.patch \
901 %D%/packages/patches/dbxfs-remove-sentry-sdk.patch \ 900 %D%/packages/patches/dbxfs-remove-sentry-sdk.patch \
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 3f5dd936d26..606802e7de5 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -89,17 +89,16 @@
89(define dbus 89(define dbus
90 (package 90 (package
91 (name "dbus") 91 (name "dbus")
92 (version "1.12.16") 92 (version "1.13.18")
93 (source (origin 93 (source (origin
94 (method url-fetch) 94 (method url-fetch)
95 (uri (string-append 95 (uri (string-append
96 "https://dbus.freedesktop.org/releases/dbus/dbus-" 96 "https://dbus.freedesktop.org/releases/dbus/dbus-"
97 version ".tar.gz")) 97 version ".tar.xz"))
98 (sha256 98 (sha256
99 (base32 99 (base32
100 "107ckxaff1cv4q6kmfdi2fb1nlsv03312a7kf6lb4biglhpjv8jl")) 100 "0ki5yih89kvygiqf3qb7qfzcrw4fvilxj1b9w1y91arlbv1gay40"))
101 (patches (search-patches "dbus-CVE-2020-12049.patch" 101 (patches (search-patches "dbus-helper-search-path.patch"))))
102 "dbus-helper-search-path.patch"))))
103 (build-system gnu-build-system) 102 (build-system gnu-build-system)
104 (arguments 103 (arguments
105 '(#:configure-flags 104 '(#:configure-flags
diff --git a/gnu/packages/patches/dbus-CVE-2020-12049.patch b/gnu/packages/patches/dbus-CVE-2020-12049.patch
deleted file mode 100644
index 71280144a16..00000000000
--- a/gnu/packages/patches/dbus-CVE-2020-12049.patch
+++ /dev/null
@@ -1,58 +0,0 @@
1Fix CVE-2020-12049:
2
3https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-12049
4https://lists.freedesktop.org/archives/ftp-release/2020-June/000753.html
5
6Taken from upstream:
7
8https://gitlab.freedesktop.org/dbus/dbus/-/commit/272d484283883fa9ff95b69d924fff6cd34842f5
9
10diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c
11--- a/dbus/dbus-sysdeps-unix.c
12+++ b/dbus/dbus-sysdeps-unix.c
13@@ -435,18 +435,6 @@ _dbus_read_socket_with_unix_fds (DBusSocket fd,
14 struct cmsghdr *cm;
15 dbus_bool_t found = FALSE;
16
17- if (m.msg_flags & MSG_CTRUNC)
18- {
19- /* Hmm, apparently the control data was truncated. The bad
20- thing is that we might have completely lost a couple of fds
21- without chance to recover them. Hence let's treat this as a
22- serious error. */
23-
24- errno = ENOSPC;
25- _dbus_string_set_length (buffer, start);
26- return -1;
27- }
28-
29 for (cm = CMSG_FIRSTHDR(&m); cm; cm = CMSG_NXTHDR(&m, cm))
30 if (cm->cmsg_level == SOL_SOCKET && cm->cmsg_type == SCM_RIGHTS)
31 {
32@@ -501,6 +489,26 @@ _dbus_read_socket_with_unix_fds (DBusSocket fd,
33 if (!found)
34 *n_fds = 0;
35
36+ if (m.msg_flags & MSG_CTRUNC)
37+ {
38+ unsigned int i;
39+
40+ /* Hmm, apparently the control data was truncated. The bad
41+ thing is that we might have completely lost a couple of fds
42+ without chance to recover them. Hence let's treat this as a
43+ serious error. */
44+
45+ /* We still need to close whatever fds we *did* receive,
46+ * otherwise they'll never get closed. (CVE-2020-12049) */
47+ for (i = 0; i < *n_fds; i++)
48+ close (fds[i]);
49+
50+ *n_fds = 0;
51+ errno = ENOSPC;
52+ _dbus_string_set_length (buffer, start);
53+ return -1;
54+ }
55+
56 /* put length back (doesn't actually realloc) */
57 _dbus_string_set_length (buffer, start + bytes_read);
58