PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [spark] Streaming WebInterface Spark 12112 +



Dimis
26.03.2014, 12:24
Wollte gerade was ausprobieren..Streaming geht jetzt nicht mehr! :(
Nicht über den WebInterface auch nicht mit Verschiedenen Android Apps(Dreamdroid..)...

Gruß

Nachtrag: 12084 funzt ohne Probleme!!!!

b711
26.03.2014, 22:14
Also ich kann den Fehler nicht bestätigen: 12112 streamt wie immer über das WebIf zum Windows-VLC-Player...

Dimis
27.03.2014, 07:54
Morgen!

b711 auf welchen Receiver, auch Pingulux?

Gruß

b711
27.03.2014, 09:00
GM Spark reloaded

Dimis
27.03.2014, 18:34
***Hab eine Lösung Gefunden...Hab einfach das WebInterface Plugin von der 12084
ersetzt und damit geht es. Wurde hier was verändert?***

//Also ich habe auch die neusten Versionen ausprobiert. Nur mit der 12084 geht das WebInterface Streaming.
Wer hat noch einen Pingulux und kann das Bestätigen?

Bei VLC kommt immer diese Meldung:

"Ihre Eingabe konnte nicht geöffnet werden: VLC kann die MRL 'http://192.168.1.199:8001/1:0:1:445D:453:1:C00000:0:0:0:' nicht öffnen. Sehen Sie für Details im Fehlerprotokoll nach."

Log:


[EPGC] next update in 2 sec
stop release channel timer
eventNewProgramInfo 0 0
have 1 video stream(s) (01ff), and 1 audio stream(s) (0200), and the pcr pid is 01ff, and the text pid is 0021
allocate demux
TuxTxt cache cleared
decoder state: play, vpid=511, apid=512
DMX_SET_PES_FILTER(0x1ff) - pcr - ok
DMX_SET_PES_FILTER(0x200) - audio - ok
AUDIO_SET_BYPASS(1) - ok
AUDIO_PLAY - ok
Video Device: /dev/dvb/adapter0/video0
demux device: /dev/dvb/adapter0/demux0
VIDEO_SET_STREAMTYPE 0 - ok
DMX_SET_PES_FILTER(0x1ff) - video - ok
VIDEO_PLAY - ok
DMX_SET_PES_FILTER(0x21) - ttx - ok
VIDEO_CONTINUE - ok
VIDEO_SLOWMOTION(0) - ok
VIDEO_FAST_FORWARD(0) - ok
AUDIO_CONTINUE - ok
AUDIO_CHANNEL_SELECT(0) - ok
disable teletext subtitles page ffffffffffffffff (und)
[__evUpdatedInfo]
[writeChannelName]
vfd display text: ProSieben
[showCrypted]
[showDolby]
[showMp3]
[eDVBCAService] new service 1:0:1:445D:453:1:C00000:0:0:0:
[eDVBCAService] add demux 0 to slot 0 service 1:0:1:445D:453:1:C00000:0:0:0:
[__evUpdatedEventInfo]
[__evUpdatedEventInfo]
[__evUpdatedEventInfo]
RemovePopup, id = ZapError
[SEC] sleep 500ms
use pmtpid 0061 for service_id 445d
eventNewProgramInfo 0 0
have 1 video stream(s) (01ff), and 2 audio stream(s) (0200, 0203), and the pcr pid is 01ff, and the text pid is 0021
decoder state: play, vpid=511, apid=512
[__evUpdatedInfo]
[writeChannelName]
vfd display text: ProSieben
[showCrypted]
[showDolby]
[showMp3]
VIDEO_GET_EVENT - ok
unhandled DVBAPI Video Event 9
[Dish] tuning failed
sdt update done!
VIDEO_GET_EVENT - ok
unhandled DVBAPI Video Event 5
VIDEO_GET_EVENT - ok
[__evVideoSizeChanged]
VIDEO_GET_EVENT - ok
[__evUpdatedEventInfo]
[EPGC] start caching events(1395941374)
[eDVBLocalTimerHandler] diff is 0
[eDVBLocalTimerHandler] diff < 120 .. use Transponder Time
[eDVBLocalTimerHandler] not changed
[HTTPRootResource].isSessionValid :: created session with id '0' for client with token 'e146ae7a05323ef6e37d617e3a8ec2c6dc30b4f8'
screen cleanup!
[EPGC] abort non avail schedule other reading
[EPGC] abort non avail netmed schedule reading
[EPGC] abort non avail netmed schedule other reading
[EPGC] abort non avail FreeSat schedule_other reading
[EPGC] abort non avail viasat reading
[EPGC] nownext finished(1395941381)
[EPGC] schedule finished(1395941384)
[EPGC] stop caching events(1395941384)
[EPGC] next update in 60 min
screen cleanup!
screen cleanup!
screen cleanup!
[Webinterface.HTTPAuthResource.getChildWithDefault] !!! unauthorized !!!
[HTTPRootResource].isSessionValid :: created session with id '0' for client with token 'fe7b18998a02d67d9fc2edc050237ea341e5f2e4'
screen cleanup!
ERROR reading PES (fd=57) - Value too large for defined data type
poll: unhandled POLLERR/HUP/NVAL for fd 57(8)
screen cleanup!
screen cleanup!
screen cleanup!
ServiceList handle command
screen cleanup!
screen cleanup!
screen cleanup!
[WebComponents.EPG] setting command to '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.ED00.tv" ORDER BY bouquet'
[WebComponents.EPG] getting EPG NOW/NEXT 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.ED00.tv" ORDER BY bouquet
screen cleanup!
[SubServices].getSubservices called
SubServices is returning list [('1:0:1:445D:453:1:C00000:0:0:0:', 'ProSieben')]
screen cleanup!
screen cleanup!
VIDEO_GET_EVENT - ok
[__evVideoSizeChanged]
VIDEO_GET_EVENT - ok
unhandled DVBAPI Video Event 12
screen cleanup!
screen cleanup!




Gruß

rangerm
27.03.2014, 18:53
Pingulux Image 12118

Bestätige kein Streamen möglich.

Dimis
27.03.2014, 18:59
Hab eine Lösung gefunden..Siehe meine vorherige Nachricht! :D

Wer´s braucht:

santa
27.03.2014, 19:37
Da ist ne ipv6 Änderung herein gekommen, muss spacerat mal was dazu sagen

SpaceRat
27.03.2014, 23:35
Da ist ne ipv6 Änderung herein gekommen, muss spacerat mal was dazu sagen
Kann ich nichts Abschließendes zu sagen, dazu müßte ich wissen, ob der Kernel der betroffenen HDMU-Images IPv6 tauglich gebaut wurde ...

Die Situation ist die:


Meine IPv6-Änderung am Web-Interface ist "fail free", d.h. wenn dem Kernel IPv6 fehlt, dann versucht das Web-Interface auch nicht IPv6 zu benutzen, sondern fällt auf IPv4-only-Betrieb zurück.
Steht IPv6 zur Verfügung, dann wird es aber "automagisch" benutzt (Dual Stack mode, d.h. IPv4 und IPv6 gleichzeitig).
Das WebInterface kann dann IPv6 nutzen, wenn sowohl der Kernel als auch Python mit IPv6 gebaut wurden und Twisted neu genug ist (Version 12.x oder höher).
Alle drei Bedingungen sollten eigentlich in den aktuellen HDMU-Images erfüllt sein!
Die Änderung in inetd.conf hingegen:

8001 stream tcp6 nowait root /bin/streamproxy streamproxy
ist nicht "fail free", d.h. wenn dem Kernel IPv6 fehlt, dann gibt es auf Port 8001 gar keinen Listener (Weder IPv4 noch IPv6).
Gibt es aber im Kernel IPv6, dann reagiert der listener sowohl per IPv4 als auch per IPv6!



Es paßt aber nichts auf das Fehlerbild.
Ich habe nur eine Handvoll Zeilen im Web-Interface geändert und das Web-Interface selber funktioniert ja beim OP auch (Die Änderungen sind eben tatsächlich fail free). Wenn das Streaming für IPv6/Dual Stack (tcp6 in inetd.conf) konfiguriert wäre, der Kernel aber kein IPv6 hat, dann würde das Streaming gar nicht mehr gehen und sich nicht durch einen Austausch des Web-Interfaces gegen die alte Version beeindrucken lassen ...

Ich habe meine IPv6-Änderungen ja auch getestet, bevor ich sie auf die Welt losgelassen habe :)
Einzige Voraussetzung ist eben immer, daß folgende Annahmen zutreffen:
- Der Kernel hat IPv6
- Python ist mit IPv6 gebaut
- Python-Twisted ist Version 12.x oder höher (Ihr habt normal sogar 13.0.0)
- Es sind alle Änderungen eingebaut und nicht nur ein Teil: Wenn das Web-Interface z.B. IPv6-tauglich ist, die inetd.conf aber nicht "tcp6" sondern "tcp" enthält, dann funktioniert das Web-Interface, aber u.U. nicht das Streaming.

