Sorry to inform but you did not apply patch corect. Function must look like:
Code:
sub setfmode {
my ($fname, $fuser, $fgroup, $fperms) = @_;
push_el(\@main::el, 'setfmode()', 'Starting...');
if (!defined($fname) || !defined($fuser) || !defined($fperms) ||
$fname eq '' || $fname eq '' || $fgroup eq '' || $fperms eq '') {
push_el(\@main::el, 'setfmode()',
"ERROR: Undefined input data, fname: |$fname|, fuid: |$fuser|, fgid: |$fgroup|, fperms: |$fperms| !");
return -1;
}
if (! -e $fname) {
push_el(\@main::el, 'setfmode()', "ERROR: File '$fname' does not exist !");
return -1;
}
my @udata = ();
my @gdata = ();
my ($uid, $gid) = (undef, undef);
# get UID of user
if ($fuser =~ /^\d+$/) {
$uid = $fuser;
}
elsif ($fuser ne '-1') {
@udata = getpwnam($fuser);
if (scalar(@udata) == 0) {
push_el(\@main::el, 'setfmode()', "ERROR: Unknown user '$fuser' !");
return -1;
}
$uid = $udata[2];
}
# get GID of user
if ($fgroup =~ /^\d+$/) {
$gid = $fgroup;
}
elsif ($fgroup ne '-1') {
@gdata = getgrnam($fgroup);
[b] if (scalar(@gdata) == 0) {[/b]
push_el(\@main::el, 'setfmode()', "ERROR: Unknown user '$fgroup' !");
return -1;
}
$gid = $gdata[2];
}
my $res = chmod($fperms, $fname);
if ($res != 1) {
push_el(\@main::el, 'setfmode()', "ERROR: cannot change permissions of file '$fname' !");
return -1;
}
$res = chown($uid, $gid, $fname);
if ($res != 1) {
[b]push_el(\@main::el, 'setfmode()', "ERROR: cannot change user/group fname: |$fname|, fuid: |$fuser|, fgid: |$fgroup|, fperms: |$fperms|, res: |$res| !");[/b]
return -1;
}
push_el(\@main::el, 'setfmode()', 'Ending...');
return 0;
}