From 899159508c24355903e37b31a009168a0129ca0d Mon Sep 17 00:00:00 2001 From: RaNaN Date: Fri, 11 Feb 2011 21:30:41 +0100 Subject: Thrift with SSL --- module/remote/ThriftBackend.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'module/remote/ThriftBackend.py') diff --git a/module/remote/ThriftBackend.py b/module/remote/ThriftBackend.py index d7e59f7fa..ab262cf76 100644 --- a/module/remote/ThriftBackend.py +++ b/module/remote/ThriftBackend.py @@ -13,8 +13,10 @@ You should have received a copy of the GNU General Public License along with this program; if not, see . - @author: mkaay + @author: mkaay, RaNaN """ +from os.path import exists + from module.remote.RemoteManager import BackendBase from thriftbackend.Handler import Handler @@ -23,19 +25,28 @@ from thriftbackend.Protocol import ProtocolFactory from thriftbackend.Socket import ServerSocket from thrift.transport import TTransport - from thrift.server import TServer class ThriftBackend(BackendBase): def setup(self): handler = Handler(self) processor = Processor(handler) - transport = ServerSocket(7228) + + key = None + cert = None + + if self.core.config['ssl']['activated']: + if exists(self.core.config['ssl']['cert']) and exists(self.core.config['ssl']['key']): + self.core.log.info(_("Using SSL ThriftBackend")) + key = self.core.config['ssl']['key'] + cert = self.core.config['ssl']['cert'] + + transport = ServerSocket(7228, self.core.config["remote"]["listenaddr"], key, cert) tfactory = TTransport.TBufferedTransportFactory() pfactory = ProtocolFactory() - self.server = TServer.TSimpleServer(processor, transport, tfactory, pfactory) + self.server = TServer.TThreadedServer(processor, transport, tfactory, pfactory) #self.server = TNonblockingServer.TNonblockingServer(processor, transport, tfactory, pfactory) #server = TServer.TThreadPoolServer(processor, transport, tfactory, pfactory) -- cgit v1.2.3