diff options
author | Angelo Naselli <anaselli@linux.it> | 2015-01-13 17:38:07 +0100 |
---|---|---|
committer | Angelo Naselli <anaselli@linux.it> | 2015-01-13 17:38:07 +0100 |
commit | 46d7da76b113952563db803c003968cde1f9bf72 (patch) | |
tree | bbede85fbbf980643c68bbd704abbdd8a6c6157a /lib | |
parent | c6f4d2b5955f928e3d436d031ccd2ccaccacf383 (diff) | |
download | manatools-46d7da76b113952563db803c003968cde1f9bf72.tar manatools-46d7da76b113952563db803c003968cde1f9bf72.tar.gz manatools-46d7da76b113952563db803c003968cde1f9bf72.tar.bz2 manatools-46d7da76b113952563db803c003968cde1f9bf72.tar.xz manatools-46d7da76b113952563db803c003968cde1f9bf72.zip |
Managed new flag dbus_auth_interactive to to work in user space (thanks Colin)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/AdminPanel/Module/Services.pm | 14 | ||||
-rw-r--r-- | lib/AdminPanel/Shared/Services.pm | 15 |
2 files changed, 15 insertions, 14 deletions
diff --git a/lib/AdminPanel/Module/Services.pm b/lib/AdminPanel/Module/Services.pm index 168e2753..7ca3d8ef 100644 --- a/lib/AdminPanel/Module/Services.pm +++ b/lib/AdminPanel/Module/Services.pm @@ -221,13 +221,13 @@ sub BUILD { sub start { my $self = shift; - if ($EUID != 0) { - $self->sh_gui->warningMsgBox({ - title => $self->name, - text => $self->loc->N("root privileges required"), - }); - return; - } +# if ($EUID != 0) { +# $self->sh_gui->warningMsgBox({ +# title => $self->name, +# text => $self->loc->N("root privileges required"), +# }); +# return; +# } $self->_servicePanel(); }; diff --git a/lib/AdminPanel/Shared/Services.pm b/lib/AdminPanel/Shared/Services.pm index 4425165b..89002015 100644 --- a/lib/AdminPanel/Shared/Services.pm +++ b/lib/AdminPanel/Shared/Services.pm @@ -61,6 +61,7 @@ use Moose; use Sys::Syslog; use Net::DBus; +use Net::DBus::Annotation qw(:auth); use File::Basename; use AdminPanel::Shared::Locales; @@ -171,7 +172,7 @@ sub _serviceInfoInitialization { if (!$services{$name} && $name !~ /.*\@$/g && (-e $s->[0] or -e "/etc/rc.d/init.d/$name") && - ! -l $s->[0] && $st eq "disabled") { + ! -l $s->[0] && ($st eq "disabled" || $st eq "enabled")) { my $wantedby = $self->_WantedBy($s->[0]); if ($wantedby) { my $descr = $self->getUnitProperty($name, 'Description'); @@ -179,7 +180,7 @@ sub _serviceInfoInitialization { $services{$name} = { 'name' => $name, 'description' => $descr, - 'enabled' => 0, + 'enabled' => $st eq "enabled", }; } } @@ -378,10 +379,10 @@ sub set_service { $service = $service . ".service"; my $dbus_object = $self->dbus_systemd1_object; if ($enable) { - $dbus_object->EnableUnitFiles([$service], 0, 1); + $dbus_object->EnableUnitFiles(dbus_auth_interactive, [$service], 0, 1); } else { - $dbus_object->DisableUnitFiles([$service], 0); + $dbus_object->DisableUnitFiles(dbus_auth_interactive, [$service], 0); } # reload local cache $self->_systemd_services(1); @@ -402,13 +403,13 @@ sub _run_action { if ($self->_running_systemd()) { my $object = $self->dbus_systemd1_object; if ($action eq 'start') { - $object->StartUnit("$service.service", 'fail'); + $object->StartUnit(dbus_auth_interactive, "$service.service", 'fail'); } elsif ($action eq 'stop') { - $object->StopUnit("$service.service", 'fail'); + $object->StopUnit(dbus_auth_interactive, "$service.service", 'fail'); } else { - $object->RestartUnit("$service.service", 'fail'); + $object->RestartUnit(dbus_auth_interactive, "$service.service", 'fail'); } # reload local cache $self->_systemd_services(1); |