@@ -265,7 +265,7 @@ async def _should_drop_peer(self, peer):
265265
266266 kwargs = {'family' : family }
267267 if kind == 'SSL' :
268- kwargs ['ssl' ] = ssl . SSLContext ( ssl . PROTOCOL_TLS )
268+ kwargs ['ssl' ] = True
269269
270270 if self .env .force_proxy or peer .is_tor :
271271 if not self .proxy :
@@ -283,10 +283,18 @@ async def _should_drop_peer(self, peer):
283283
284284 peer_text = f'[{ peer } :{ port } { kind } ]'
285285 try :
286- async with connect_rs (peer .host , port , session_factory = PeerSession ,
287- ** kwargs ) as session :
288- session .sent_request_timeout = 120 if peer .is_tor else 30
289- await self ._verify_peer (session , peer )
286+ try :
287+ async with connect_rs (peer .host , port , session_factory = PeerSession ,
288+ ** kwargs ) as session :
289+ session .sent_request_timeout = 120 if peer .is_tor else 30
290+ await self ._verify_peer (session , peer )
291+ except ssl .SSLCertVerificationError as e :
292+ self .logger .warn (e )
293+ kwargs ['ssl' ] = ssl .SSLContext (ssl .PROTOCOL_TLS )
294+ async with connect_rs (peer .host , port , session_factory = PeerSession ,
295+ ** kwargs ) as session :
296+ session .sent_request_timeout = 120 if peer .is_tor else 30
297+ await self ._verify_peer (session , peer )
290298 is_good = True
291299 break
292300 except BadPeerError as e :
0 commit comments