parent
ab62092afc
commit
fab3f5affe
@ -224,7 +224,7 @@ class SocksProxy(util.LoggedClass):
|
|||||||
self.logger.info('detected proxy at {} ({})'
|
self.logger.info('detected proxy at {} ({})'
|
||||||
.format(util.address_string(paddress), self.ip_addr))
|
.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.'''
|
'''All arguments are as to asyncio's create_connection method.'''
|
||||||
try:
|
try:
|
||||||
sock = await self.connect_via_proxy(host, port)
|
sock = await self.connect_via_proxy(host, port)
|
||||||
@ -236,6 +236,6 @@ class SocksProxy(util.LoggedClass):
|
|||||||
self.set_lost()
|
self.set_lost()
|
||||||
raise
|
raise
|
||||||
|
|
||||||
hostname = host if ssl else None
|
hostname = host if kwargs.get('ssl') else None
|
||||||
return await self.loop.create_connection(
|
return await self.loop.create_connection(
|
||||||
protocol_factory, ssl=ssl, sock=sock, server_hostname=hostname)
|
protocol_factory, sock=sock, server_hostname=hostname, **kwargs)
|
||||||
|
|||||||
@ -564,7 +564,8 @@ class PeerManager(util.LoggedClass):
|
|||||||
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)
|
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)
|
callback = partial(self.connection_done, peer, port_pairs)
|
||||||
self.ensure_future(coro, callback)
|
self.ensure_future(coro, callback)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user