Skip to content

Commit

Permalink
Create ssl default context only if needed (#557)
Browse files Browse the repository at this point in the history
  • Loading branch information
edenhaus authored Aug 14, 2024
1 parent c7b8386 commit 5da23d7
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions deebot_client/mqtt_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")

Expand All @@ -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,
Expand Down

0 comments on commit 5da23d7

Please sign in to comment.