2009-02-11 20:37:24 +01:00
|
|
|
#This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
|
|
|
#this repository contains the full copyright notices and license terms.
|
2009-03-20 16:47:31 +01:00
|
|
|
from trytond.config import CONFIG
|
2009-02-11 20:37:24 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|