Für das Web-Interface alleine ist es sogar egal, wenn die Voraussetzungen nicht erfüllt sind, da es dann einfach auf IPv4-only zurückfällt.

Ich werde mir aber gleich auch mal die Generierung der Streaming-URL im WebInterface - an der ich nichts geändert habe - zu Gemüte führen, um zu sehen, ob da ein Teufel im Detail steckt. Momentan ist der Topf aber in Benutzung.

SpaceRat
28.03.2014, 03:45
Also ich kann das Problem (Auf meinem Topf) nicht nachvollziehen ...

Egal ob ich den DynDNS-Namen (1., Auflösbar nach IPv6 und IPv4) meines Topfes, dessen lokalen Namen aus dem Heimnetz (2., ebenfalls auflösbar nach IPv6 und IPv4) oder die lokale IPv4 (3.) benutze um das WebInterface aufzurufen, die stream.m3u enthält immer die korrekte URL zum Stream:
1. http://topf.<meindyndns.foo>:8001/1:0:1:2F1D:441:1:C00000:0:0:0:
2. http://topf:8001/1:0:1:6F47:445:1:C00000:0:0:0:
3. http://192.168.1.17:8001/1:0:1:4462:453:1:C00000:0:0:0:


Lediglich über die nackte IPv6-Adresse (4.) geht es nicht (Der Fehler liegt aber in Twisted - siehe Ticket (http://twistedmatrix.com/trac/ticket/6014) bzw. WebComponents), denn dann wird die Adresse nach dem ersten Doppelpunkt abgeschnitten:
4.
http://[2001:8001/1:0:1:25:F:85:C00000:0:0:0:

Da der OP eine nackte IPv4 zum Aufrufen des WebInterface genutzt hat:

VLC kann die MRL 'http://192.168.1.199:8001/1:0:1:445D:453:1:C00000:0:0:0:' nicht öffnen. Sehen Sie für Details im Fehlerprotokoll nach."
scheidet 4. als Ursache aus (4. dürfte eh äußerst selten auftreten, wer merkt sich IPv6s?).

In allen Fällen 1-3, beim OP liegt eigentlich auch Fall 3 vor, wurde der Stream auch einwandfrei abgespielt.


Auch das Log des OP sieht eher nach einem PEBKAC aus, wenn ich mal auf folgende Zeile schaue:
[Webinterface.HTTPAuthResource.getChildWithDefault] !!! unauthorized !!!

Sprich: Falscher Benutzer/Kennwort beim Login.

Laut dem Rest des Logs wurde ja ProSieben korrekt getuned etc. pp. ...

Dann gibt es da noch eine Kleinigkeit, die gegen IPv6 als Ursache spricht:
Der streamproxy kann gar kein IPv6!
Nur weil er über inetd aufgerufen wird und somit einen fertigen socket überreicht bekommt, ist er überhaupt von außen per IPv6 erreichbar, intern nutzt er dann so oder so wieder IPv4 um sich den Stream zu holen.
Auszug aus netstat -an:

tcp 0 0 127.0.0.1:58537 127.0.0.1:80 ESTABLISHED
tcp 0 0 127.0.0.1:58538 127.0.0.1:80 ESTABLISHED
und das sogar dann, wenn der Zugriff auf den Streamproxy selber per IPv6 erfolgt:

tcp 0 77924 2001:db8:affe:0:23e:9eff:fe56:c0c0:8001 2001:db8:affe:0:96de:80ff:fe67:c0c0:4811 ESTABLISHED
tcp 0 88792 2001:db8:affe:0:23e:9eff:fe56:c0co:8001 2001:db8:affe:0:96de:80ff:fe67:c0c0:4844 ESTABLISHED



Für mich sieht im Moment also alles danach aus, als habe der OP einfach nur das Anmeldefenster im vlc weggeklickt.
Mit dem vlc-Plugin direkt im Browser habe ich es nicht ausprobiert, weil ich dieses entfernt habe, da es eine Sicherheitslücke enthält, von der der Autor auch nicht Willens ist, sie zu fixen (http://secunia.com/blog/shooting-the-messenger-372).

D.h. es gibt nun drei Möglochkeiten:
1. Der Benutzer hat einfach nur vergessen, sein Login/Passwort einzugeben
2. Irgendwas anderes im Spark-Image ist verkorkst (Weshalb ich es auf meinem Topf nicht nachvollziehen kann) und es äußert sich nur im WebInterface
3. Die Anmeldepflicht ist neu, d.h. es gab vorher gar keine Aufforderung zur Eingabe von Benutzername und Kennwort ...

In den Fällen 2 und 3 bitte ich um Mithilfe bei der Fehlersuche.

Ich brauche die Ausgaben aller dieser per telnet oder ssh auf der Box auszuführenden Befehle (Jede Zeile ein Befehl):

cat /etc/enigma2/settings | grep -i Web
[ -e /proc/net/if_inet6 ] && echo "IPv6 vorhanden"
python -c 'import twisted,socket; print socket.has_ipv6; print twisted.version'

sowie die Ausgaben von


netstat -lnt
netstat -an
einmal mit dem alten WebIf (Hier aus dem Thead) und einmal mit dem originalen aus dem Image und zwar während etwas gestreamt wird bzw. der Versuch dazu unternommen wird.

- - - Aktualisiert - - -

PS: Was auch praktisch wäre, wäre ein Gegentest mit dem richtigen VLC, falls es bisher mit dem vlc-Browser-Plugin ("Web-TV") versucht wurde, im Idealfall auch altes WebIf im Vergleich zum IPv6-gepatchten ...

Dimis
28.03.2014, 10:25
Ich kann es nicht nachvollziehen ob die sache mit der IPv4 oder IPv6 richtig implementiert worden ist.
Fakt ist das es mit dem Pingulux nicht geht, es geht aber mit dem alten WebInterface.
Login für das Streamen habe ich nie gebraucht, ausser natürlich nur fürs WebInterface.

Hier ein Log mit v12118 und altes WebInterface wo das Streaming funktioniert:


[HTTPRootResource].isSessionValid :: created session with id '0' for client with token '8e4aaa3fa6791c0484f390e20cfa8835d0049b26' screen cleanup!
ERROR reading PES (fd=61) - Value too large for defined data type
poll: unhandled POLLERR/HUP/NVAL for fd 61(8)
screen cleanup!
screen cleanup!
screen cleanup!
ServiceList handle command
screen cleanup!
screen cleanup!
screen cleanup!
[WebComponents.EPG] setting command to '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.ED00.tv" ORDER BY bouquet'
[WebComponents.EPG] getting EPG NOW/NEXT 1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.ED00.tv" ORDER BY bouquet
screen cleanup!
[SubServices].getSubservices called
SubServices is returning list [('1:0:1:445D:453:1:C00000:0:0:0:', 'ProSieben')]
screen cleanup!
screen cleanup!
[WebInterface.plugin.isAuthenticated] Streaming auth is disabled bypassing authcheck because host is '127.0.0.1'
[HTTPRootResource].isSessionValid :: created session with id '0' for client with token '0a09a25d4b07f1c30223d24fe5b33c67eb3e6cad'
StreamService handle command 1:0:1:445D:453:1:C00000:0:0:0:
StreamService execBegin 1:0:1:445D:453:1:C00000:0:0:0:
recording service: <enigma.eServiceReference; proxy of <Swig Object of type 'eServiceReference *' at 0x25c2a40> >
use cached_channel
allocate Channel: res 0
[eDVBCIInterfaces] addPMTHandler 1:0:1:445D:453:1:C00000:0:0:0:
RECORD service event 5
RECORD event for us: <enigma.iRecordableServicePtr; proxy of <Swig Object of type 'ePtr< iRecordableService > *' at 0x27cc4d0> >
[eDVBCAService] add demux 0 to slot 1 service 1:0:1:445D:453:1:C00000:0:0:0:
RECORD service event 6
tuned..
RECORD event for us: <enigma.iRecordableServicePtr; proxy of <Swig Object of type 'ePtr< iRecordableService > *' at 0x27cc4d0> >
RECORD event for us: <enigma.iRecordableServicePtr; proxy of <Swig Object of type 'ePtr< iRecordableService > *' at 0x27cc4d0> >
start streaming...
RECORD event for us: <enigma.iRecordableServicePtr; proxy of <Swig Object of type 'ePtr< iRecordableService > *' at 0x27cc4d0> >
use pmtpid 0061 for service_id 445d
RECORD service event 5
start streaming...
RECORD event for us: <enigma.iRecordableServicePtr; proxy of <Swig Object of type 'ePtr< iRecordableService > *' at 0x27ccde8> >
RECORD event for us: <enigma.iRecordableServicePtr; proxy of <Swig Object of type 'ePtr< iRecordableService > *' at 0x27ccde8> >
[eDVBServiceRecord] now running: How I Met Your Mother (1725 seconds)
RECORD event for us: <enigma.iRecordableServicePtr; proxy of <Swig Object of type 'ePtr< iRecordableService > *' at 0x25c2b90> >
RECORD service event 11
screen cleanup!
StreamService execEnd 1:0:1:445D:453:1:C00000:0:0:0:
stop recording!
[eDVBServiceRecord] saving cutlist failed because tstools failed
[eDVBCAService] free slot 0 demux 0 for service 1:0:1:445D:453:1:C00000:0:0:0:




Hier die Befehle:


-----====== HDMU 12118 enigma2 Git 5710 ======-----




BusyBox v1.22.1 (2014-03-25 22:49:28 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.

SPARK:~# cat /etc/enigma2/settings | grep -i Web
config.plugins.Webinterface.http.port=82
config.plugins.Webinterface.http.auth=true
SPARK:~# [ -e /proc/net/if_inet6 ] && echo "IPv6 vorhanden"
IPv6 vorhanden
SPARK:~# python -c 'import twisted,socket; print socket.has_ipv6; print twisted.
version'
True
[twisted, version 13.0.0]
SPARK:~# netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:12000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:12001 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:12002 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:12003 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:82 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:36314 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
tcp 0 0 :::8001 :::* LISTEN
tcp 0 0 :::21 :::* LISTEN
tcp 0 0 :::23 :::* LISTEN
SPARK:~# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:12000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:12001 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:12002 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:12003 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6002 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:82 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:36314 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.199:38688 188.132.241.141:18588 ESTABLISHED
tcp 0 0 192.168.1.199:82 192.168.1.202:56568 ESTABLISHED
tcp 0 0 192.168.1.199:82 192.168.1.202:56569 ESTABLISHED
tcp 0 0 127.0.0.1:80 127.0.0.1:39544 ESTABLISHED
tcp 0 0 192.168.1.199:43812 84.133.168.222:11000 ESTABLISHED
tcp 23288 0 192.168.1.199:50835 37.202.3.120:80 CLOSE_WAIT
tcp 0 0 127.0.0.1:39544 127.0.0.1:80 ESTABLISHED
tcp 0 0 :::8001 :::* LISTEN
tcp 0 0 :::21 :::* LISTEN
tcp 0 0 :::23 :::* LISTEN
tcp 0 0 ::ffff:192.168.1.199:23 ::ffff:192.168.1.202:55956 ESTABLISH
ED
tcp 0 0 ::ffff:192.168.1.199:23 ::ffff:192.168.1.202:55937 ESTABLISH
ED
tcp 0 0 ::ffff:192.168.1.199:23 ::ffff:192.168.1.202:55949 ESTABLISH
ED
tcp 0 0 ::ffff:192.168.1.199:21 ::ffff:192.168.1.202:55950 ESTABLISH
ED
tcp 0 0 ::ffff:192.168.1.199:8001 ::ffff:192.168.1.202:56718 ESTABLI
SHED
tcp 0 399 ::ffff:192.168.1.199:23 ::ffff:192.168.1.202:56628 ESTABLISH
ED
udp 0 0 192.168.1.199:5353 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 1647 /tmp/camd.socket
unix 2 [ ACC ] STREAM LISTENING 2189 /tmp/.listen.camd.socke
t
unix 2 [ ACC ] STREAM LISTENING 2226 /tmp/mmi.socket
unix 2 [ ACC ] STREAM LISTENING 2232 /tmp/camd.socket
unix 2 [ ACC ] STREAM LISTENING 2234 /tmp/hotplug.socket
unix 2 [ ACC ] STREAM LISTENING 1482 /tmp/camd.socket
unix 2 [ ACC ] STREAM LISTENING 1102 /var/run/lirc/lircd
unix 3 [ ] STREAM CONNECTED 2391 /tmp/camd.socket
unix 3 [ ] STREAM CONNECTED 2390
unix 3 [ ] STREAM CONNECTED 1818
unix 3 [ ] STREAM CONNECTED 1817
unix 3 [ ] STREAM CONNECTED 1635
unix 3 [ ] STREAM CONNECTED 1634
unix 3 [ ] STREAM CONNECTED 1120 /var/run/lirc/lircd
unix 3 [ ] STREAM CONNECTED 1119
SPARK:~#

SpaceRat
28.03.2014, 10:49
Ich kann es nicht nachvollziehen ob die sache mit der IPv4 oder IPv6 richtig implementiert worden ist.
Ist sie :)


Login für das Streamen habe ich nie gebraucht, ausser natürlich nur fürs WebInterface.
Ok ...


Hier ein Log mit v12118 und altes WebInterface wo das Streaming funktioniert:

[WebInterface.plugin.isAuthenticated] Streaming auth is disabled bypassing authcheck because host is '127.0.0.1'
Damit haben wir den Übeltäter wahrscheinlich sogar schon:
Dadurch, daß das WebInterface abwärtskompatible IPv6-Sockets nutzt, erscheinen IPv4-Adressen nicht mehr in IPv4-Notation (127.0.0.1, 192.168.1.199, ....), sondern in hybrider IPv6-Notation (::ffff:127.0.0.1, ::ffff:192.168.1.199, ...).
Soweit die schlechte Nachricht.

Die gute ist: Das sollte in den Griff zu kriegen sein.



Hier die Befehle:
-----====== HDMU 12118 enigma2 Git 5710 ======-----
IPv6 vorhanden
True
[twisted, version 13.0.0]
Das Image ist "fehlerfrei".

SpaceRat
28.03.2014, 12:13
Der Patch, für die, die die Quellen haben ;) :

--- D:\Entwicklung\HDMUPlugins\Extensions\WebInterface/plugin.py 2013-10-13 13:42:43.000000000 +0200
+++ T:\usr\lib\enigma2\python\Plugins\Extensions\WebIn terface/plugin.py 2014-03-28 11:40:12.213721400 +0100
@@ -386,7 +392,7 @@
host = request.getHost().host
#If streamauth is disabled allow all acces from localhost
if not config.plugins.Webinterface.streamauth.value:
- if( host == "127.0.0.1" or host == "localhost" ):
+ if( host == "::ffff:127.0.0.1" or host == "127.0.0.1" or host == "localhost" ):
print "[WebInterface.plugin.isAuthenticated] Streaming auth is disabled bypassing authcheck because host is '%s'" %host
return True

--- D:\Entwicklung\HDMUPlugins\Extensions\WebInterface/WebComponents/Sources/RequestData.py 2013-10-13 13:42:43.000000000 +0200
+++ T:\usr\lib\enigma2\python\Plugins\Extensions\WebIn terface/WebComponents/Sources/RequestData.py 2014-03-28 11:39:18.416916900 +0100
@@ -1,4 +1,5 @@
from Components.Sources.Source import Source
+from twisted.web.http import Request

class RequestData(Source):
"""
@@ -24,7 +25,12 @@

def getHTML(self, id):
if self.what is self.HOST:
- return self.request.getRequestHostname()
+ host = self.request.getHeader(b'host')
+ if host:
+ if host[0]=='[':
+ return host.split(']',1)[0] + "]"
+ return host.split(':', 1)[0].encode('ascii')
+ return self.request.getHost().host.encode('ascii')
elif self.what is self.PORT:
return str(self.request.host.port)
elif self.what is self.METHOD:


Und die beiden geänderten Dateien des WebInterfaces zum Drüberbügeln: 6881

- - - Aktualisiert - - -

Nachtrag:

Der Fix behebt direkt beide Probleme:
1. die unerwünschte Anmeldepflicht
2. Bei Fall 4 (Nackte IPv6) wurde die IP-Adresse abgeschnitten

- - - Aktualisiert - - -

Nachtrag 2:
Der Patch ist gegen die aktuelle Fassung >12084, also bereits mit IPv6!

Für die beiden Dateien aus dem WebIf-Fix.rar ist es egal, ob das WebIf aus 12084 oder später stammt, da der Fix eh in denselben Dateien ist, die auch für IPv6 geändert werden mussten.

SpaceRat
28.03.2014, 13:52
@santa: Reicht der Patch so, oder soll ich ihn nochmal per PN schicken?

santa
28.03.2014, 14:57
Schau ich mir heute Abend oder morgen an, bin nur per Handy on. Schick mal per pn, dann muss ich nachher nicht suchen.

santa
28.03.2014, 22:10
ist eingecheckt, danke