Autor Thema: Fragen zu FHEM.pl  (Gelesen 828 mal)

Online M.Schulze

  • Commercial User
  • New Member
  • *
  • Beiträge: 31
  • Principal Strategist, Maker
Fragen zu FHEM.pl
« am: 12 April 2020, 10:12:54 »
Hallo,

gibt es einen Grund dafür das Szenario #2 keinen 'SecurityCheck()' bekommt ?

if($cfgRet) {
  $attr{global}{autosave} = 0;
  $attr{global}{motd} = "$cfgErrMsg\n$cfgRet\nAutosave deactivated";
  Log 1, $cfgRet;

} elsif($attr{global}{motd} && $attr{global}{motd} =~ m/^$cfgErrMsg/) {
  $attr{global}{motd} = "";

} else {
  SecurityCheck();
}

Gibt es einen Grund warum man Attribut 'motd' speichert, wenn es NICHT 'none' ist?
Das bläht doch nur die cfg auf ...

MfG
Home Control (HCtrl.de) - Operating Home-Automation as a Service (HAaaS)

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 22328
Antw:Fragen zu FHEM.pl
« Antwort #1 am: 12 April 2020, 14:20:41 »
Zitat
gibt es einen Grund dafür das Szenario #2 keinen 'SecurityCheck()' bekommt ?
Ist vermutlich ein Denkfehler.

Zitat
Gibt es einen Grund warum man Attribut 'motd' speichert, wenn es NICHT 'none' ist?
Ja, motd war uerspruenglich fuer Benutzermeldungen konzipiert.

Da ich mit der aktuellen motd Handling seit laengerem ungluecklich bin, habe ich es umgebaut:
- fhem.cfg Fehlermeldungen und Security-Meldugen werden in $defs{global}{init_errors} gesammelt.
- autosave wird abgeschaltet bei fhem.cfg Fehlermeldungen.
- bei "attr global motd none" werden keine Meldungen ausgegeben.
- sonst wird beim Start im FHEM-Log init_errors ausgegeben, und in telnet/FHEMWEB motd gefolgt von init_errors.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16260
  • s/fhem\.cfg/configDB/g
Antw:Fragen zu FHEM.pl
« Antwort #2 am: 22 April 2020, 18:39:45 »
Gibt es einen zuverlässigen Weg, die Befüllung von init_errors bezüglich des SecurityCheck zu verhindern, wenn man sich bewusst darüber ist, dass das nunmal so ist und dass man das auch so möchte?

-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Lesen gefährdet die Unwissenheit!

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 22328
Antw:Fragen zu FHEM.pl
« Antwort #3 am: 22 April 2020, 19:54:24 »
Mit einem global:INITIALIZED notify kann man den Wert auf leer setzen.
Stoert es trotz motd none?

Online M.Schulze

  • Commercial User
  • New Member
  • *
  • Beiträge: 31
  • Principal Strategist, Maker
Antw:Fragen zu FHEM.pl
« Antwort #4 am: 23 April 2020, 09:27:28 »

Hallo,


Ich würde es glaube ich jetzt so machen:

-init_messages statt init_errors oder motd ?  -> Ziel den Nutzer erreichen, Hinweise, Warnungen und Fehler, was im Log nicht sichergestellt ist.
-init_messages=none als Blocker für Warnungen und Hinweise. Aber NICHT für Fehler, die dann das none überschreiben. Es müsste nach Fehlern aktiv NEU auf 'none' gesetzt werden.
- kein Speichern der init_messages wenn nicht 'none' (Ursprüngliche Frage: Warum sollte man das tun ?)
    next if (grep { $_ eq "$d:$a" } @dontSave);
    my $val = $attr{$d}{$a};
    next if ($d eq "global" && $a eq "init_messages" && $val ne "none");  #store no init_messages msg


Hintergrund der ursprünglichen Frage:

Ich habe noch ein Attribut 'banners' in Global hinzugefügt.
Wenn das Attribut banners auf 'info.txt' gesetzt wird, wird diese File als Hinweis in die 'init_messages' eingebunden (wenn nicht none, da nur Hinweis). Wenn nicht gibts ein Eintrag im Log das die im Attribut Banners genannte Datei nicht vorhanden ist. So ein Banner könnte als Info-Kanal genutzt werden wenn FHEM über ein Container betrieben wird, und in einem weiteren Schritt auch über einen Container aktualisiert wird. Möglicherweise in einigen Szenarien auch ohne Wissen des Nutzers (imagePullPolicy -> Always).


