fronthem: Gad Editor leer nach FHEM Update (Security?)

Begonnen von karl0123, 31 Dezember 2015, 10:45:59

Vorheriges Thema - Nächstes Thema

karl0123

Der Gad Editor in FHEM bleibt nach einem der letzten FHEM Updates leer. In der Konsole erscheint der folgende Fehler:

ZitatSyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
http://fhem:8083/fhem/pgm2/jquery.min.js
Line 4

Der Fehler erscheint nach folgender Zeile in der JS Konsole:

http://fhem:8083/fhem?XHR=1&inform=type=status;filter=XXX;since=1451554945;fmt=JSON&fw_id=5050&timestamp=1451554946543&fwcsrf=YYYY

Fronthem (in Kombination mit smartVisu) funktioniert weiterhin einwandfrei.

Ich tippe, dass es etwas mit den kürzlichen Security Updates (Authentication and Authorization) zu tun haben könnte. Kann das jemand bestätigen?

Das hier erscheint im FHEM Log, wenn man den Editor aufruft:

FHEMWEB WEB CSRF error:  ne 128252134131535

karl0123

Meine Vermutung ist nicht ganz richtig. Es liegt schon an einer Änderung in FHEMWEB, diese ist aber schon älter. Der Gad Editor bleibt leer, wenn man das FHEMWEB Attribut csrfToken verwendet. Kann das bitte  so schnell wie möglich in fronthem nachgezogen werden? Vielen Dank.

Markus Bloch

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

karl0123

Nutzt du fronthem?

Es gibt einen Wiki Artikel dazu.

Markus Bloch

Ah ok, geht um Fronthem. Nein, das nutze ich nicht. Dachte du meinst irgend einen Editor/Wizard aus FHEM direkt.

Alles klar. Vielen Dank für die Aufklärung.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

karl0123

Ich dachte, die Überschrift wäre klar ;)

Nee sorry, hätte mehr geschrieben, bin aber unterwegs.

herrmannj

Schau ich mir an und mach es heil. Das Token zwischenzeitlich raus zunehmen ist ein workaround ... oder ?

vg und guten Rutsch
Joerg

karl0123


Grinsekatze

Ich habe selbiges Problem. Mir ist in der Zwischenzeit aufgefallen, dass es vor allem immer dann passiert, wenn ich aus FHEM heraus an meiner fhem.cfg arbeite.

Das händische löschen des Devices aus der fhem.cfg und anschließende eintragen aus der FHEM-Kommandozeile heraus behebt das Problem - zumindest für eine Weile.

@Hermannj kannst Du das mit dem Token einmal etwas spezifizieren - dann kann ich es mal probieren. Zzt. weiss ich jedoch nicht genau, was Du mit deiner Äußerung meinst / bzw. welches Token.

herrmannj

Wird bei Dir nix mit dem token zu tun haben.

Wenn Du händlisch die cfg änderst und *keinen* Neustart durchführst funktioniert fronthem nicht.

Lösung
a cfg nicht editieren sondern Änderungen an device über das webif machen (eh empfohlen)
b wenn cfg ändern -> Neustart :)

vg
joerg

Grinsekatze

Axo, danke!
Gerade wenn ich größere Änderungen mit viel Code mache - etwa im Rahmen meiner Heizung - habe ich das direkte coden zu schätzen gelernt. Wenn ich da jedes Mal in der "Kommandozeile" getippt hätte, dann hätt es ewig gedauert.

Dass ich jedoch im Anschluss neustarten muss, wusste ich noch nicht - zumal ja auch (fast) alles auch ohne weiter ging. Ich habe mich lediglich zuvor schlau gemacht und vermeide rereadcfg, um Störungen zu vermeiden.

Ich hatte länger nicht das Erlebnis, stetig neues dazuzulernen. Bei FHEM habe ich diese Erfahrung jedoch wieder - und fühle mich an die Anfänge meines Berufslebens erinnert, als noch alles neu war. :)

