From fb31765cbe33890f325a87015507364156741321 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:59:44 +0200 Subject: Adding upstream version 42.0. Signed-off-by: Daniel Baumann --- src/gsm_pkexec.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/gsm_pkexec.cpp (limited to 'src/gsm_pkexec.cpp') diff --git a/src/gsm_pkexec.cpp b/src/gsm_pkexec.cpp new file mode 100644 index 0000000..868969b --- /dev/null +++ b/src/gsm_pkexec.cpp @@ -0,0 +1,38 @@ +/* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +#include + +#include "application.h" +#include "gsm_pkexec.h" +#include "util.h" + +gboolean gsm_pkexec_create_root_password_dialog(const char *command) +{ + gboolean ret = FALSE; + gint *exit_status = NULL; + GError *error = NULL; + gchar *command_line = g_strdup_printf("pkexec --disable-internal-agent %s/gsm-%s", + GSM_LIBEXEC_DIR, command); + if (!g_spawn_command_line_sync(command_line, NULL, NULL, exit_status, &error)) { + g_critical("Could not run pkexec(\"%s\") : %s\n", + command, error->message); + g_error_free(error); + } + else + { + g_debug("pkexec did fine\n"); + ret = TRUE; + } + + g_free (command_line); + + return ret; +} + + + +gboolean +procman_has_pkexec(void) +{ + return g_file_test("/usr/bin/pkexec", G_FILE_TEST_EXISTS); +} + -- cgit v1.2.3