From 637911ddfb4617f05b74bf2c31ca36e5cdbca041 Mon Sep 17 00:00:00 2001 From: James Hilliard Date: Tue, 13 Nov 2018 00:41:22 -0700 Subject: [PATCH 1/2] Replace unmaintained txsocksx with txtorcon. --- jmdaemon/jmdaemon/irc.py | 17 +++++++---------- jmdaemon/setup.py | 2 +- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/jmdaemon/jmdaemon/irc.py b/jmdaemon/jmdaemon/irc.py index 8379931..88eccc1 100644 --- a/jmdaemon/jmdaemon/irc.py +++ b/jmdaemon/jmdaemon/irc.py @@ -8,8 +8,7 @@ from twisted.internet.ssl import ClientContextFactory from twisted.words.protocols import irc from jmdaemon.message_channel import MessageChannel from jmbase.support import get_log, chunks -from txsocksx.client import SOCKS5ClientEndpoint -from txsocksx.tls import TLSWrapClientEndpoint +from txtorcon.socks import TorSocksEndpoint from jmdaemon.protocol import * MAX_PRIVMSG_LEN = 450 @@ -139,16 +138,14 @@ class IRCMessageChannel(MessageChannel): #str() casts needed else unicode error torEndpoint = TCP4ClientEndpoint(reactor, str(self.socks5_host), self.socks5_port) - ircEndpoint = SOCKS5ClientEndpoint(str(self.serverport[0]), - self.serverport[1], torEndpoint) if self.usessl.lower() == 'true': - ctx = ClientContextFactory() - tlsEndpoint = TLSWrapClientEndpoint(ctx, ircEndpoint) - myRS = ClientService(tlsEndpoint, factory) - myRS.startService() + use_tls = True else: - myRS = ClientService(ircEndpoint, factory) - myRS.startService() + use_tls = False + ircEndpoint = TorSocksEndpoint(torEndpoint, self.serverport[0], + self.serverport[1], tls=use_tls) + myRS = ClientService(ircEndpoint, factory) + myRS.startService() else: try: factory = TxIRCFactory(self) diff --git a/jmdaemon/setup.py b/jmdaemon/setup.py index 9230376..b62d4f7 100644 --- a/jmdaemon/setup.py +++ b/jmdaemon/setup.py @@ -9,5 +9,5 @@ setup(name='joinmarketdaemon', author_email='', license='GPL', packages=['jmdaemon'], - install_requires=['txsocksx', 'pyopenssl', 'libnacl', 'joinmarketbase==0.4.1'], + install_requires=['txtorcon', 'pyopenssl', 'libnacl', 'joinmarketbase==0.4.1'], zip_safe=False) From 2313a8af25195cc692324e8a66b473ca28a1a1cf Mon Sep 17 00:00:00 2001 From: James Hilliard Date: Wed, 14 Nov 2018 14:00:21 -0700 Subject: [PATCH 2/2] Pass ClientContextFactory to TorSocksEndpoint --- jmdaemon/jmdaemon/irc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jmdaemon/jmdaemon/irc.py b/jmdaemon/jmdaemon/irc.py index 88eccc1..9307d44 100644 --- a/jmdaemon/jmdaemon/irc.py +++ b/jmdaemon/jmdaemon/irc.py @@ -128,9 +128,10 @@ class IRCMessageChannel(MessageChannel): wlog('building irc') if self.tx_irc_client: raise Exception('irc already built') + if self.usessl.lower() == 'true': + ctx = ClientContextFactory() if self.usessl.lower() == 'true' and not self.socks5.lower() == 'true': factory = TxIRCFactory(self) - ctx = ClientContextFactory() reactor.connectSSL(self.serverport[0], self.serverport[1], factory, ctx) elif self.socks5.lower() == 'true': @@ -139,7 +140,7 @@ class IRCMessageChannel(MessageChannel): torEndpoint = TCP4ClientEndpoint(reactor, str(self.socks5_host), self.socks5_port) if self.usessl.lower() == 'true': - use_tls = True + use_tls = ctx else: use_tls = False ircEndpoint = TorSocksEndpoint(torEndpoint, self.serverport[0],