From: Koen Kooi <koen@dominion.thruhere.net>
To: openembedded-core@lists.openembedded.org
Cc: Koen Kooi <koen@dominion.thruhere.net>
Subject: [PATCH v2 2/4] polkit 0.104: add 2 backports from upstream to fix crashes during auth
Date: Mon, 5 Mar 2012 08:38:30 +0100 [thread overview]
Message-ID: <1330933112-13510-2-git-send-email-koen@dominion.thruhere.net> (raw)
In-Reply-To: <1330933112-13510-1-git-send-email-koen@dominion.thruhere.net>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
---
...ession-Set-error-if-we-cannot-find-a-sess.patch | 70 ++++++++++++++++++++
...ession-Actually-return-TRUE-if-a-session-.patch | 46 +++++++++++++
meta/recipes-extended/polkit/polkit_0.104.bb | 4 +-
3 files changed, 119 insertions(+), 1 deletions(-)
create mode 100644 meta/recipes-extended/polkit/polkit-0.104/0001-PolkitUnixSession-Set-error-if-we-cannot-find-a-sess.patch
create mode 100644 meta/recipes-extended/polkit/polkit-0.104/0002-PolkitUnixSession-Actually-return-TRUE-if-a-session-.patch
diff --git a/meta/recipes-extended/polkit/polkit-0.104/0001-PolkitUnixSession-Set-error-if-we-cannot-find-a-sess.patch b/meta/recipes-extended/polkit/polkit-0.104/0001-PolkitUnixSession-Set-error-if-we-cannot-find-a-sess.patch
new file mode 100644
index 0000000..aaa989e
--- /dev/null
+++ b/meta/recipes-extended/polkit/polkit-0.104/0001-PolkitUnixSession-Set-error-if-we-cannot-find-a-sess.patch
@@ -0,0 +1,70 @@
+From c46d2d13eac240d2a609b2dd8fc617ea18a78bfa Mon Sep 17 00:00:00 2001
+From: David Zeuthen <davidz@redhat.com>
+Date: Mon, 6 Feb 2012 11:24:53 -0500
+Subject: [PATCH 1/2] PolkitUnixSession: Set error if we cannot find a session for the given pid
+
+Also, don't treat the integer returned by sd_pid_get_session() as a
+boolean because that's just confusing. Also, don't confuse memory
+supposed to be freed by g_free() and free(3) with each other. See
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=787222
+
+for more details.
+
+Signed-off-by: David Zeuthen <davidz@redhat.com>
+---
+
+Upstream-status: Accepted
+
+ src/polkit/polkitunixsession-systemd.c | 21 ++++++++++++++++-----
+ 1 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/src/polkit/polkitunixsession-systemd.c b/src/polkit/polkitunixsession-systemd.c
+index e7e913f..94a7ee4 100644
+--- a/src/polkit/polkitunixsession-systemd.c
++++ b/src/polkit/polkitunixsession-systemd.c
+@@ -23,6 +23,7 @@
+ # include "config.h"
+ #endif
+
++#include <stdlib.h>
+ #include <string.h>
+ #include "polkitunixsession.h"
+ #include "polkitsubject.h"
+@@ -450,9 +451,8 @@ polkit_unix_session_initable_init (GInitable *initable,
+ GError **error)
+ {
+ PolkitUnixSession *session = POLKIT_UNIX_SESSION (initable);
+- gboolean ret;
+-
+- ret = FALSE;
++ gboolean ret = FALSE;
++ char *s;
+
+ if (session->session_id != NULL)
+ {
+@@ -461,8 +461,19 @@ polkit_unix_session_initable_init (GInitable *initable,
+ goto out;
+ }
+
+- if (!sd_pid_get_session (session->pid, &session->session_id))
+- ret = TRUE;
++ if (sd_pid_get_session (session->pid, &s) == 0)
++ {
++ session->session_id = g_strdup (s);
++ free (s);
++ ret = TRUE;
++ goto out;
++ }
++
++ g_set_error (error,
++ POLKIT_ERROR,
++ POLKIT_ERROR_FAILED,
++ "No session for pid %d",
++ (gint) session->pid);
+
+ out:
+ return ret;
+--
+1.7.2.5
+
diff --git a/meta/recipes-extended/polkit/polkit-0.104/0002-PolkitUnixSession-Actually-return-TRUE-if-a-session-.patch b/meta/recipes-extended/polkit/polkit-0.104/0002-PolkitUnixSession-Actually-return-TRUE-if-a-session-.patch
new file mode 100644
index 0000000..3fdc731
--- /dev/null
+++ b/meta/recipes-extended/polkit/polkit-0.104/0002-PolkitUnixSession-Actually-return-TRUE-if-a-session-.patch
@@ -0,0 +1,46 @@
+From 8fb8b406bab50c5ef8c5d4f743e3f13924bd5f73 Mon Sep 17 00:00:00 2001
+From: David Zeuthen <davidz@redhat.com>
+Date: Mon, 6 Feb 2012 11:26:06 -0500
+Subject: [PATCH 2/2] PolkitUnixSession: Actually return TRUE if a session exists
+
+Also, don't treat the integer returned by sd_session_get_uid() as a
+boolean because that's just confusing.
+
+Signed-off-by: David Zeuthen <davidz@redhat.com>
+---
+
+Upstream-status: Accepted
+
+ src/polkit/polkitunixsession-systemd.c | 12 +++++-------
+ 1 files changed, 5 insertions(+), 7 deletions(-)
+
+diff --git a/src/polkit/polkitunixsession-systemd.c b/src/polkit/polkitunixsession-systemd.c
+index 94a7ee4..8a8bf65 100644
+--- a/src/polkit/polkitunixsession-systemd.c
++++ b/src/polkit/polkitunixsession-systemd.c
+@@ -361,17 +361,15 @@ polkit_unix_session_to_string (PolkitSubject *subject)
+
+ static gboolean
+ polkit_unix_session_exists_sync (PolkitSubject *subject,
+- GCancellable *cancellable,
+- GError **error)
++ GCancellable *cancellable,
++ GError **error)
+ {
+ PolkitUnixSession *session = POLKIT_UNIX_SESSION (subject);
+- gboolean ret;
++ gboolean ret = FALSE;
+ uid_t uid;
+
+- ret = FALSE;
+-
+- if (!sd_session_get_uid (session->session_id, &uid))
+- ret = FALSE;
++ if (sd_session_get_uid (session->session_id, &uid) == 0)
++ ret = TRUE;
+
+ return ret;
+ }
+--
+1.7.2.5
+
diff --git a/meta/recipes-extended/polkit/polkit_0.104.bb b/meta/recipes-extended/polkit/polkit_0.104.bb
index 5dc82c5..dfbd300 100644
--- a/meta/recipes-extended/polkit/polkit_0.104.bb
+++ b/meta/recipes-extended/polkit/polkit_0.104.bb
@@ -11,12 +11,14 @@ DEPENDS = "expat dbus-glib eggdbus intltool-native"
PACKAGECONFIG = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=none,libpam,libpam"
-PR = "r3"
+PR = "r4"
PAM_SRC_URI = "file://polkit-1_pam.patch"
SRC_URI = "http://hal.freedesktop.org/releases/polkit-${PV}.tar.gz \
file://introspection.patch \
${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
+ file://0001-PolkitUnixSession-Set-error-if-we-cannot-find-a-sess.patch \
+ file://0002-PolkitUnixSession-Actually-return-TRUE-if-a-session-.patch \
"
SRC_URI[md5sum] = "e380b4c6fb1e7bccf854e92edc0a8ce1"
--
1.7.2.5
next prev parent reply other threads:[~2012-03-05 7:47 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-05 7:38 [PATCH v2 1/4] polkit 0.104: convert pam code to PACKAGECONFIG and adhere to OE recipe styleguide Koen Kooi
2012-03-05 7:38 ` Koen Kooi [this message]
2012-03-05 7:38 ` [PATCH v2 3/4] gtk+ 2.24.8: bump PR to force rebuild and feed update Koen Kooi
2012-03-05 7:38 ` [PATCH v2 4/4] libx11: reinstate PE=1 that got lost in the big meta-oe Xorg merge Koen Kooi
2012-03-05 17:43 ` [PATCH v2 1/4] polkit 0.104: convert pam code to PACKAGECONFIG and adhere to OE recipe styleguide Richard Purdie
2012-03-05 21:14 ` Richard Purdie
2012-03-05 21:16 ` Koen Kooi
2012-03-05 21:17 ` Koen Kooi
2012-03-05 21:27 ` Koen Kooi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1330933112-13510-2-git-send-email-koen@dominion.thruhere.net \
--to=koen@dominion.thruhere.net \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox