summaryrefslogtreecommitdiffstats
path: root/wrapper
diff options
context:
space:
mode:
authorColin Guthrie <colin@mageia.org>2013-09-01 14:07:09 +0100
committerColin Guthrie <colin@mageia.org>2013-09-01 15:12:40 +0100
commitd85cfc53e51bc296ed438ed1e315140e0542fae8 (patch)
tree059d02a13b628465abfe01d2bd377115fb521fe7 /wrapper
parentbfcf1d94d85817ee0edad238dbb171ef1b661e9d (diff)
downloadcontrol-center-d85cfc53e51bc296ed438ed1e315140e0542fae8.tar
control-center-d85cfc53e51bc296ed438ed1e315140e0542fae8.tar.gz
control-center-d85cfc53e51bc296ed438ed1e315140e0542fae8.tar.bz2
control-center-d85cfc53e51bc296ed438ed1e315140e0542fae8.tar.xz
control-center-d85cfc53e51bc296ed438ed1e315140e0542fae8.zip
Convert to polkit from usermode consolehelper for gaining root privileges
polkit is better integrated into various environments, both console and GUI and offers better access rules and prevents the internal need to run su which is prone to errors and doesn't offer an environment agnostic prompt to the user. As pkexec does not like being run from a forked process, the forking in the wrapper when running under X has been dropped. mga#11125
Diffstat (limited to 'wrapper')
-rw-r--r--wrapper10
1 files changed, 3 insertions, 7 deletions
diff --git a/wrapper b/wrapper
index 8fda9f2f..56627542 100644
--- a/wrapper
+++ b/wrapper
@@ -27,12 +27,8 @@
use lib qw(/usr/lib/libDrakX);
use common;
-if (!check_for_xserver()) {
- exec ("/usr/sbin/drakxconf @ARGV; reset");
+if (check_for_xserver()) {
+ exec ("/usr/bin/pkexec", "/usr/libexec/drakconf", @ARGV);
} else {
- unless (my $pid = fork) {
- print "cannot fork\n" unless defined $pid;
- exec ("/usr/sbin/drakconf.real", @ARGV);
- }
-
+ exec ("/usr/bin/pkexec", "/usr/libexec/drakxconf", @ARGV);
}