Browse Source

Have proxy.create_connection use kwargs

Fixes #227
master
Neil Booth 7 years ago
parent
commit
fab3f5affe
  1. 6
      lib/socks.py
  2. 3
      server/peers.py

6
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)

3
server/peers.py

@ -564,7 +564,8 @@ class PeerManager(util.LoggedClass):
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)

Loading…
Cancel
Save