FHEM Forum

FHEM => Sonstiges => Thema gestartet von: baumeister am 29 Oktober 2015, 17:37:32

Titel: Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: baumeister am 29 Oktober 2015, 17:37:32
Hallo,

seit dem Patch von gestern [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung vgl. http://forum.fhem.de/index.php/topic,43043.msg350353.html#msg350353. kann ich folgenden Code nicht mehr nutzen:

{GetFileFromURL ("http://LOGIN:PASSWORT\@IPADRESSE/cgi-bin/trigger.cgi")}

Es wird einfach nicht mehr ausgeführt. Spiele ich die alte HttpUtils.pm wieder ein, funktioniert alles wie gewünscht. Ist das so gewollt oder ein Fehler, so dass ich hier etwas umstellen muss? Danke für ein Feedback.

Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: rudolfkoenig am 29 Oktober 2015, 19:29:28
Kann ich so nicht nachvollziehen:
Zitatfhem> { GetFileFromURL("http://useName:password\ (//http://useName:password%5C)@requestb.in/1e0ru1m1?Test.me") }
ok

http://requestb.in/1e0ru1m1?inspect (http://requestb.in/1e0ru1m1?inspect) sagt (unter anderem):
ZitatAuthorization: Basic dXNlTmFtZTpwYXNzd29yZA==

Dekodiert:
% echo "dXNlTmFtZTpwYXNzd29yZA==" | base64 -D
useName:password
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: betateilchen am 29 Oktober 2015, 20:57:37
Das beschriebene Verhalten konnte ich heute mit mehreren Geräten nachvollziehen, die über einen integrierten Webserver - beisipelsweise zur Konfiguration- verfügen. Unter den betroffenen Geräten befinden sich VoIP Adapter und Netzwerkdrucker.

Deshalb arbeite auch ich aktuell wieder mit der vorherigen Version von HttpUtils und alles ist gut.
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: rudolfkoenig am 29 Oktober 2015, 22:07:13
Habe den Patch bis auf weiteres entfernt. Es waere wichtig, einen Testfall zur Verfuegung zu stellen, wozu man kein spezielles Hardware oder Logins braucht.
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: baumeister am 30 Oktober 2015, 09:03:36
Hallo,

habe ein Testcase auf einem unserer Server zur Verfügung gestellt:

{GetFileFromURL ("http://testuser:testuser\@http://preview.mediata.net/cgi-bin/test.cgi")}

Das Script liefert im Erfolgsfall "OK" zurück.
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: Markus Bloch am 30 Oktober 2015, 13:27:51
Zitat von: baumeister am 30 Oktober 2015, 09:03:36
Hallo,

habe ein Testcase auf einem unserer Server zur Verfügung gestellt:

{GetFileFromURL ("http://testuser:testuser\@http://preview.mediata.net/cgi-bin/test.cgi")}

Das Script liefert im Erfolgsfall "OK" zurück.

Vielen Dank. Werde ich am Wochenende ausprobieren und schauen wo der Hase begraben liegt.

Wundert mich total, da ich es extra im Vorfeld mit Apache und anderen Webseiten intensiv getestet hatte.

Gruß
Markus
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: betateilchen am 30 Oktober 2015, 13:30:25
Es gibt aber nicht nur Apache und andere "richtige" Webserver.

In vielen Geräten hast Du einfach nur allersimpelste Web-"server" die sich bei weitem nicht an alle Standards halten.

Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: Markus Bloch am 30 Oktober 2015, 14:05:53
Ich hatte auch eine IP Kamera dabei, sowie meinen AV-Receiver und einen LG-TV. Alle haben eine eigene Implementation eines Web-Servers ;-)

Ich schau nochmal nach und wir werden sehen.
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: betateilchen am 30 Oktober 2015, 14:18:03
Nur so am Rande: Ich hatte noch nie ein webbasiertes Gerät (und ich hatte schon VIELE), bei dem ich Digest gebraucht hätte.
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: baumeister am 30 Oktober 2015, 14:25:32
Hallo,

