from Plugins.Plugin import PluginDescriptor
+from twisted.internet import reactor
+from twisted.web2 import server, channel, static, resource, stream, http_headers, responsecode, http
+from twisted.python import util
+import webif
+
sessions = [ ]
# set DEBUG to True, if twisted should write logoutput to a file.
# return self.authenticate(req), seg
PASSWORDPROTECTION = False
PASSWORDPROTECTION_pwd = "root"
-PASSWORDPROTECTION_mode = "md5-sess";
+PASSWORDPROTECTION_mode = "sha";
# twisted supports more than sha ('md5','md5-sess','sha')
# but only sha works for me, but IE
# sha, Firefox=ok, Opera=ok, wget=ok, ie=not ok
# md5 same as md5-sess
def startWebserver():
- from twisted.internet import reactor
- from twisted.web2 import server, channel, static, resource, stream, http_headers, responsecode, http
- from twisted.python import util
- import webif
-
class ScreenPage(resource.Resource):
def __init__(self, path):
self.path = path
site = server.Site(Toplevel())
else:
from twisted.cred.portal import Portal
- from twisted.cred import checkers
- from twisted.web2.auth import digest, basic, wrapper
- portal = Portal(HTTPAuthRealm())
- checker = checkers.InMemoryUsernamePasswordDatabaseDontUse(root=PASSWORDPROTECTION_pwd)
- portal.registerChecker(checker)
- root = wrapper.HTTPAuthResource(Toplevel(),
+ from twisted.cred import checkers
+ from twisted.web2.auth import digest, basic, wrapper
+ from zope.interface import Interface, implements
+ from twisted.cred import portal
+ class IHTTPUser(Interface):
+ pass
+
+ class HTTPUser(object):
+ implements(IHTTPUser)
+
+ class HTTPAuthRealm(object):
+ implements(portal.IRealm)
+ def requestAvatar(self, avatarId, mind, *interfaces):
+ if IHTTPUser in interfaces:
+ return IHTTPUser, HTTPUser()
+ raise NotImplementedError("Only IHTTPUser interface is supported")
+
+ portal = Portal(HTTPAuthRealm())
+ checker = checkers.InMemoryUsernamePasswordDatabaseDontUse(root=PASSWORDPROTECTION_pwd)
+ portal.registerChecker(checker)
+ root = wrapper.HTTPAuthResource(Toplevel(),
(basic.BasicCredentialFactory('DM7025'),digest.DigestCredentialFactory(PASSWORDPROTECTION_mode,'DM7025')),
portal, (IHTTPUser,))
- site = server.Site(root)
+ site = server.Site(root)
reactor.listenTCP(80, channel.HTTPFactory(site))
# start classes for PASSWORDPROTECTION
-from zope.interface import Interface, implements
-from twisted.cred import portal
-class IHTTPUser(Interface):
- pass
-
-class HTTPUser(object):
- implements(IHTTPUser)
-
-class HTTPAuthRealm(object):
- implements(portal.IRealm)
-
- def requestAvatar(self, avatarId, mind, *interfaces):
- if IHTTPUser in interfaces:
- return IHTTPUser, HTTPUser()
-
- raise NotImplementedError("Only IHTTPUser interface is supported")
# end classes for PASSWORDPROTECTION
def autostart(reason, **kwargs):