Remove dependency to pyOpenSSL

review598006
This commit is contained in:
Cédric Krier
2012-12-13 19:04:52 +01:00
parent d6b453a516
commit 1a362c3879
5 changed files with 18 additions and 36 deletions
-1
View File
@@ -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'],
+4 -6
View File
@@ -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()
+8 -19
View File
@@ -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)
+3 -5
View File
@@ -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)
+3 -5
View File
@@ -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()