herrmannj


RoBra81

Hallo,

ich habe gestern nach längerer Zeit mal wieder ein FHEM-Update gemacht. Nun wollte ich auch ein bisschen an der Smartvisu arbeiten, aber leider bleibt der GAD-Editor leer. In der Console sehe ich folgende Fehlermeldung:

Unexpected end of JSON input

Ich vermute jedoch, dieses Problem hat wenig mit Fronthem zu tun, da auch Charting Frontend (http://www.fhemwiki.de/wiki/Neues_Charting_Frontend) nicht mehr lädt, sondern auch nur noch eine JSON-Fehlermeldung wirft:

JsonList did not respond correctly. This is a bug in FHEM. This Frontend cannot work without a valid JsonList response.

Ronny

rudolfkoenig

Kannst du bitte die Ausgabe von JsonList2 hier anhaengen?
Bitte vorher pruefen, ob es nicht Passwoerter/etc enthaelt, und diese mit X ersetzen.

RoBra81

Hallo,

ich würde die Ausgabe gern als TXT-Datei anhängen (ist ganz schön viel), aber irgendwie will das Forum nicht - kann ich dir die irgendwie schicken?

Ronny

rudolfkoenig

Auch als zip/gzip nicht?
Sonst an meine email-adresse, steht auf fhem.de unten.

RoBra81

#16
Als zip geht's...

rudolfkoenig

Die angehaengte JSON Datei ist laut jsonlint und node.js ok. Eine weitere Moeglichkeit waere, dass FHEMWEB Probleme hat, dynamisch erzeugte grosse Dateien (2MB+) weiterzuleiten. Mit den statischen (z.Bsp. FileLogs) gibts keine Probleme. Wie hast du die .txt Datei erzeugt? Ueber telnet oder wget/Browser ?

RoBra81

Ich habe es im Browser ausgeführt und dann in einen Texteditor kopiert...

rudolfkoenig

D.h. FHEMWEB hat es geschafft.
Dann bin ich raus, und Joerg oder sonstwer darf sich drum kuemmern :)

dev0

Es ist auch kein generelles Problem. Mein Entwicklungssystem habe ich gerade auf den aktuellen Stand gebracht und konnte kein Problem feststellen.

herrmannj

Zitat von: rudolfkoenig am 03 Juni 2016, 15:23:34
D.h. FHEMWEB hat es geschafft.
Dann bin ich raus, und Joerg oder sonstwer darf sich drum kuemmern :)
Yepp. Übernehme.

Könntest Du mir Dine cfg der GAD schicken ?
Evtl mal einen anderen browser ausprobiert ? (JSONLIST hat mit der Art wie fronthem die GAD zum Editor bringt nix gemeinsam... )

vg
Joerg

RoBra81

Guten Abend,

Ich habe gerade mal auf dem Handy zwei Browser erfolglos probiert. Anbei meine cfg...

http://cloud.tapatalk.com/s/5751e26f620d6/fhserver.fronthem.cfg.txt

Ronny

dev0

Nur um sicher zu gehen: das FHEMWEB Attribut csrfToken verwendest Du nicht?

RoBra81

Nein, hatte ich irgendwo gelesen und gleich mal nachgesehen...

herrmannj

#25
Hallo RoBra81

ich kann das von Dir beschriebene Verhalten auf einem frisch und nach Anleitung installiertem fhem/fronthem nicht nachvollziehen.

Welches JSON modul verwendest Du ?

vg
joerg

dev0

Ich bin mir recht sicher, dass es schon mal ein ähnliches Problem mit 2 Modulen gab, die sich in die quere gekommen sind, weil sie eine perl lib unterschiedlich geladen/aufgerufen hatten. Fritzbox und ?
Ronny, da es bei dir nach einem update aufgetreten ist, könnte ich mir das auch hier vorstellen. Kannst Du das vielleicht bei dir untersuchen? Mit einer neuen Konfig anfangen und schrittweise deine Module wieder hinzufügen.

