Hi ich bins nochmal .
Mir ist aufgefallen das Python auf der Dream ohne IPv6 gebaut wurde. Könnte dies vll beim nächsten Experimental mitgebaut werden ? Es ist immerhin nur ein Patch von einigen wenigen Zeilen was ja wirklich nicht zuviel verlangt ist da es ja wohl kaum ein Aufwand ist. Hier ist der Link zum Patch : Klick
Das ist eigentlich nicht der ganze Patch ...
./configure hat immer die Macke, daß es beim Cross-Compilen viele Checks nicht durchführen kann, u.a. auch den, ob die Zielplattform "buggy_getaddrinfo" hat.
Der eigentliche Patch ist dieser hier: http://lists.busybox.net/piper…ot/2012-April/052896.html
Ohne diesen Patch führt --enable-ipv6 zu einem Fehler beim Cross-Kompilieren, er war aber im max-tdt sogar schon drin, so daß dort wirklich nur noch --enable-ipv6 nötig war.
Nichtsdestotrotz ist es ein Klacks, Python mit IPv6-Support zu kompilieren und es kann auch zu keinen Wechselwirkungen kommen, weil man für IPv6 auch immer mit AF_INET6, [::], etc. pp. programmieren muß, d.h. ein Plugin, welches nicht für IPv6 umgeschrieben wird, nutzt es somit auch nicht und kann deshalb auch nicht daran kaputtgehen.
Das hier ist übrigens der Patch für das old Webif, um es IPv6-tauglich zu machen, ursprünglich extra für HDMU vom OpenWebif backported :
diff -Nur Extensions.old/WebInterface/plugin.py Extensions/WebInterface/plugin.py--- Extensions.old/WebInterface/plugin.py 2013-10-13 13:42:43.000000000 +0200+++ Extensions/WebInterface/plugin.py 2014-04-16 19:13:21.995689400 +0200@@ -10,14 +10,14 @@ from WebChilds.Toplevel import getToplevel from Tools.HardwareInfo import HardwareInfo -from Tools.Directories import copyfile, resolveFilename, SCOPE_PLUGINS, SCOPE_CONFIG+from Tools.Directories import copyfile, resolveFilename, SCOPE_PLUGINS, SCOPE_CONFIG, fileExists from twisted.internet import reactor, ssl from twisted.internet.error import CannotListenError-from twisted.web import server, http, util, static, resource+from twisted.web import server, http, util, static, resource, version from zope.interface import Interface, implements-from socket import gethostname as socket_gethostname+from socket import gethostname as socket_gethostname, has_ipv6 from OpenSSL import SSL, crypto from time import gmtime from os.path import isfile as os_isfile, exists as os_exists@@ -239,6 +239,12 @@ root = HTTPRootResource(toplevel) site = server.Site(root) + if has_ipv6 and fileExists('/proc/net/if_inet6') and version.major >= 12:+ if ipaddress == '0.0.0.0':+ ipaddress='::'+ elif ipaddress == '127.0.0.1':+ ipaddress='::1'+ if usessl: ctx = ChainedOpenSSLContextFactory(KEY_FILE, CERT_FILE) try:@@ -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 diff -Nur Extensions.old/WebInterface/WebComponents/Sources/RequestData.py Extensions/WebInterface/WebComponents/Sources/RequestData.py--- Extensions.old/WebInterface/WebComponents/Sources/RequestData.py 2013-10-13 13:42:43.000000000 +0200+++ Extensions/WebInterface/WebComponents/Sources/RequestData.py 2014-04-16 19:12:01.453082600 +0200@@ -24,7 +24,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: