Remove dependency to pyOpenSSL
review598006
This commit is contained in:
@@ -66,7 +66,6 @@ setup(name=PACKAGE,
|
||||
'MySQL': ['MySQL-python'],
|
||||
'WebDAV': ['PyWebDAV >= 0.9.8'],
|
||||
'unoconv': ['unoconv'],
|
||||
'SSL': ['pyOpenSSL'],
|
||||
'graphviz': ['pydot'],
|
||||
'timezone': ['pytz'],
|
||||
'simplejson': ['simplejson'],
|
||||
|
||||
@@ -255,10 +255,8 @@ class SimpleJSONRPCRequestHandler(GZipRequestHandlerMixin,
|
||||
class SecureJSONRPCRequestHandler(SimpleJSONRPCRequestHandler):
|
||||
|
||||
def setup(self):
|
||||
self.server.handlers.add(self)
|
||||
self.connection = SSLSocket(self.request)
|
||||
self.rfile = socket._fileobject(self.request, "rb", self.rbufsize)
|
||||
self.wfile = socket._fileobject(self.request, "wb", self.wbufsize)
|
||||
self.request = SSLSocket(self.request)
|
||||
SimpleJSONRPCRequestHandler.setup(self)
|
||||
|
||||
|
||||
class SimpleJSONRPCServer(SocketServer.TCPServer,
|
||||
@@ -343,8 +341,8 @@ class SecureThreadedJSONRPCServer(SimpleThreadedJSONRPCServer):
|
||||
def __init__(self, server_address, HandlerClass, logRequests=1):
|
||||
SimpleThreadedJSONRPCServer.__init__(self, server_address,
|
||||
HandlerClass, logRequests)
|
||||
self.socket = SSLSocket(socket.socket(self.address_family,
|
||||
self.socket_type))
|
||||
self.socket = socket.socket(self.address_family,
|
||||
self.socket_type)
|
||||
self.server_bind()
|
||||
self.server_activate()
|
||||
|
||||
|
||||
@@ -3,22 +3,11 @@
|
||||
from trytond.config import CONFIG
|
||||
|
||||
|
||||
class SSLSocket(object):
|
||||
|
||||
def __init__(self, socket):
|
||||
if not hasattr(socket, 'sock_shutdown'):
|
||||
from OpenSSL import SSL
|
||||
ctx = SSL.Context(SSL.SSLv23_METHOD)
|
||||
ctx.use_privatekey_file(CONFIG['privatekey'])
|
||||
ctx.use_certificate_file(CONFIG['certificate'])
|
||||
self.socket = SSL.Connection(ctx, socket)
|
||||
else:
|
||||
self.socket = socket
|
||||
|
||||
def shutdown(self, how):
|
||||
return self.socket.sock_shutdown(how)
|
||||
|
||||
def __getattr__(self, name):
|
||||
if name == 'shutdown':
|
||||
return self.shutdown
|
||||
return getattr(self.socket, name)
|
||||
def SSLSocket(socket):
|
||||
# Let the import error raise only when used
|
||||
import ssl
|
||||
return ssl.wrap_socket(socket,
|
||||
server_side=True,
|
||||
certfile=CONFIG['certificate'],
|
||||
keyfile=CONFIG['privatekey'],
|
||||
ssl_version=ssl.PROTOCOL_SSLv23)
|
||||
|
||||
@@ -88,8 +88,7 @@ class SecureThreadedHTTPServer(BaseThreadedHTTPServer):
|
||||
|
||||
def __init__(self, server_address, HandlerClass):
|
||||
BaseThreadedHTTPServer.__init__(self, server_address, HandlerClass)
|
||||
self.socket = SSLSocket(socket.socket(self.address_family,
|
||||
self.socket_type))
|
||||
self.socket = socket.socket(self.address_family, self.socket_type)
|
||||
self.server_bind()
|
||||
self.server_activate()
|
||||
|
||||
@@ -593,6 +592,5 @@ class WebDAVAuthRequestHandler(WebDAVServer.DAVRequestHandler):
|
||||
class SecureWebDAVAuthRequestHandler(WebDAVAuthRequestHandler):
|
||||
|
||||
def setup(self):
|
||||
self.connection = SSLSocket(self.request)
|
||||
self.rfile = socket._fileobject(self.request, "rb", self.rbufsize)
|
||||
self.wfile = socket._fileobject(self.request, "wb", self.wbufsize)
|
||||
self.request = SSLSocket(self.request)
|
||||
WebDAVAuthRequestHandler.setup(self)
|
||||
|
||||
@@ -179,9 +179,8 @@ class SimpleXMLRPCRequestHandler(GZipRequestHandlerMixin,
|
||||
class SecureXMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
|
||||
|
||||
def setup(self):
|
||||
self.connection = SSLSocket(self.request)
|
||||
self.rfile = socket._fileobject(self.request, "rb", self.rbufsize)
|
||||
self.wfile = socket._fileobject(self.request, "wb", self.wbufsize)
|
||||
self.request = SSLSocket(self.request)
|
||||
SimpleXMLRPCRequestHandler.setup(self)
|
||||
|
||||
|
||||
class SimpleThreadedXMLRPCServer(SocketServer.ThreadingMixIn,
|
||||
@@ -228,8 +227,7 @@ class SecureThreadedXMLRPCServer(SimpleThreadedXMLRPCServer):
|
||||
def __init__(self, server_address, HandlerClass, logRequests=1):
|
||||
SimpleThreadedXMLRPCServer.__init__(self, server_address, HandlerClass,
|
||||
logRequests)
|
||||
self.socket = SSLSocket(socket.socket(self.address_family,
|
||||
self.socket_type))
|
||||
self.socket = socket.socket(self.address_family, self.socket_type)
|
||||
self.server_bind()
|
||||
self.server_activate()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user