WebSocket: Invalid frame header

Begonnen von timmib, 30 Januar 2022, 20:19:11

Vorheriges Thema - Nächstes Thema

timmib

Ich habe es eigentlich schon vorher herausgefunden, aber erst nicht glauben können.

Das HmIP-MP3P aus 88_HMCCUDEV.pm löst auch das Problem reproduzierbar aus. Ich kann da aber kein UTF-8 Problem erkennen. Ein get ... update führt zum direkten Tot des WebSockets.

Ich schreib mal den Maintainer an, bzw. mach ein neues Topic dafür auf.

timmib

#16
Leider ist es so, das dies wirklich nur im HTTPS Modus auftritt. Siehe Screenshot, da kann man es deutlich sehen  (links=HTTPS, rechts=HTTP).

["HmIP_MP3P_Terrasse","BLACK","<div id=\u0022HmIP_MP3P_Terrasse\u0022  title=\u0022BLACK\u0022 class=\u0022col2\u0022><a href=\u0022/fhem?cmd.HmIP_MP3P_Terrasse=set HmIP_MP3P_Terrasse on&room=Homematic&fwcsrf=csrf_354023319534818\u0022>BLACK</a></div>"]
["HmIP_MP3P_Terrasse-2.SECTION_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-2.SECTION_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-2.SOUNDFILE","INTERNAL_SOUNDFILE","INTERNAL_SOUNDFILE"]
["HmIP_MP3P_Terrasse-2.SOUNDFILE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-2.SECTION","0","0"]
["HmIP_MP3P_Terrasse-2.SECTION-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-2.ACTIVITY_STATE","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-2.ACTIVITY_STATE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-2.LEVEL","0","0"]
["HmIP_MP3P_Terrasse-2.LEVEL-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-2.PROCESS","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-2.PROCESS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-2.LEVEL_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-2.LEVEL_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-6.ACTIVITY_STATE","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-6.ACTIVITY_STATE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-6.SECTION","0","0"]
["HmIP_MP3P_Terrasse-6.SECTION-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-6.LEVEL_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-6.LEVEL_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-6.COLOR","BLACK","BLACK"]
["HmIP_MP3P_Terrasse-6.COLOR-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-color","BLACK","BLACK"]
["HmIP_MP3P_Terrasse-color-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-6.COLOR_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-6.COLOR_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-6.SECTION_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-6.SECTION_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-control","off","off"]
["HmIP_MP3P_Terrasse-control-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-6.LEVEL","off","off"]
["HmIP_MP3P_Terrasse-6.LEVEL-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-pct","off","off"]
["HmIP_MP3P_Terrasse-pct-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-level","off","off"]
["HmIP_MP3P_Terrasse-level-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-6.PROCESS","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-6.PROCESS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-9.WEEK_PROGRAM_CHANNEL_LOCKS","0","0"]
["HmIP_MP3P_Terrasse-9.WEEK_PROGRAM_CHANNEL_LOCKS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-5.LEVEL_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-5.LEVEL_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-5.COLOR","BLACK","BLACK"]
["HmIP_MP3P_Terrasse-5.COLOR-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-color","BLACK","BLACK"]
["HmIP_MP3P_Terrasse-color-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-5.SECTION","",""]
["HmIP_MP3P_Terrasse-5.SECTION-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-5.ACTIVITY_STATE","UNKNOWN","UNKNOWN"]
["HmIP_MP3P_Terrasse-5.ACTIVITY_STATE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-5.PROCESS","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-5.PROCESS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-5.COLOR_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-5.COLOR_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-5.SECTION_STATUS","UNKNOWN","UNKNOWN"]
["HmIP_MP3P_Terrasse-5.SECTION_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-state","off","off"]
["HmIP_MP3P_Terrasse-state-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-5.LEVEL","off","off"]
["HmIP_MP3P_Terrasse-5.LEVEL-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-pct","off","off"]
["HmIP_MP3P_Terrasse-pct-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-level","off","off"]
["HmIP_MP3P_Terrasse-level-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-4.PROCESS","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-4.PROCESS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-4.SECTION_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-4.SECTION_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-4.LEVEL","0","0"]
["HmIP_MP3P_Terrasse-4.LEVEL-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-4.LEVEL_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-4.LEVEL_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-4.ACTIVITY_STATE","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-4.ACTIVITY_STATE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-4.SECTION","0","0"]
["HmIP_MP3P_Terrasse-4.SECTION-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-rssidevice","-74","-74"]
["HmIP_MP3P_Terrasse-rssidevice-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-rssipeer","-74","-74"]
["HmIP_MP3P_Terrasse-rssipeer-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-activity","alive","alive"]
["HmIP_MP3P_Terrasse-activity-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-battery","ok","ok"]
["HmIP_MP3P_Terrasse-battery-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-1.SECTION_STATUS","UNKNOWN","UNKNOWN"]
["HmIP_MP3P_Terrasse-1.SECTION_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-1.SOUNDFILE","INTERNAL_SOUNDFILE","INTERNAL_SOUNDFILE"]
["HmIP_MP3P_Terrasse-1.SOUNDFILE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-1.SECTION","",""]
["HmIP_MP3P_Terrasse-1.SECTION-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-1.ACTIVITY_STATE","UNKNOWN","UNKNOWN"]
["HmIP_MP3P_Terrasse-1.ACTIVITY_STATE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-1.LEVEL","0","0"]
["HmIP_MP3P_Terrasse-1.LEVEL-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-1.PROCESS","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-1.PROCESS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-1.LEVEL_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-1.LEVEL_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-7.SECTION","0","0"]
["HmIP_MP3P_Terrasse-7.SECTION-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-7.ACTIVITY_STATE","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-7.ACTIVITY_STATE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-7.SECTION_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-7.SECTION_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-7.COLOR","BLACK","BLACK"]
["HmIP_MP3P_Terrasse-7.COLOR-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-7.LEVEL_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-7.LEVEL_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-7.LEVEL","off","off"]
["HmIP_MP3P_Terrasse-7.LEVEL-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-7.COLOR_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-7.COLOR_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-7.PROCESS","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-7.PROCESS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-8.SECTION_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-8.SECTION_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-8.SECTION","0","0"]
["HmIP_MP3P_Terrasse-8.SECTION-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-8.ACTIVITY_STATE","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-8.ACTIVITY_STATE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-8.COLOR_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-8.COLOR_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-8.LEVEL","off","off"]
["HmIP_MP3P_Terrasse-8.LEVEL-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-8.PROCESS","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-8.PROCESS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-8.LEVEL_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-8.LEVEL_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-8.COLOR","BLACK","BLACK"]
["HmIP_MP3P_Terrasse-8.COLOR-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-3.LEVEL","0","0"]
["HmIP_MP3P_Terrasse-3.LEVEL-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-3.SECTION_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-3.SECTION_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-3.PROCESS","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-3.PROCESS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-3.SECTION","0","0"]
["HmIP_MP3P_Terrasse-3.SECTION-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-3.ACTIVITY_STATE","STABLE","STABLE"]
["HmIP_MP3P_Terrasse-3.ACTIVITY_STATE-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-3.LEVEL_STATUS","NORMAL","NORMAL"]
["HmIP_MP3P_Terrasse-3.LEVEL_STATUS-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-devstate","ok","ok"]
["HmIP_MP3P_Terrasse-devstate-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]
["HmIP_MP3P_Terrasse-hmstate","off","off"]
["HmIP_MP3P_Terrasse-hmstate-ts","2022-02-02 22:31:41","2022-02-02 22:31:41"]



timmib

#17
Es wird leider immer schlimmer.

Jetzt bekomme ich auch im HTTPS Maskierungsfehler. Auch hier mit Screenshot. Auch wieder Homematic.
A server must not mask any frames that it sends to the client.

timmib

Es betrifft alle Homematicgeräte!

timmib

Und es passiert auch im "normalen" FHEM UI. Siehe screenshot.


rudolfkoenig

ZitatUnd es passiert auch im "normalen" FHEM UI. Siehe screenshot.
Das ist jetzt keine Ueberraschung. Wenn "Muell" (Daten nicht nach Spec) vorhanden sind, kann das an vielen Stellen weh tun.

Ich habe jetzt eine Pruefung und Konvertierung in der zentralen FW_addToWritebuffer hinzugefuegt, danach konnte ich das Problem nicht reproduzieren.
Wenn doch noch Probleme bestehen, bitte beschreiben, wie ich das nachstellen kann.


Zitatnicht zuletzt würden damit künstliche einschränkung für device und reading namen weg fallen die es nämlich genau deshalb gibt weil die diversen regexe die auf word oder zeichen matchen für die fhem ,unicode' variante nicht funktionieren wie sie sollten.
Das ist nicht ganz korrekt.
Ich habe noch nicht gemerkt, dass viele Leute "Küche" mit K.che pruefen wollen, dass die Laenge eines Readingnamen irgendwen interessiert, oder dass man das zweite Zeichen von dem Readingnamen inspizieren will. Dafuer gibt es etliche Systeme, die nicht mit utf8 umgehen koennen, d.h. man spart durch diesen Regel etwas Aerger.

ZitatBitte gleich Unicode intern, alles nach aussen utf8. Das wird weh tun [...]
Ich habe keine Problem mit Unicode intern, sehr wohl aber mit "Das wird weh tun".
Wenn wir eine Methode finden, wie wir das ohne ernsthaften Probleme fuer den Benutzer umstellen koennen, dann bin ich dabei.

justme1968

ZitatIch habe noch nicht gemerkt, dass viele Leute "Küche" mit K.che pruefen wollen, dass die Laenge eines Readingnamen irgendwen interessiert, oder dass man das zweite Zeichen von dem Readingnamen inspizieren will. Dafuer gibt es etliche Systeme, die nicht mit utf8 umgehen koennen, d.h. man spart durch diesen Regel etwas Aerger.

die argumente beißen sich etwas in den schwanz :). da es aktuell überhaupt nicht geht, kann man schlecht sagen das es niemand macht.

