FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Markus Bloch am 04 Februar 2013, 21:22:58

Titel: [PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist
Beitrag von: Markus Bloch am 04 Februar 2013, 21:22:58
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
Titel: Aw: [PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist
Beitrag von: justme1968 am 05 Februar 2013, 08:05:37
wie wäre es zur kommunikation pipes zu verwenden?

gruss
   andre
Titel: Aw: [PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist
Beitrag von: Markus Bloch am 05 Februar 2013, 09:17:38
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
Titel: Aw: [PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist
Beitrag von: rudolfkoenig am 05 Februar 2013, 09:53:25
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
Titel: Aw: [PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist
Beitrag von: justme1968 am 05 Februar 2013, 10:03:50
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
Titel: Aw: [PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist
Beitrag von: Markus Bloch am 06 Februar 2013, 17:25:05
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
Titel: Aw: [PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist
Beitrag von: rudolfkoenig am 06 Februar 2013, 18:50:13
> 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.
Titel: Aw: [PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist
Beitrag von: Markus Bloch am 06 Februar 2013, 19:00:39
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
Titel: Aw: [PATCH] - Blocking.pm - Temporären Telnet Port erstellen, sofern kein brauchbarer Port definiert ist
Beitrag von: rudolfkoenig am 06 Februar 2013, 19:34:49
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.