mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
HMInfo: critical error. write protected config files could cause problems
git-svn-id: https://svn.fhem.de/fhem/trunk@12916 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
efe618144c
commit
af5284eb35
@ -1601,6 +1601,7 @@ sub HMinfo_SetFn($@) {#########################################################
|
|||||||
my $fn = $a[0]?$a[0]:AttrVal($name,"configFilename","regSave.cfg");
|
my $fn = $a[0]?$a[0]:AttrVal($name,"configFilename","regSave.cfg");
|
||||||
$fn = "$attr{global}{modpath}/".AttrVal($name,"configDir",".")."\/".$fn
|
$fn = "$attr{global}{modpath}/".AttrVal($name,"configDir",".")."\/".$fn
|
||||||
if ($fn !~ m/\//);
|
if ($fn !~ m/\//);
|
||||||
|
|
||||||
my $bl = BlockingCall("HMinfo_purgeConfig", join(",",("$name;$id;none",$fn)),
|
my $bl = BlockingCall("HMinfo_purgeConfig", join(",",("$name;$id;none",$fn)),
|
||||||
"HMinfo_bpPost", 30,
|
"HMinfo_bpPost", 30,
|
||||||
"HMinfo_bpAbort", "$name:$id");
|
"HMinfo_bpAbort", "$name:$id");
|
||||||
@ -1729,7 +1730,7 @@ sub HMinfo_verifyConfig($) {###################################################
|
|||||||
my ($param) = @_;
|
my ($param) = @_;
|
||||||
my ($id,$fName) = split ",",$param;
|
my ($id,$fName) = split ",",$param;
|
||||||
HMinfo_purgeConfig($param);
|
HMinfo_purgeConfig($param);
|
||||||
open(aSave, "$fName") || return("Can't open $fName: $!");
|
open(aSave, "$fName") || return("$id;Can't open $fName: $!");
|
||||||
my @elPeer = ();
|
my @elPeer = ();
|
||||||
my @elReg = ();
|
my @elReg = ();
|
||||||
my @entryNF = ();
|
my @entryNF = ();
|
||||||
@ -1956,7 +1957,7 @@ sub HMinfo_purgeConfig($) {####################################################
|
|||||||
my ($id,$fName) = split ",",$param;
|
my ($id,$fName) = split ",",$param;
|
||||||
$fName = "regSave.cfg" if (!$fName);
|
$fName = "regSave.cfg" if (!$fName);
|
||||||
|
|
||||||
open(aSave, "$fName") || return("Can't open $fName: $!");
|
open(aSave, "$fName") || return("$id;Can't open $fName: $!");
|
||||||
my %purgeH;
|
my %purgeH;
|
||||||
while(<aSave>){
|
while(<aSave>){
|
||||||
chomp;
|
chomp;
|
||||||
@ -1984,7 +1985,7 @@ sub HMinfo_purgeConfig($) {####################################################
|
|||||||
$purgeH{$eN}{$cmd}{$typ} = $p1.($timeStamp?"#$timeStamp":"");
|
$purgeH{$eN}{$cmd}{$typ} = $p1.($timeStamp?"#$timeStamp":"");
|
||||||
}
|
}
|
||||||
close(aSave);
|
close(aSave);
|
||||||
open(aSave, ">$fName") || return("Can't open $fName: $!");
|
open(aSave, ">$fName") || return("$id;Can't open $fName: $!");
|
||||||
print aSave "\n\n#============data purged: ".TimeNow();
|
print aSave "\n\n#============data purged: ".TimeNow();
|
||||||
foreach my $eN(sort keys %purgeH){
|
foreach my $eN(sort keys %purgeH){
|
||||||
next if (!defined $defs{$eN}); # remove deleted devices
|
next if (!defined $defs{$eN}); # remove deleted devices
|
||||||
@ -2185,10 +2186,15 @@ sub HMinfo_register ($){ ######################################################
|
|||||||
sub HMinfo_bpPost($) {#bp finished ############################################
|
sub HMinfo_bpPost($) {#bp finished ############################################
|
||||||
my ($rep) = @_;
|
my ($rep) = @_;
|
||||||
my ($name,$id,$cl,$ret) = split(";",$rep,4);
|
my ($name,$id,$cl,$ret) = split(";",$rep,4);
|
||||||
|
if ($rep =~ m/Can't open/){
|
||||||
|
asyncOutput($defs{$cl},$ret);
|
||||||
|
}
|
||||||
|
else{
|
||||||
if ($ret && defined $defs{$cl}){
|
if ($ret && defined $defs{$cl}){
|
||||||
$ret =~s/-ret-/\n/g; # re-insert new-line
|
$ret =~s/-ret-/\n/g; # re-insert new-line
|
||||||
asyncOutput($defs{$cl},$ret);
|
asyncOutput($defs{$cl},$ret);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
delete $defs{$name}{nb}{$id};
|
delete $defs{$name}{nb}{$id};
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user