From 5da23d745aaad7200ce9df4a0e703e1558157243 Mon Sep 17 00:00:00 2001 From: Robert Resch Date: Wed, 14 Aug 2024 11:05:26 +0200 Subject: [PATCH] Create ssl default context only if needed (#557) --- deebot_client/mqtt_client.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/deebot_client/mqtt_client.py b/deebot_client/mqtt_client.py index edc61d30..ee76e983 100644 --- a/deebot_client/mqtt_client.py +++ b/deebot_client/mqtt_client.py @@ -69,16 +69,17 @@ def create_mqtt_config( ) -> MqttConfiguration: """Create configuration.""" continent_postfix = get_continent_url_postfix(country.upper()) + ssl_ctx = None if ssl_context is UNDEFINED else ssl_context if override_mqtt_url: url = urlparse(override_mqtt_url) match url.scheme: case "mqtt": default_port = 1883 - ssl_ctx = None case "mqtts": default_port = 8883 - ssl_ctx = ssl.create_default_context() + if ssl_context is UNDEFINED: + ssl_ctx = ssl.create_default_context() case _: raise MqttError("Invalid scheme. Expecting mqtt or mqtts") @@ -90,12 +91,10 @@ def create_mqtt_config( else: hostname = f"mq{continent_postfix}.ecouser.net" port = 443 - ssl_ctx = ssl.create_default_context() - ssl_ctx.check_hostname = False - ssl_ctx.verify_mode = ssl.CERT_NONE - - if ssl_context is not UNDEFINED: - ssl_ctx = ssl_context + if ssl_context is UNDEFINED: + ssl_ctx = ssl.create_default_context() + ssl_ctx.check_hostname = False + ssl_ctx.verify_mode = ssl.CERT_NONE return MqttConfiguration( hostname=hostname,