Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/scripts/samhainadmin.pl.in

    r3 r1  
    2323use Getopt::Long;
    2424use File::Basename;
    25 use File::Copy;
    2625use File::stat;
    2726use File::Temp qw/ tempfile tempdir unlink0 /;
    2827use IO::Handle;
    29 use Fcntl qw(:DEFAULT :flock);
    3028
    3129File::Temp->safe_level( File::Temp::HIGH );
     
    3836my $return_from_sign = 0;
    3937my $no_print_examine = 0;
    40 my $no_remove_lock   = 0;
    4138my $base = basename($0);
    4239
     
    4542my $daemon   = "@sbindir@/@install_name@";
    4643my $gpg      = "@mygpg@";
    47 
    48 $cfgfile  =~ s/^REQ_FROM_SERVER//;
    49 $datafile =~ s/^REQ_FROM_SERVER//;
    5044
    5145$gpg = "gpg" if ($gpg eq "");
     
    192186
    193187    my $dir = tempdir( CLEANUP => 1 );
    194     $filename = $dir . "/exa_jhfdbilw." . $$;
     188    $filename = $dir . "/exa_jhfdbilw";
    195189    open $fh, ">$filename" or die "Cannot open $filename";
    196190    autoflush $fh 1;
     
    287281    open FH, "<$file1" or die "Cannot open file $file1 for read: $!";
    288282    if (!($file1 =~ /^\-$/)) {
    289         flock(FH, LOCK_EX) unless ($no_remove_lock == 1);
    290283        my $dir = tempdir( CLEANUP => 1 ) or die "Tempdir failed";
    291         $filename = $dir . "/rem_iqegBCQb." . $$;
     284        $filename = $dir . "/rem_iqegBCQb";
    292285        open $fh, ">$filename" or die "Cannot open $filename";
    293286        $stats = stat($file1);
     
    320313    }
    321314    if (!($file1 =~ /^\-$/)) {
    322         copy("$filename", "$file1")
    323             or die "Copy $filename to $file1 failed: $!";
     315        my $command = "cp $filename $file1";
     316        system ($command) == 0
     317            or die "system $command failed: $?";
    324318        chmod $stats->mode, $file1;
    325319        chown $stats->uid, $stats->gid, $file1;
    326         flock(FH, LOCK_UN) unless ($no_remove_lock == 1);
    327         close FH;
    328320    }
    329321    unlink0( $fh, $filename ) or die "Cannot unlink $filename safely";
     
    394386    if ($file1 =~ /^\-$/) {
    395387        my $dir = tempdir( CLEANUP => 1 ) or die "Tempdir failed";
    396         $filename1 = $dir . "/sig_vs8827sd." . $$;
     388        $filename1 = $dir . "/sig_vs8827sd";
    397389        open $fh1, ">$filename1" or die "Cannot open $filename1";
    398390        $flag1 = 1;
     
    427419        $fileout = '-';
    428420    } else {
    429         open (LOCKFILE, "<$file1") or die "Cannot open $file1: $!";
    430         flock(LOCKFILE, LOCK_EX);
    431421        $no_print_examine = 1;
    432         $no_remove_lock   = 1;
    433422        if (examine() < 2) {
    434423            remove();
    435424        }
    436425        $fileout = $file1 . ".asc";
    437         $stats   = stat($file1)
    438             or die "No file $file1: $!";
     426        $stats   = stat($file1);
    439427    }
    440428
     
    458446        die ("Signed file is smaller than unsigned file")
    459447            unless ($st_new->size > $st_old->size);
    460         move("$fileout", "$file2")
    461             or die "Move $fileout to $file2 failed: $!";
     448        system ("mv $fileout $file2") == 0
     449            or die "system mv $fileout $file2 failed: $?";
    462450        chmod $stats->mode, $file2;
    463451        chown $stats->uid, $stats->gid, $file2;
    464         flock(LOCKFILE, LOCK_UN);
    465452    }
    466453
Note: See TracChangeset for help on using the changeset viewer.