leider kann ich den Webserver meiner Kamera nicht in einem Testcase bereitstellen. Deshalb der apache. Aber ich kann den response header zur Verfügung stellen:

Date: Thu, 01 Jan 1970 00:00:00 GMT
nServer: avtech/1.0..Expires: 0
Pragma: no-cache
Cache-Control: no-cache
Connection: close
Content-Type: text/html;charset=ISO-8859-1
WWW-Authenticate: Basic realm=server
Content-Length: 0
401 Unauthorized

Vielleicht hilft das weiter. Device ist ein digitus DN-16062. Danke
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: Markus Bloch am 30 Oktober 2015, 19:19:11
Hallo zusammen,

anbei eine Version von HttpUtils mit meiner Digest-implementierung sowie mit Logausgaben was an HTTP Daten gesendet und empfangen wurde.

Es wäre toll, wenn ihr diese mal ausprobieren könnt, mit den Geräten/URL's die nicht funktionieren. Damit ich sehen kann, wieso und weshalb.

Bitte darauf achten, dass in Zeilen mit "Authorization: Basic [XXX]" das [XXX] unkenntlich gemacht ist, da sich dahinter der Username+Passwort in BASE64 verbirgt, welches sich entschlüsseln lässt.

Vielen Dank

Gruß
Markus

edit:

Zitat von: betateilchen am 30 Oktober 2015, 14:18:03
Nur so am Rande: Ich hatte noch nie ein webbasiertes Gerät (und ich hatte schon VIELE), bei dem ich Digest gebraucht hätte.

Bei mir leider schon, bei Basic kommt als Status 401 mit einer Digest Challenge (WWW-Authenticate).
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: Markus Bloch am 30 Oktober 2015, 19:26:02
Zitat von: baumeister am 30 Oktober 2015, 09:03:36
Hallo,

habe ein Testcase auf einem unserer Server zur Verfügung gestellt:

{GetFileFromURL ("http://testuser:testuser\@http://preview.mediata.net/cgi-bin/test.cgi")}

Das Script liefert im Erfolgsfall "OK" zurück.

Funktioniert mit meiner Digest-Variante ohne Probleme:



{GetFileFromURL ("http://testuser:testuser\@preview.mediata.net/cgi-bin/test.cgi")}

GET /cgi-bin/test.cgi HTTP/1.0
Host: preview.mediata.net
User-Agent: fhem
Authorization: Basic dGVzdHVzZXI6dGVzdHVzZXI=



HTTP/1.1 200 OK
Date: Fri, 30 Oct 2015 18:24:14 GMT
Server: Apache/2.2.16 (Debian)
Connection: close
Content-Type: text/plain

OK
Titel: Antw:Fehler durch [PATCH] - HttpUtils - Support von HTTP Digest Authentifizierung
Beitrag von: baumeister am 01 November 2015, 11:09:07
Hallo,

ich habe es mit dieser Version getestet. Nachfolgend der Auszug aus dem Logfile

2015.11.01 11:03:09 2: ROOMMATE set rr_Bjoern location checkinhome
2015.11.01 11:03:09 3: HttpUtils sent: GET /cgi-bin/user/Config.cgi?action=set&Notification.Trigger.Alarm=DISABLE&Notification.Trigger.Motion=DISABLE&Notification.Trigger.FaceDetect=ENABLE&Notification.Trigger.Duration=5&Notification.Method=FTP,MAIL&Notification.RecordTime=5&rnd=0.41910738991194374 HTTP/1.0
Host: 192.168.178.38
User-Agent: fhem
Authorization: Basic XXXX


2015.11.01 11:03:09 3: HttpUtils received:
2015.11.01 11:03:15 1: FHEMWEB SSL/HTTPS error:

Der Aufruf hat funktioniert. Der Trigger an die Kamera wurde ausgelöst. Mich wundert nur, dass die IP nicht im Logfile zu sehen ist.