mirror of
https://github.com/Dielee/volvo2mqtt.git
synced 2026-08-11 18:29:53 +02:00
Add settings validation to prevent abuse
This commit is contained in:
+2
-1
@@ -2,10 +2,11 @@ import logging
|
||||
from volvo import authorize
|
||||
from mqtt import update_loop, connect
|
||||
from const import VERSION
|
||||
from util import set_tz, setup_logging, set_mqtt_settings
|
||||
from util import set_tz, setup_logging, set_mqtt_settings, validate_settings
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
validate_settings()
|
||||
set_tz()
|
||||
set_mqtt_settings()
|
||||
setup_logging()
|
||||
|
||||
+11
@@ -136,3 +136,14 @@ def set_mqtt_settings():
|
||||
config.settings["mqtt"]["port"] = broker_port
|
||||
config.settings["mqtt"]["username"] = broker_user
|
||||
config.settings["mqtt"]["password"] = broker_pass
|
||||
|
||||
|
||||
def validate_settings():
|
||||
setting_keys = settings.volvoData["vccapikey"]
|
||||
if isinstance(setting_keys, list):
|
||||
if len(setting_keys) > 3:
|
||||
raise Exception("Settings invalid! Maximum allowed vccapikeys are three!")
|
||||
|
||||
update_interval = settings["updateInterval"]
|
||||
if update_interval < 60:
|
||||
raise Exception("Settings invalid! Minimum allowed update interval is 60 seconds!")
|
||||
|
||||
Reference in New Issue
Block a user