Skip to content

Commit 5da23d7

Browse files
authored
Create ssl default context only if needed (#557)
1 parent c7b8386 commit 5da23d7

1 file changed

Lines changed: 7 additions & 8 deletions

File tree

deebot_client/mqtt_client.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,16 +69,17 @@ def create_mqtt_config(
6969
) -> MqttConfiguration:
7070
"""Create configuration."""
7171
continent_postfix = get_continent_url_postfix(country.upper())
72+
ssl_ctx = None if ssl_context is UNDEFINED else ssl_context
7273

7374
if override_mqtt_url:
7475
url = urlparse(override_mqtt_url)
7576
match url.scheme:
7677
case "mqtt":
7778
default_port = 1883
78-
ssl_ctx = None
7979
case "mqtts":
8080
default_port = 8883
81-
ssl_ctx = ssl.create_default_context()
81+
if ssl_context is UNDEFINED:
82+
ssl_ctx = ssl.create_default_context()
8283
case _:
8384
raise MqttError("Invalid scheme. Expecting mqtt or mqtts")
8485

@@ -90,12 +91,10 @@ def create_mqtt_config(
9091
else:
9192
hostname = f"mq{continent_postfix}.ecouser.net"
9293
port = 443
93-
ssl_ctx = ssl.create_default_context()
94-
ssl_ctx.check_hostname = False
95-
ssl_ctx.verify_mode = ssl.CERT_NONE
96-
97-
if ssl_context is not UNDEFINED:
98-
ssl_ctx = ssl_context
94+
if ssl_context is UNDEFINED:
95+
ssl_ctx = ssl.create_default_context()
96+
ssl_ctx.check_hostname = False
97+
ssl_ctx.verify_mode = ssl.CERT_NONE
9998

10099
return MqttConfiguration(
101100
hostname=hostname,

0 commit comments

Comments
 (0)