FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Hanjo am 05 Februar 2016, 14:18:21

Titel: [patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Hanjo am 05 Februar 2016, 14:18:21
Hallo Freunde,

wie bereits hier (http://forum.fhem.de/index.php?topic=16215.msg404273#msg404273) beschrieben, fand ich dass das Modul die Acknowledgements nicht nach der API Spezifikation (https://pushover.net/api#receipt) verarbeitet. Daher habe ich versucht das etwas zu verbessern. Der Patch anbei verändert das folgende Verhalten:

Natürlich bin ich offen für Veränderungen wenn etwas keinen Sinn ergibt, aber ich denke der Patch ist insgesamt konsistenter als das vorherige Verhalten.

Viele Grüße
Hanjo
Titel: [patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Loredo am 05 Februar 2016, 17:49:03
Hallo Hanjo,

Danke zunächst für den Patch. Ich kann noch nicht genau sagen, wann ich ihn mir genauer ansehen kann, wollte aber zumindest schonmal auf deinen Post reagieren.

Im Einzelnen kann ich erst dann etwas zu Sinn oder nicht Sinn sagen. Zumindest einige deiner beschrieben Punkte muss ich mit vorher direkt angucken um zu verstehen, was da genau gemeint ist, um keine voreiligen Schlüsse zu ziehen.

Gruß
Julian
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Hanjo am 06 Februar 2016, 01:44:15
Hi Julian,

alles klar, sag einfach Bescheid falls du weitere Erläuterungen brauchst.

Vielen Dank
Grüße
Hanjo
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Hanjo am 03 April 2016, 17:52:37
Hi Julian,

hattest du schon Gelegenheit dir meine Vorschläge anzuschauen?

Viele Grüße
Hanjo
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Hanjo am 02 Januar 2020, 15:37:23
Hi Julian,

ich habe meinen Patch auf die neuste Version 19366 vom 11. May 2019 (https://github.com/mhop/fhem-mirror/commits/master/fhem/FHEM/70_Pushover.pm) portiert.

Vielleicht kannst du dir das ja doch noch mal anschauen und ggf. in den Master implementieren.

Viele Grüße
Hanjo
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Loredo am 02 Januar 2020, 15:43:50

Bitte der Einfachheit halber als PR über Github einreichen.

Zitat von: Hanjo am 05 Februar 2016, 14:18:21

       
  • URLs werden jetzt immer direkt in die Message geschrieben, der Umweg über den Callback entfällt


Dieses Verhalten ist ein Sicherheitsfeature und beabsichtigt, damit URLs FHEM intern bleiben und nicht von außen eingeschleust werden können. Wenn der Patch akzeptiert werden soll, bitte dies berücksichtigen.


Zitat von: Hanjo am 05 Februar 2016, 14:18:21

       
  • Acknowledgements werden nur noch bei expliziten Klick auf den "Acknowledge" Button in Pushover verwertet, nicht mehr wenn man auf den Link klickt (dies sind nun zwei voneinander unabhängige Aktionen)
  • Das Acknowledge-Device wird jetzt in FHEM angezeigt
  • alte Readings werden erst gelöscht, wenn die Nachricht acknowledged wurde UND die Aktion ausgeführt worden ist ODER die Nachricht abgelaufen (=expired) ist
  • die übergebene Parameter ans Callback werden jetzt alle auf Plausibilität überprüft
  • Einen Fehler im Callback behoben, der das ausführen von Aktionen unmöglich gemacht hat (weil die Aktion/Nachricht nicht gefunden wurde)
  • Die Überprüfung des User-Keys entfernt, da dies je nach verwendetem User/Gruppen-Key scheiterte


Bitte diese Punkte an den relevanten Stellen im PR kommentieren, um diese entsprechend identifizieren zu können.
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Hanjo am 02 Januar 2020, 20:46:03
Zitat von: Loredo am 02 Januar 2020, 15:43:50Dieses Verhalten ist ein Sicherheitsfeature und beabsichtigt, damit URLs FHEM intern bleiben und nicht von außen eingeschleust werden können. Wenn der Patch akzeptiert werden soll, bitte dies berücksichtigen.
Könntest du dafür ein Beispiel geben? In der Commandref ist als Beispiel für eine URL folgendes vermerkt:
set Pushover1 msg title=Link Have a look to this website: url_title="Open" action="http://fhem.de/" expire=3600
Meiner Meinung nach ist die URL in solch einer Nachricht nicht besonders schützenswert. Selbst wenn sie es wäre, hilft die aktuelle Implementierung nicht, da der Link mit der FhemCallbackId ebenfalls von jedermann aufgerufen werden kann, der die Pushover-Nachricht abfängt. So wie ich das sehe, erhöht das nur die Komplexität, nicht aber die Sicherheit.

Würde mich über eine Erläuterung freuen.

Den PR erstelle ich.

Danke & Gruß
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Hanjo am 02 Januar 2020, 21:46:53
Zitat von: Hanjo am 02 Januar 2020, 20:46:03
Den PR erstelle ich.
Siehe https://github.com/fhem/mod-Pushover/pull/1 (https://github.com/fhem/mod-Pushover/pull/1)
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Hanjo am 05 Januar 2020, 20:23:53
Wie besprochen nun ohne den URL Change:
https://github.com/fhem/mod-Pushover/pull/2 (https://github.com/fhem/mod-Pushover/pull/2)
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Loredo am 06 Januar 2020, 13:01:54
Danke! Kleiner Hinweis am Rande: Du hättest auch den bestehenden PR erweitern können, indem du einfach im selben Branch die Änderungen commited hättest. Ein PR bezieht sich immer auf einen Branch, nicht auf einen bestimmten Commit.
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Hanjo am 06 Januar 2020, 19:52:23
Hatte mich schon gewundert wie das geht... :-)
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Jamo am 09 Januar 2020, 08:45:50
Hallo Hanjo,
Ich habe den callback für Pushover erfolgreich mit einem Webhook implementiert. Ich habe im Modul "define WEBhook FHEMWEB 8088 global attr allowed basicAuth {"$user:$password" eq "user:password"} gesetzt, und dann in Modul "define pushmsg Pushover 1234 abcd pushCallBackURL"attr pushmsg callbackUrl http://user:password@IP.AD.RE.SS:8088/webhook/pushCallBackURL eingetragen.

Dann kommt beim klicken auf den Link in der iPhone Pushover Meldung immer ein passwort fenster hoch, das mich auffordert user / passwort einzutragen, obwohl ich doch im FHEM CallBackURL user und password schon mitgegeben habe.

Wie sichere ich denn den callback URL mit User/Password ab?

Oder muss ich das überhaupt absichern?

Danke!
Jamo
Titel: Antw:[patch] 70_Pushover: Acknowledgements und URL Handling
Beitrag von: Hanjo am 11 Januar 2020, 23:52:56
Hi Jamo,

ich habe mich über genau das gleich Problem auch schon geärgert. Leider scheint das ein "Feature" von iOS zu sein, dass das nicht funktioniert, siehe z.B. hier (https://apple.stackexchange.com/questions/307522/ios-11-safari-how-to-pass-user-password-in-url-for-basic-authentication).

Ich habe leider noch keine gute Lösung dafür; derzeit arbeite ich mit einem Always-on-VPN, so dass außer mir niemand auf die URL drauf kommt. In jedem Fall würde ich empfehlen SSL zu aktivieren, weil dann jemand der den Traffic belauscht 1. Username und Passwort nicht einfach mitschneiden kann und 2. nicht die URL mitbekommt.

Grüße
Hanjo