From 2e0f9b70beecb7bdd27e74088368936cdb718c72 Mon Sep 17 00:00:00 2001 From: Matteo Pasotti Date: Wed, 9 Jan 2013 17:41:32 +0000 Subject: - added LogViewer namespace - added init module for logviewer - Rpmdragora/init.pm: fixed warn_about_user_mode message alignment - logviewer.pl: added call to LogViewer::warn_about_user_mode --- AdminPanel/LogViewer/init.pm | 31 +++++++++++++++++++++++++++++++ AdminPanel/Rpmdragora/init.pm | 7 ++++--- modules/logviewer/logviewer.pl | 6 ++++++ 3 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 AdminPanel/LogViewer/init.pm diff --git a/AdminPanel/LogViewer/init.pm b/AdminPanel/LogViewer/init.pm new file mode 100644 index 0000000..1c96171 --- /dev/null +++ b/AdminPanel/LogViewer/init.pm @@ -0,0 +1,31 @@ +package AdminPanel::LogViewer::init; + +use strict; +use warnings; +use diagnostics; +use English; +use lib qw(/usr/lib/libDrakX); +use common; +use AdminPanel::Shared; +use base qw(Exporter); + +our @EXPORT = qw(warn_about_user_mode + interactive_msg); + +sub interactive_msg { + my ($title, $contents) = @_; + return ask_YesOrNo($title, $contents); +} + +sub warn_about_user_mode() { + my $title = N("Running in user mode"); + my $msg = N("You are launching this program as a normal user.\n". + "You will not be able to read system logs which you do not have rights to,\n". + "but you may still browse all the others."); + if(($EUID != 0) and (!interactive_msg($title, $msg))) { + return 0; + } + return 1; +} + +1; diff --git a/AdminPanel/Rpmdragora/init.pm b/AdminPanel/Rpmdragora/init.pm index 776ee4c..34581bf 100644 --- a/AdminPanel/Rpmdragora/init.pm +++ b/AdminPanel/Rpmdragora/init.pm @@ -157,9 +157,10 @@ $changelog_first = 1 if $rpmdragora_options{'changelog-first'}; sub warn_about_user_mode() { my $title = N("Running in user mode"); - my $msg = N("You are launching this program as a normal user. - You will not be able to perform modifications on the system, - but you may still browse the existing database."); + my $msg = N("You are launching this program as a normal user.\n". + "You will not be able to perform modifications on the system,\n". + "but you may still browse the existing database."); + if(($EUID != 0) and (!AdminPanel::rpmdragora::interactive_msg($title, $msg))) { return 0; } diff --git a/modules/logviewer/logviewer.pl b/modules/logviewer/logviewer.pl index c0c0e70..79acc7a 100755 --- a/modules/logviewer/logviewer.pl +++ b/modules/logviewer/logviewer.pl @@ -33,6 +33,7 @@ use yui; #use AdminPanel::Privileges; use AdminPanel::Shared; +use AdminPanel::LogViewer::init; ### TODO icon my $wm_icon = "/usr/share/mcc/themes/default/logdrake-mdk.png"; @@ -71,6 +72,11 @@ my $optFactory = yui::YUI::optionalWidgetFactory; ### MAIN DIALOG ### my $my_win = $factory->createMainDialog; +if(!warn_about_user_mode()) { + quit(); + exit(0); +} + my %files = ( "auth" => { file => "/var/log/auth.log", desc => N("_:this is the auth.log log file\nAuthentication") }, -- cgit v1.2.1