diff --git a/lib/socks.py b/lib/socks.py index fef9498..55d5715 100644 --- a/lib/socks.py +++ b/lib/socks.py @@ -224,7 +224,7 @@ class SocksProxy(util.LoggedClass): self.logger.info('detected proxy at {} ({})' .format(util.address_string(paddress), self.ip_addr)) - async def create_connection(self, protocol_factory, host, port, ssl=None): + async def create_connection(self, protocol_factory, host, port, **kwargs): '''All arguments are as to asyncio's create_connection method.''' try: sock = await self.connect_via_proxy(host, port) @@ -236,6 +236,6 @@ class SocksProxy(util.LoggedClass): self.set_lost() raise - hostname = host if ssl else None + hostname = host if kwargs.get('ssl') else None return await self.loop.create_connection( - protocol_factory, ssl=ssl, sock=sock, server_hostname=hostname) + protocol_factory, sock=sock, server_hostname=hostname, **kwargs) diff --git a/server/peers.py b/server/peers.py index 09afff1..89698d1 100644 --- a/server/peers.py +++ b/server/peers.py @@ -560,11 +560,12 @@ class PeerManager(util.LoggedClass): create_connection = self.proxy.create_connection else: create_connection = self.loop.create_connection - - local_addr = (self.env.host, None) if self.env.host else None + + local_addr = (self.env.host, None) if self.env.host else None protocol_factory = partial(PeerSession, peer, self, kind) - coro = create_connection(protocol_factory, peer.host, port, ssl=sslc, local_addr=local_addr) + coro = create_connection(protocol_factory, peer.host, port, ssl=sslc, + local_addr=local_addr) callback = partial(self.connection_done, peer, port_pairs) self.ensure_future(coro, callback)