MfG
Home Control (HCtrl.de) - Operating Home-Automation as a Service (HAaaS)

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16260
  • s/fhem\.cfg/configDB/g
Antw:Fragen zu FHEM.pl
« Antwort #5 am: 23 April 2020, 10:27:16 »
Mit einem global:INITIALIZED notify kann man den Wert auf leer setzen.
Stoert es trotz motd none?

Hallo Rudi,

ich habe ein notify auf global:INITIALIZED, mit dem ich prüfe, ob in init_errors beim FHEM Start irgendwas aufgelaufen ist. Entsprechend dieser Auswertung erfolgen weitere Aktionen. Da ich keine allowed devices benutze, steht aber im Internal init_errors IMMER etwas drin (die Meldung des Security Checks), was die Auswertung unnötig kompliziert macht. Deshalb wäre es schön, wenn man die Meldung des Security Checks unterdrücken könnte. Kann man dazu vielleicht das bereits vorhandene globale Attribut "disableFeatures" erweitern, um den SecurityCheck gar nicht auszuführen?
« Letzte Änderung: 23 April 2020, 10:29:02 von betateilchen »
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Lesen gefährdet die Unwissenheit!

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16260
  • s/fhem\.cfg/configDB/g
Antw:Fragen zu FHEM.pl
« Antwort #6 am: 23 April 2020, 11:27:39 »
Deshalb wäre es schön, wenn man die Meldung des Security Checks unterdrücken könnte. Kann man dazu vielleicht das bereits vorhandene globale Attribut "disableFeatures" erweitern, um den SecurityCheck gar nicht auszuführen?

Vorschlag:

Index: fhem.pl
===================================================================
--- fhem.pl     (revision 21760)
+++ fhem.pl     (working copy)
@@ -331,7 +331,7 @@
   blockingCallMax
   commandref:modular,full
   configfile
-  disableFeatures:multiple,attrTemplate
+  disableFeatures:multiple,attrTemplate,SecurityCheck
   dnsHostsFile
   dnsServer
   dupTimeout
@@ -644,7 +644,9 @@
 }

 my $init_errors_first = ($defs{global}{init_errors} ? 1 : 0);
-SecurityCheck();
+unless (AttrVal('global','disableFeatures','') =~ m/SecurityCheck/i) {
+   SecurityCheck();
+}
 if($defs{global}{init_errors}) {
   $attr{global}{autosave} = 0 if($init_errors_first);
   $defs{global}{init_errors} = "Messages collected while initializing FHEM:".   
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Lesen gefährdet die Unwissenheit!

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 22328
Antw:Fragen zu FHEM.pl
« Antwort #7 am: 23 April 2020, 12:11:36 »
Habe securityCheck zu disableFeatures hinzugefuegt, was SecurityCheck komplett abschaltet, nicht nur beim Start.

Wie immer bei Patches: die Doku wird dem geneigten Maintainer ueberlassen....

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16260
  • s/fhem\.cfg/configDB/g
Antw:Fragen zu FHEM.pl
« Antwort #8 am: 23 April 2020, 14:53:28 »
Wie immer bei Patches: die Doku wird dem geneigten Maintainer ueberlassen....

Die Mühe, eine Doku zu schreiben, mache ich mir nicht, bevor ich weiß, ob und wie Du einen vorgeschlagenen patch einbaust. Die fehlende Doku hätte ich selbstverständlich noch nachgereicht. Auch "wie immer..." :)

Viele Grüße aus dem ICE (3 Fahrgäste im kompletten Großraumwagen, sehr entspanntes Reisen heute)

-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Lesen gefährdet die Unwissenheit!

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16260
  • s/fhem\.cfg/configDB/g
Antw:Fragen zu FHEM.pl
« Antwort #9 am: 23 April 2020, 15:01:28 »
die Doku wird dem geneigten Maintainer ueberlassen....

Auf den ersten Blick würde ich sagen, mit den HTML tags in der neuen Doku stimmt was nicht, aber mangels stabiler Internetverbindung im Zug kann ich es im Moment nicht genauer verifizieren.

Zitat
          <li>securityCheck: to avoid checking if each Server port is secured
            by password. May make sense to avoid warnings, if you know it
            better.</li> </li><br>

das rote markierte tag könnte zuviel sein
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Lesen gefährdet die Unwissenheit!

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 22328
Antw:Fragen zu FHEM.pl
« Antwort #10 am: 23 April 2020, 15:16:28 »
Danke fuer den Hinweis, habs gefixt.

 

decade-submarginal