polkit/0002-Add-no-debug-option-and-use-this-for-D-Bus-activation.diff
Dirk Mueller 39b8801b72 Accepting request 89928 from home:lnussel:branches:Base:System
- pick some patches from git to add support for
  org.freedesktop.policykit.imply, disable debug spam and allow
  unprivileged users to query authorizations (bnc#698250)

OBS-URL: https://build.opensuse.org/request/show/89928
OBS-URL: https://build.opensuse.org/package/show/Base:System/polkit?expand=0&rev=51
2011-11-02 16:05:54 +00:00

78 lines
2.4 KiB
Diff

From 3811e51b81320a574bb31aa64b6af56340012527 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz@redhat.com>
Date: Tue, 18 Oct 2011 13:13:16 -0400
Subject: [PATCH 2/3] Add --no-debug option and use this for D-Bus activation
Signed-off-by: David Zeuthen <davidz@redhat.com>
---
data/org.freedesktop.PolicyKit1.service.in | 2 +-
src/polkitd/main.c | 27 ++++++++++++++++++++++++++-
2 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/data/org.freedesktop.PolicyKit1.service.in b/data/org.freedesktop.PolicyKit1.service.in
index 5a54ca1..b6cd02b 100644
--- a/data/org.freedesktop.PolicyKit1.service.in
+++ b/data/org.freedesktop.PolicyKit1.service.in
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=org.freedesktop.PolicyKit1
-Exec=@libexecdir@/polkitd
+Exec=@libexecdir@/polkitd --no-debug
User=root
diff --git a/src/polkitd/main.c b/src/polkitd/main.c
index 33ea511..b21723f 100644
--- a/src/polkitd/main.c
+++ b/src/polkitd/main.c
@@ -22,6 +22,9 @@
#include "config.h"
#include <signal.h>
+
+#include <glib-unix.h>
+
#include <polkit/polkit.h>
#include <polkitbackend/polkitbackend.h>
@@ -33,8 +36,10 @@ static PolkitBackendAuthority *authority = NULL;
static gpointer registration_id = NULL;
static GMainLoop *loop = NULL;
static gboolean opt_replace = FALSE;
+static gboolean opt_no_debug = FALSE;
static GOptionEntry opt_entries[] = {
- {"replace", 0, 0, G_OPTION_ARG_NONE, &opt_replace, "Replace existing daemon", NULL},
+ {"replace", 'r', 0, G_OPTION_ARG_NONE, &opt_replace, "Replace existing daemon", NULL},
+ {"no-debug", 'n', 0, G_OPTION_ARG_NONE, &opt_no_debug, "Don't print debug information", NULL},
{NULL }
};
@@ -120,6 +125,26 @@ main (int argc,
goto out;
}
+ /* If --no-debug is requested don't clutter stdout/stderr etc.
+ */
+ if (opt_no_debug)
+ {
+ gint dev_null_fd;
+ dev_null_fd = open ("/dev/null", O_RDWR);
+ if (dev_null_fd >= 0)
+ {
+ dup2 (dev_null_fd, STDIN_FILENO);
+ dup2 (dev_null_fd, STDOUT_FILENO);
+ dup2 (dev_null_fd, STDERR_FILENO);
+ close (dev_null_fd);
+ }
+ else
+ {
+ g_warning ("Error opening /dev/null: %m");
+ }
+ }
+
+
loop = g_main_loop_new (NULL, FALSE);
sigint_id = _g_posix_signal_watch_add (SIGINT,
--
1.7.3.4