es gibt an einigen stellen workarounds die extra eingebaut sind weil diverse regex sonst auch jetzt schon nicht wie erwartet matchen würden. eben weil die internen strings keine 'echten' strings mit encoding sind sondern nur ein strom von bytes. den ärger den man aktuell vielleicht bei systemen die nicht mit utf-8 umgehen können handeln wir uns dafür umgekehrt bei den systemen ein die mit utf-8 umgehen können und sich deshalb nicht ohne workarounds mit fhem verstehen. tatsächlich gibt es auch jetzt schon mehr als einen thread in dem es um solche workarounds geht.

egal wie man es dreht und wendet: der einzig 'saubere' weg ist die schnittstelle nach fhem und aus fhem heraus genau zu spezifizieren. utf-8 würde einige workarounds sparen und sehr willkommen möglichkeiten schaffen. alles andere ist nicht mehr zeitgemäß. es geht auch nicht nur um die paar deutschen umlaute. auch wenn fhem hauptsächlich in deutschland verwendet wird gibt es noch viel mehr wünschenswerte 'sonder'zeichen.

lange rede kurzer sinn: ich denke es würde sich lohnen. auch wenn der aufwand groß ist.

ich überlege mal ob man das ganze etwas konkreter machen kann um besser zu sehen wie sich der aufwand zwischen zentralen bausteinen und den modulen die dann nachziehen müssen verteilt.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

