[PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist

Begonnen von Markus Bloch, 04 Februar 2013, 21:22:58

Vorheriges Thema - Nächstes Thema

Markus Bloch

Hallo Rudi,

da ich bei dem PRESENCE Modul mit Blocking.pm arbeite, würde ich gerne mit deiner Erlaubnis eine Änderung durchführen.

Wenn BlockingCall() keinen Telnet Port finden kann um sein Ergebnis zurückzusenden, öffnet er einen temporären Port, schickt sein Ergebnis und löscht anschließend den Port wieder.

Da ich bereits einige User hatte die entweder ein Passwort gesetzt hatten, oder keinen Port definiert hatten, usw. währe das sehr hilfreich.

Was hältst du davon?

Viele Grüße

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)

justme1968

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

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

Markus Bloch

das würde aber nicht unter Windows funktionieren. Daher brauchen wir etwas, was sowohl in der Unix- als auch in der Windows Welt funktioniert.

Viele Grüße

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)

rudolfkoenig

Im prinzip ok, aber ich will nicht fuer jeden Aufruf ein TCP Serverport oeffnen und entfernen.
Ich habe dein Patch so modifiziert, dass es nicht notwendig ist.

Gruss,
  Rudi

justme1968

es kann sein das es sich mit der fork durch thread implementierung beißt aber ansonsten geht das natuerlich  das auch unter windows.

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

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

Markus Bloch

Hallo Rudi,

funktioniert tadellos so. Eine Frage habe ich noch. In meinem Patch lösche ich die Port-Definition wieder, da es sich ja hierbei um einen offenen passwortlosen Telnet Port handelt.

Ich persönlich denke schon, das wir den Port nach erfolgter Datenübergabe direkt wieder zu machen sollten. Für die Leute, welche sich überall Passwörter eingestellt haben um Zugriffskontrolle zu betreiben währe das so nicht hinnehmbar.

Währe schön, wenn du dass noch ändern könntest.

Vielen Dank

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)

rudolfkoenig

> In meinem Patch lösche ich die Port-Definition wieder, da es sich ja hierbei um einen offenen passwortlosen Telnet Port handelt.

Stimmt, ist aber nur von dem lokalen Rechner ansprechbar, das es ohne "global" definiert wurde.
Ich finde das Risiko vertretbar, solange wir keine bessere Idee fuer die Kommunikation haben.

Markus Bloch

Dann sollte man dem Device wenigstens das Attribut room hidden direkt setzen. Damit es zu keinen Nachfragen kommt, warum, weshalb, wieso es da jetzt dieses Device gibt.

Viele Grüße

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)

rudolfkoenig

Ok, hab noch ein "room hidden" spendiert, taucht trotzdem in "Everything" auf.
Habe auch kurz ueberlegt, ein "ignore" zu spendieren, aber das fand ich dann uebertrieben/unfair.