X-Git-Url: https://git.tokkee.org/?p=nagixsc.git;a=blobdiff_plain;f=nagixsc%2F__init__.py;fp=nagixsc%2F__init__.py;h=74c11fffc4690f3c15047f3f2ba431b5bf2a9581;hp=036fe7e16d33ce474909d327ef6782fece7b8510;hb=f31463596fd7379c42c6b746919f3e3bd88e4baa;hpb=69e267becfdb6498254eeb3805c502a30715dc48 diff --git a/nagixsc/__init__.py b/nagixsc/__init__.py index 036fe7e..74c11ff 100644 --- a/nagixsc/__init__.py +++ b/nagixsc/__init__.py @@ -574,21 +574,27 @@ def daemonize(pidfile=None, stdin='/dev/null', stdout='/dev/null', stderr='/dev/ class MyHTTPServer(SocketServer.ForkingMixIn, BaseHTTPServer.HTTPServer): def __init__(self, server_address, HandlerClass, ssl=False, sslpemfile=None): + SocketServer.BaseServer.__init__(self, server_address, HandlerClass) + if ssl: - # FIXME: SSL is in Py2.6 try: - from OpenSSL import SSL + import ssl + self.socket = ssl.wrap_socket(socket.socket(self.address_family, self.socket_type), keyfile=sslpemfile, certfile=sslpemfile) + except: - print 'No Python OpenSSL wrapper/bindings found!' - sys.exit(127) - - SocketServer.BaseServer.__init__(self, server_address, HandlerClass) - context = SSL.Context(SSL.SSLv23_METHOD) - context.use_privatekey_file (sslpemfile) - context.use_certificate_file(sslpemfile) - self.socket = SSL.Connection(context, socket.socket(self.address_family, self.socket_type)) + + try: + from OpenSSL import SSL + except: + print 'No Python SSL or OpenSSL wrapper/bindings found!' + sys.exit(127) + + context = SSL.Context(SSL.SSLv23_METHOD) + context.use_privatekey_file (sslpemfile) + context.use_certificate_file(sslpemfile) + self.socket = SSL.Connection(context, socket.socket(self.address_family, self.socket_type)) + else: - SocketServer.BaseServer.__init__(self, server_address, HandlerClass) self.socket = socket.socket(self.address_family, self.socket_type) self.server_bind()