timmib

Hi,

ZitatIch habe jetzt eine Pruefung und Konvertierung in der zentralen FW_addToWritebuffer hinzugefuegt, danach konnte ich das Problem nicht reproduzieren.

Ich hab ja keine Ahnung von Perl, aber solche Hinweise geben mir etwas zu denken.
ZitatNo. Any use of utf8::is_utf8 is incorrect as you should never use it! Using utf8::is_utf8 to guess at semantics of a string is what's known as an instance of The Unicode Bug. Except for inspecting the internal state of variables when debugging Perl or XS module, utf8::is_utf8 has no use.....

Quelle: https://stackoverflow.com/questions/14579560/am-i-using-utf8is-utf8-correctly




timmib

Hallo Rudolf,

das Problem mit Homematic bei HTTPS ist damit unverändert vorhanden. Da andere Modul habe ich gelöscht, weil es zusätzlich zu dem UTF-8 Problem auch den Hauptloop mit HTTP calls blockiert.

VG

Tim


timmib

#24
Ich in meiner Entwicklungsumgebung nochmal das Smarthings Modul installiert (https://forum.fhem.de/index.php/topic,113820.0.html

Und das Problem mit HTTPS und HTTP besteht weiterhin.

Could not decode a text frame as UTF-8.

Die Datei 01_FHEMWEB.pm habe ich über svn geholt und händisch dorthin kopiert und geprüft, das es die neue Version ist. Über "update" ist sie nicht gekommen.

rudolfkoenig

Ich will jetzt nicht an der Kompetenz der stackoverflow-Experten zweifeln, ich kann nur dagegenhalten, dass diese Methode seit laengerem in FHEMWEB verwendet wird um aehnlich gelagerte Probleme zu beheben, und die letzte Aenderung bei mir einen websocket-Abbruch mit provozierten Unicode-Daten behoben hat.

Weitere Module aufzuzaehlen hilft mir nicht wirklich, wenn ich helfen soll, dann bitte was zum Nachstellen, und das ohne Hardware oder spezielle Accounts.

timmib

#26
Ich hab dir eine Mail mit dem API-Key geschickt zum reproduzieren.

rudolfkoenig

Ich kann beim SST Modul kein Problem feststellen, das im Mail erwaehnte setList_hint schaut so aus, wie im Anhang, egal welche HttpUtils Variante ich verwende.

Nach naeherem Hinsehen ist das auch kein Wunder, das Modul verwendet HttpUtils.pm weder direkt, noch indirekt ueber DevIo.pm, die Daten werden mit HTTP::Request geholt.
Ich meine das Problem (wenn ueberhaupt vorhanden) sollte dem Maintainer gemeldet werden.

timmib

Hi,

die Probleme habe ich ihm bereits die Tage gemeldet.

Ich dachte es ging Dir darum es ohne Hardware etc. reproduzieren zu können.

Alternativ zu diesem Beta-Modul bleibt nur Homematic. Dem Maintainer habe ich auch geschrieben, aber bisher ohne Erfolg.

Viele Grüße

Tim

rudolfkoenig

ZitatIch dachte es ging Dir darum es ohne Hardware etc. reproduzieren zu können.
Das schon, ich sollte fuers Problem aber halbwegs zustaendig sein, noch besser waere es, wenn das Problem mit dem hier beschriebenen Aenderung was zu tun hat.