aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--iurt_root_command56
1 files changed, 28 insertions, 28 deletions
diff --git a/iurt_root_command b/iurt_root_command
index 0effdef..cfc763e 100644
--- a/iurt_root_command
+++ b/iurt_root_command
@@ -1,7 +1,5 @@
#!/usr/bin/perl
#
-#!/usr/bin/perl
-#
# Copyright (C) 2006 Mandriva
#
# Author: Florent Villard <warly@mandriva.com>
@@ -28,6 +26,7 @@ my $program_name = 'iurt_root_command';
use Mkcd::Commandline qw(parseCommandLine usage);
use MDK::Common;
use File::NCopy qw(copy);
+use Iurt::Util qw(plog_init plog);
my $arg = @ARGV;
my (@params, %run);
@@ -117,12 +116,13 @@ $run{todo} = [ ];
open(my $LOG, ">&STDERR");
$run{LOG} = $LOG;
-#print {$run{LOG}} "$program_name: @ARGV\n";
+plog_init($program_name, $LOG, $run{verbose});
+
my $todo = parseCommandLine($program_name, \@ARGV, \@params);
@ARGV and usage($program_name, \@params, "@ARGV, too many arguments");
my $ok = 1;
foreach my $t (@$todo) {
- print {$run{LOG}} "$program_name: $t->[2]\n" if $run{verbose} > 5;
+ plog(6, $t->[2]\n" if $run{verbose});
my $ok2 = &{$t->[0]}(\%run, @{$t->[1]});
$ok2 or print {$run{LOG}} "ERROR: $t->[2]\n";
$ok &&= $ok2;
@@ -133,7 +133,7 @@ exit !$ok;
sub modprobe {
my ($run, $module) = @_;
if (!$authorized_modules{$module}) {
- print {$run->{LOG}} "ERROR $program_name: unauthorized module $module\n";
+ plog("ERROR: unauthorized module $module");
return 0
}
open my $modules, '/proc/modules';
@@ -152,7 +152,7 @@ sub mkdir {
foreach my $path (@dir) {
-d $path and next;
if ($path =~ m,/dev|/proc|/root|/var, && $path !~ /chroot|unionfs/) {
- print {$run->{LOG}} "ERROR $program_name: $path creation forbidden\n";
+ plog("ERROR: $path creation forbidden");
}
if ($opt->{parents}) {
mkdir_p $path
@@ -166,7 +166,7 @@ sub mkdir {
sub initdb {
my ($run, $chroot) = @_;
if (-d $chroot && $chroot !~ /chroot|unionfs/) {
- print {$run{LOG}} "ERROR $program_name: rpm --initdb not authorized in $chroot\n";
+ plog($program_name: rpm --initdb not authorized in $chroot");
return 0
}
!system("rpm", "--initdb", "--root", "$chroot")
@@ -180,47 +180,47 @@ sub rm {
foreach my $f (@files) {
if (-d $f) {
if (!$opt->{recursive}) {
- print {$run->{LOG}} "$program_name: could not remove directories without the -r option\n";
+ plog("can't remove directories without the -r option");
$ok = 0
} else {
if ($f =~ m,$unauthorized,) {
- print {$run->{LOG}} "$program_name: removal of $f forbidden\n";
+ plog("removal of $f forbidden");
$ok = 0
} else {
system($sudo, 'rm', '-rf', $f);
- print {$run->{LOG}} "$program_name: removing $f\n" if $run->{verbose};
+ plog(1, "removing $f");
$done = 1
}
}
} else {
if ($f =~ m,/$unauthorized,) {
- print {$run->{LOG}} "$program_name: removal of $f forbidden\n";
+ plog("removal of $f forbidden");
$ok = 0
} else {
- # The original regexp was /\*?/, which doesn't seem to be
- # what we want. Check if we can always glob instead of
- # testing, or if glob expansion is needed at all --claudio
+ # CM: The original regexp was /\*?/, which doesn't seem to be
+ # what we want. Check if we can always glob instead of
+ # testing, or if glob expansion is needed at all
if ($f =~ /[*?]/) {
foreach my $file (glob $f) {
if ($f =~ m,$unauthorized,) {
- print {$run->{LOG}} "$program_name: removal of $f forbidden\n";
+ plog("removal of $f forbidden");
$ok = 0
} else {
unlink $file;
$done = 1;
- print {$run->{LOG}} "$program_name: removing $file\n" if $run->{verbose}
+ plog(1, "removing $file");
}
}
} else {
unlink $f;
$done = 1;
- print {$run->{LOG}} "$program_name: removing $f\n" if $run->{verbose}
+ plog(1, "removing $f");
}
}
}
}
- if (!$done) { print {$run->{LOG}} "$program_name: nothing deleted\n" }
+ if (!$done) { plog("nothing deleted"); }
$ok
}
@@ -231,17 +231,17 @@ sub cp {
my $dest = pop @files;
my $unauthorized = "^(/etc|/root|/dev|/var|/lib|/usr)";
if ($dest =~ /$unauthorized/ || $dest eq '/') {
- print {$run->{LOG}} "$program_name: copying to $dest forbidden\n";
+ plog("copying to $dest forbidden");
return
}
foreach my $f (@files) {
if (-d $f) {
if (!$opt->{recursive}) {
- print {$run->{LOG}} "$program_name: could not copy directories without the -r option\n";
+ plog("can't copy directories without the -r option");
$ok = 0
} else {
system($sudo, 'cp', '-raf', $f);
- print {$run->{LOG}} "$program_name: copying $f -> $dest\n" if $run->{verbose};
+ plog(1, "copying $f -> $dest");
$done = 1
}
} else {
@@ -249,24 +249,24 @@ sub cp {
foreach my $file (glob $f) {
if (copy $file, $dest) {
$done = 1;
- print {$run->{LOG}} "$program_name: copying $file -> $dest\n" if $run->{verbose}
+ plog(1, "copying $file -> $dest");
} else {
$ok = 0;
- print {$run->{LOG}} "$program_name: copying $file to $dest failed ($!)\n" if $run->{verbose}
+ plog(1, "copying $file to $dest failed ($!)");
}
}
} else {
if (copy $f, $dest) {
$done = 1;
- print {$run->{LOG}} "$program_name: copying $f -> $dest\n" if $run->{verbose}
+ plog(1, "copying $f -> $dest");
} else {
$ok = 0;
- print {$run->{LOG}} "$program_name: copying $f to $dest failed ($!)\n" if $run->{verbose}
+ plog(1, "copying $f to $dest failed ($!)");
}
}
}
}
- if (!$done) { print {$run->{LOG}} "$program_name: nothing copied\n" }
+ if (!$done) { plog("nothing copied"); }
$ok
}
@@ -274,8 +274,8 @@ sub ln {
my ($run, $opt, $file1, $file2) = @_;
my $unauthorized = "^(/etc|/root|/dev|/var|/lib|/usr)";
if ($file2 =~ /$unauthorized/ || $file2 eq '/') {
- print {$run->{LOG}} "$program_name: linking to $file2 forbidden\n";
- return
+ plog("linking to $file2 forbidden");
+ return;
}
link $file1, $file2;
}