[systemd] systemd-202-3

Harald Hoyer harald at fedoraproject.org
Wed Apr 24 12:46:23 UTC 2013


commit 5f4d81a30142de3b7ec374a7f4cd3d2153b16317
Author: Harald Hoyer <harald at redhat.com>
Date:   Wed Apr 24 14:45:56 2013 +0200

    systemd-202-3
    
    - fix ENOENT for getaddrinfo
    Resolves: rhbz#954012 rhbz#956035
    - crypt-setup-generator: correctly check return of strdup
    - logind-dbus: initialize result variable
    - prevent library underlinking

 ...-generator-correctly-check-return-of-strd.patch |   34 ++++++++++++++++++
 0007-logind-dbus-initialize-result-variable.patch  |   25 ++++++++++++++
 ...stname-ensure-that-glibc-s-assert-is-used.patch |   36 ++++++++++++++++++++
 0009-build-sys-prevent-library-underlinking.patch  |   26 ++++++++++++++
 systemd.spec                                       |   13 ++++++-
 5 files changed, 133 insertions(+), 1 deletions(-)
---
diff --git a/0006-crypt-setup-generator-correctly-check-return-of-strd.patch b/0006-crypt-setup-generator-correctly-check-return-of-strd.patch
new file mode 100644
index 0000000..4d5fa76
--- /dev/null
+++ b/0006-crypt-setup-generator-correctly-check-return-of-strd.patch
@@ -0,0 +1,34 @@
+From 5a8e21785907df7466fef5e1cb54ce3bf99e5362 Mon Sep 17 00:00:00 2001
+From: Lukas Nykryn <lnykryn at redhat.com>
+Date: Fri, 19 Apr 2013 13:58:57 +0200
+Subject: [PATCH] crypt-setup-generator: correctly check return of strdup
+
+---
+ src/cryptsetup/cryptsetup-generator.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
+index ac0ed58..b31329d 100644
+--- a/src/cryptsetup/cryptsetup-generator.c
++++ b/src/cryptsetup/cryptsetup-generator.c
+@@ -302,7 +302,7 @@ static int parse_proc_cmdline(char ***arg_proc_cmdline_disks, char **arg_proc_cm
+ 
+                 } else if (startswith(word, "luks.key=")) {
+                         *arg_proc_cmdline_keyfile = strdup(word + 9);
+-                        if (! arg_proc_cmdline_keyfile)
++                        if (!*arg_proc_cmdline_keyfile)
+                                 return log_oom();
+ 
+                 } else if (startswith(word, "rd.luks.key=")) {
+@@ -311,7 +311,7 @@ static int parse_proc_cmdline(char ***arg_proc_cmdline_disks, char **arg_proc_cm
+                                 if (*arg_proc_cmdline_keyfile)
+                                         free(*arg_proc_cmdline_keyfile);
+                                 *arg_proc_cmdline_keyfile = strdup(word + 12);
+-                                if (!arg_proc_cmdline_keyfile)
++                                if (!*arg_proc_cmdline_keyfile)
+                                         return log_oom();
+                         }
+ 
+-- 
+1.8.2.1
+
diff --git a/0007-logind-dbus-initialize-result-variable.patch b/0007-logind-dbus-initialize-result-variable.patch
new file mode 100644
index 0000000..b9096d8
--- /dev/null
+++ b/0007-logind-dbus-initialize-result-variable.patch
@@ -0,0 +1,25 @@
+From 7f6437976d31fa772ccef9abedd152d6f5372303 Mon Sep 17 00:00:00 2001
+From: Lukas Nykryn <lnykryn at redhat.com>
+Date: Fri, 19 Apr 2013 13:58:58 +0200
+Subject: [PATCH] logind-dbus: initialize result variable
+
+---
+ src/login/logind-dbus.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
+index 4176902..05cc1fd 100644
+--- a/src/login/logind-dbus.c
++++ b/src/login/logind-dbus.c
+@@ -1137,7 +1137,7 @@ static int bus_manager_can_shutdown_or_sleep(
+                 DBusMessage **_reply) {
+ 
+         bool multiple_sessions, challenge, blocked, b;
+-        const char *result;
++        const char *result = NULL;
+         _cleanup_dbus_message_unref_ DBusMessage *reply = NULL;
+         int r;
+         unsigned long ul;
+-- 
+1.8.2.1
+
diff --git a/0008-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch b/0008-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch
new file mode 100644
index 0000000..24dd6d7
--- /dev/null
+++ b/0008-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch
@@ -0,0 +1,36 @@
+From 1e335af70f29d1a1e9c132338aa35b8971934441 Mon Sep 17 00:00:00 2001
+From: Dave Reisner <dreisner at archlinux.org>
+Date: Fri, 19 Apr 2013 16:31:25 -0400
+Subject: [PATCH] nss-myhostname: ensure that glibc's assert is used
+
+---
+ src/nss-myhostname/nss-myhostname.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/nss-myhostname/nss-myhostname.c b/src/nss-myhostname/nss-myhostname.c
+index 16ccb3e..8699098 100644
+--- a/src/nss-myhostname/nss-myhostname.c
++++ b/src/nss-myhostname/nss-myhostname.c
+@@ -25,7 +25,6 @@
+ #include <netdb.h>
+ #include <errno.h>
+ #include <string.h>
+-#include <assert.h>
+ #include <unistd.h>
+ #include <net/if.h>
+ #include <stdlib.h>
+@@ -35,6 +34,11 @@
+ #include "macro.h"
+ #include "util.h"
+ 
++/* Ensure that glibc's assert is used. We cannot use assert from macro.h, as
++ * libnss_myhostname will be linked into arbitrary programs which will, in turn
++ * attempt to write to the journal via log_dispatch() */
++#include <assert.h>
++
+ /* We use 127.0.0.2 as IPv4 address. This has the advantage over
+  * 127.0.0.1 that it can be translated back to the local hostname. For
+  * IPv6 we use ::1 which unfortunately will not translate back to the
+-- 
+1.8.2.1
+
diff --git a/0009-build-sys-prevent-library-underlinking.patch b/0009-build-sys-prevent-library-underlinking.patch
new file mode 100644
index 0000000..924e443
--- /dev/null
+++ b/0009-build-sys-prevent-library-underlinking.patch
@@ -0,0 +1,26 @@
+From 9d2d0fe1e3f28a639c26b62391f79cfd1450d91b Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos at foutrelis.com>
+Date: Sat, 20 Apr 2013 00:17:08 +0300
+Subject: [PATCH] build-sys: prevent library underlinking
+
+Underlinking can cause subtle bugs like the recent issue with
+libnss_myhostname (which was fixed in commit 1e335af7).
+---
+ configure.ac | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/configure.ac b/configure.ac
+index 5173783..ce02ff6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -144,6 +144,7 @@ AC_SUBST([OUR_CPPFLAGS], $with_cppflags)
+ 
+ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\
+         -Wl,--as-needed \
++        -Wl,--no-undefined \
+         -Wl,--gc-sections \
+         -Wl,-z,relro \
+         -Wl,-z,now])
+-- 
+1.8.2.1
+
diff --git a/systemd.spec b/systemd.spec
index ccd5f99..808b1e7 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -13,7 +13,7 @@
 Name:           systemd
 Url:            http://www.freedesktop.org/wiki/Software/systemd
 Version:        202
-Release:        2%{?gitcommit:.git%{gitcommit}}%{?dist}
+Release:        3%{?gitcommit:.git%{gitcommit}}%{?dist}
 # For a breakdown of the licensing, see README
 License:        LGPLv2+ and MIT and GPLv2+
 Summary:        A System and Service Manager
@@ -38,6 +38,10 @@ Patch1:         0001-nspawn-create-empty-etc-resolv.conf-if-necessary.patch
 Patch2:         0002-systemd-python-wrap-sd_journal_add_conjunction.patch
 Patch3:         0003-Update-NEWS.patch
 Patch4:         0004-Reintroduce-f_type-comparison-macro.patch
+Patch6:         0006-crypt-setup-generator-correctly-check-return-of-strd.patch
+Patch7:         0007-logind-dbus-initialize-result-variable.patch
+Patch8:         0008-nss-myhostname-ensure-that-glibc-s-assert-is-used.patch
+Patch9:         0009-build-sys-prevent-library-underlinking.patch
 
 # kernel-install patch for grubby, drop if grubby is obsolete
 Patch1000:      kernel-install-grubby.patch
@@ -754,6 +758,13 @@ fi
 %{_libdir}/pkgconfig/gudev-1.0*
 
 %changelog
+* Wed Apr 24 2013 Harald Hoyer <harald at redhat.com> 202-3
+- fix ENOENT for getaddrinfo
+Resolves: rhbz#954012 rhbz#956035
+- crypt-setup-generator: correctly check return of strdup
+- logind-dbus: initialize result variable
+- prevent library underlinking
+
 * Fri Apr 19 2013 Harald Hoyer <harald at redhat.com> 202-2
 - nspawn create empty /etc/resolv.conf if necessary
 - python wrapper: add sd_journal_add_conjunction()


More information about the scm-commits mailing list