@Joerg: würde das aus auch deiner Sicht sinn machen?

RoBra81

Guten Morgen,

Zitat von: dev0 am 04 Juni 2016, 12:41:59
Nur um sicher zu gehen: das FHEMWEB Attribut csrfToken verwendest Du nicht?

Sorry, es lag doch daran: ich hatte das Attribut nicht verwendet, was aber dazu führte, dass es doch verwendet wurde. Nun verwende ich es, indem ich es explizit auf "none" stelle und schon funktioniert der GAD-Editor wieder.

Vielen Dank für die Hilfe.

Ronny

rudolfkoenig

Zitatich hatte das Attribut nicht verwendet, was aber dazu führte, dass es doch verwendet wurde.
Wenn ich meinen eigenen Code verstehe, ist csrfToken erst ab Featurelevel 5.8 default, also etwa ab Herbst diesen Jahres.
Was wird bei dir beim Startup als Featurelevel ausgegeben?

ZitatNun verwende ich es, indem ich es explizit auf "none" stelle und schon funktioniert der GAD-Editor wieder.
Mittelfristig sollte das gefixt werden, s.o.

RoBra81

Bei mir war im global tatsächlich der featureLevel auf 5.8 gestellt - ich kann aber nicht mehr wirklich sagen, warum ich das gemacht habe und was ich damit erreichen wollte. Habe es jetzt mal wieder auf 5.7 gestellt...

dev0

Zitat von: herrmannj am 31 Dezember 2015, 11:38:58
Schau ich mir an und mach es heil. Das Token zwischenzeitlich raus zunehmen ist ein workaround ... oder ?

@herrmannj: Hast Du noch vor das zu fixen? Rudi hat ja angekündigt, dass Featurelevel 5.8 in 14 Tagen aktiv wird...

herrmannj

Zitat von: dev0 am 06 Februar 2017, 08:49:06
@herrmannj: Hast Du noch vor das zu fixen? Rudi hat ja angekündigt, dass Featurelevel 5.8 in 14 Tagen aktiv wird...

Oh Danke. Die Ankündigung habe ich verpasst. Ja, soll/muss. Wird zeitlich aber knapp. Ich schau mal.
Wenn ansonsten jemand eine diff machen möchte nehme ich die. Bitte Bescheid sagen damit wir keine doppel Arbeit machen.

vg
joerg

raman

#32
Ich habe dazu gerade für fronthemEditor.js auf github ein Pull request gestellt!

Edit:
Was noch nicht geht habe ich gerade festgestellt, dass die gerade in SV aktiven GADs im Editor angezeigt werden.

Nach einem Neustart funktioniert alles wie es soll!

herrmannj


joshi04

Hallo zusammen, nur für mein Verständnis, die fronthemEditor.js ist im Git von smartVISU und kommt noch nicht über FHEM Update, oder?
Danke, Schöne Grüße, John


Gesendet von iPhone mit Tapatalk
NUC: 2xJeeLink, PCA301/TX35DTH; HueBridge, LivingColors; vair-monitor (CO2); HMLan, Winmatic, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-ES-TX-WM, HM-WDS10-TH-O, HM-ES-PMSw1-Pl, HM-SEC-SC-2, HM-SEC-SCo; AVM DECT 200; panStamp; smartVISU

dev0

#35
Wenn das Repository ins FHEM Update eingebunden wurde, dann schon. Auch das einmalige Updaten ist über das FHEM Update möglich:

automatisch:
update add https://raw.githubusercontent.com/herrmannj/fronthem/master/controls_fronthem.txt
einmalig:
update all https://raw.githubusercontent.com/herrmannj/fronthem/master/controls_fronthem.txt


EDIT:
Die Control Datei ist noch nicht angepasst.
@Jörg: Kannst Du das bitte noch anpassen?