commit e65ce96f9d9080fcb46fedf3400007a6cd73abfc
parent a6dd17bfef29bd7b713af4e74063b666c29dfe8d
Author: SomberNight <somber.night@protonmail.com>
Date: Sun, 12 Jan 2020 04:29:39 +0100
interface: better error msg for main server re SSL cert issues
(logger.warning is shown even without -v, if there is a terminal)
closes #5884
Diffstat:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/electrum/interface.py b/electrum/interface.py
@@ -382,7 +382,13 @@ class Interface(Logger):
try:
await self.open_session(ssl_context)
except (asyncio.CancelledError, ConnectError, aiorpcx.socks.SOCKSError) as e:
- self.logger.info(f'disconnecting due to: {repr(e)}')
+ # make SSL errors for main interface more visible (to help servers ops debug cert pinning issues)
+ if (isinstance(e, ConnectError) and isinstance(e.__cause__, ssl.SSLError)
+ and self.is_main_server() and not self.network.auto_connect):
+ self.logger.warning(f'Cannot connect to main server due to SSL error '
+ f'(maybe cert changed compared to "{self.cert_path}"). Exc: {repr(e)}')
+ else:
+ self.logger.info(f'disconnecting due to: {repr(e)}')
return
def _mark_ready(self) -> None: